• 0
  • 0
分享

摘要:

        随着网络攻击不断制造恐慌,我们在数字领域的应用和数据面临的威胁也越来越大。互联世界中的企业需要认识到,安全测试对于他们的web应用程序是至关重要的。他们从项目一开始就需要先进的、全面的安全测试计划,以确保安全的用户体验。下面讲讲如何开始。

        近年来,支持各种服务的Web应用程序赢得了用户的信任。由于人们认为交易是受到安全监控的,所以在平台之间加载和共享了数万亿字节的数据。

        但是,随着网络攻击持续制造恐慌,对我们在数字领域的应用程序和数据安全的威胁也越来越大。越来越多的病毒攻击事件放大了人们对强大的安全测试的需求。

        参与互联世界的企业需要认识到安全测试是对其web应用程序至关重要的关键因素。这些企业应该在项目一开始就设计先进的、全面的安全测试计划,以确保安全的用户体验。

       以下是你可以开始的方法。


一、寻找潜在的安全漏洞

        第一步是检查代码中任何可能的漏洞。有几个常见的安全漏洞领域:

    • 隐藏字段操作: 此漏洞主要用于电子商务网站。应用程序会在网页中嵌入隐藏字段,由于编码标准差,这些隐藏字段通常包含机密信息,如产品价格。

    • 跨站脚本攻击:这是最常见的漏洞之一。它会让黑客窃取会话、篡改页面、嵌入内容或将用户重定向到恶意网站。

    • 跨站请求伪造:许多开发人员忽略了随机令牌和那些包含重要数据的页面的重新认证的重要性。没有它们,攻击者可以代表用户执行操作,如添加或删除帐户受益人或修改用户配置文件。


二、逐步执行安全测试

        让我们考虑一个场景,一家公司需要对其在ASP.NET构建的应用程序进行安全测试。对测试团队的期望是什么?这里有一个循序渐进的方法,可以捕获需求的解决方案。

1. 计划和策略

        制定计划和策略应该始终是安全测试的第一步。测试人员必须了解业务背景、访问应用程序的用户数量以及应用程序的工作流程,以便确定每个场景的具体测试内容。

        在执行任何项目之前,最好与开发人员举行一次会议,以了解应用程序的流程。这有助于测试人员识别自动化工具无法识别的逻辑漏洞,例如授权旁路。

        企业应该对有多少用户会访问该应用程序有一个大概的数字。了解用户的最大数量有助于测试人员生成虚拟用户来识别任何可能的拒绝服务攻击。如今,这些攻击很容易被利用。

2. 进行威胁建模

        对应用程序的高级威胁进行建模,可以让测试人员评估可能的风险和与之相关的场景。威胁建模确定了应用程序的薄弱环节,这有助于进行针对性的测试。

        在应用程序的蓝图完成之后,技术部分开始了,开发的部件也被定义好了。它可能是编码语言、平台、技术栈等等。每个部件都有自己的弱点和优点,因此在编码阶段之前识别漏洞非常重要。这有助于确定其他更安全的选项,并大大降低修复这些选项的成本。

        例如,如果应用程序是在.NET中,了解支持应用程序的各种部件中存在的漏洞是很重要的,例如.NET版本,IIS版本等。这有助于识别业务和架构威胁。

3. 选择测试工具 

        为了评估应用程序,必须使用合适的工具。每一个开源和专业工具都有它的优点和缺点,所以工具应该选择最适合的那个。像Zed攻击代理和Nmap等开源工具也允许测试人员修改自定义脚本。

4. 发挥测试的创造性

        尽管您应该使用自动化工具来执行一些安全测试,但是随着黑客变得越来越聪明,人类在测试中跳出思维定势也是很重要的。识别逻辑漏洞是经验丰富的测试人员和普通测试人员的区别。

        例如,当涉及到HTTP访问控制时,据报道CORS机制具有较低的信息漏洞,但是如果它与CSRF结合使用,将会对应用程序产生巨大的影响。这个已经从欧洲的一家大银行那里得到了验证。另一个例子是通过主机头攻击接管帐户。在请求密码重置链接时,哪怕简单地更改主机名都可能会造成损害,因为链接的其余部分将拥有攻击者的域,他们可能会访问您帐户的密码。当开发人员忘记限制密码重置链接的重用时,可能会发生这种情况,但一个聪明的测试人员会知道该怎么做。

5. 考虑每一步的安全性

        当手动对web应用程序进行安全测试时,可能会将测试限制在选择特定的、明显的参数上,但自动化web漏洞扫描器可以确保对每个参数进行扫描以发现漏洞。然而,将安全性集成为贯穿软件开发生命周期的过程将确保应用程序更安全地发布,因为大多数缺陷将在非常早期的阶段发现并被解决。

        一旦开发完成,并利用Jenkins或任何自动化框架为测试中的应用程序构建代码,安全测试就可以自动化,IP和URL可以动态地提供给Zed Attack Proxy或w3af等开源工具或许多其他商业工具。


三、整合不同类型的安全测试

        虽然上面提到的五个步骤会很好地帮助你,但是如果你想在你的安全测试中得到更好的效果,这还有很多其他因素需要考虑。

        静态应用程序安全性测试(SAST)涉及对应用程序的内部审计,在这种情况下,安全审计员或工具可以无限制地访问应用程序的源代码或二进制文件来测试应用程序。它可以通过手动和自动完成,并检查应用程序中可能无法检测到的复杂漏洞。

        动态应用安全测试(DAST)当应用程序在测试模式或生产环境中运行时,对其进行外部测试。它有助于跟踪应用程序的快速性、灵活性和可伸缩性,以便与企业安全策略无缝集成。

        交互式应用安全测试(IAST)结合了SAST和DAST,汇集了两种方法的优点。什么类型的安全测试是有用的完全取决于业务需求和目标,但是应用这两种方法可以有效地降低网络攻击的风险。


四、保护用户的安全

        与任何类型的测试一样,web应用程序的安全测试应该从制定一个完整的测试计划和评估可能的风险、攻击开始,以便制定最有效的测试。

        虽然自动化安全测试可以减轻工作量,使过程更快、更有效,但必须有人性化的理解和预测潜在黑客的思维过程。测试人员需要在测试工作中保持创造性,以确保用户在使用产品时的安全。


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   目前大部分mysql和elasticsearch同步机制使用的插件实现的,常用的插件包为:logstash-input-jdbc,go-mysql-elasticsearch, elasticsearch-jdbc、canal。  插件优缺点对比  1. logstash-input-jdbc  logstash官方插件,集成在logstash中,下载logstash即可,通过配置文件实现mysql与elasticsearch数据同步  优点  ·能实现mysql数据全量和增量的数据同步,且能实现定时同步。  ·版本更新迭代快,相对稳定。  ·作为ES固有插件logstash一部分,易用。...
            3 3 1439
            分享
          • 工作中遇到了这样的场景,一名测试人员需要对多台移动设备进行回归测试,如何提高测试效率呢?那肯定离不开自动化啦,那有没有现成的开源工具可以支持移动端的自动化呢?有,sonic!下面阿常就来和大家分享一下 Sonic 云真机测试平台部署经验——由阿常同事整理:首先是环境准备,请看如下列表,供参考~环境准备设备:Macbook ProSonic:1.4.0-releaseMySql:5.7.27Docker:20.10.12Java:16.0.1Appium:1.22.2ADB:1.0.41Node.js:v17.4.0ChromeWebdriver:98.0.4758.102tidevice:0....
            0 0 1663
            分享
          • 测试团队不管在公司的位置如何,都应该自己主动争取自己团队内部的一致团结,作为背锅部门,我们需要时刻保持警惕,对于一些外部的问题,需要及时留存证据,以防后续有其他部门的人扯皮。1.客户/实施提出BUG的后续推进    描述:客户/实施 经常报某一类相同问题BUG,该问题实际上是产品设计时易用性不强,导致客户认为该问题为bug。测试人员可针对该类问题,提出建议邮件到产品组来解决并优化该问题。举例:考勤-加班报表月度统计数据维度问题建议    (可在邮箱搜索该邮件)   意义: 测试同学更多的发现问题并提出建议,提高测试团队主动性...
            0 0 1522
            分享
          • 在当前这个时代,直播功能还是相对比较普遍的,无论是douyin上面的直播,还是唱歌软件上面的pk或者是一些培训软件上讲师直播等。在不久之前测试的一个项目中,包含了很多课程相关的丰富功能,这里简单做个总结,重点介绍下直播功能的测试要点。课程模式分为如下三种:直播课,录播课,双师课。直播课很好理解,是先约定开课时间,然后到达时间之后,讲师上线,进行直播讲课,学员可以实时提问,课程结束之后有回放。录播课是先将课程视频制作好,然后上传到服务器,添加课程,添加章节,上传海报等,学员购买后即可观看学习,视频可以回放可以暂停可以快进。双师课跟前面两种稍微有点区别,双师课有课程学习也有实操,除了跟着线上老师进...
            1 1 22913
            分享
          • 作为知名的市场颠覆者之一,亚马逊在医疗健康领域正又一次遭遇失败。最初,亚马逊与摩根大通和伯克希尔哈撒韦共同启动了Haven项目,试图对医疗系统进行改革,但很快就宣布了终止。现在,亚马逊即将关闭远程护理服务AmazonCare。这家公司致力于在美国全国范围内为雇主解决远程医疗和初级保健问题,亚马逊也曾宣传该公司的服务正赢得越来越多的客户。这些情况是否真的证明了过去多年外界的普遍观点:与大多数行业相比,医疗行业更难颠覆?或许并非如此。不过这可能释放了一个信号,表明亚马逊在医疗健康行业的策略发生了变化。关于AmazonCare的关闭,最终问题可能是个简单的选择题:大公司,尤其是那些拥有大笔现金的公司...
            0 0 843
            分享
      • 51testing软件测试圈微信