从网上电子邮件到网上购物和网上银行, 组织每天都将他们的业务直接带到客户的网络浏览器上, 避免了复杂安装或更新部署的需要. 另外, 组织正在推出内部的金融web应用程序, 营销自动化, 甚至是内部沟通,往往是土生土长的, 或者至少根据他们的特殊需求进行微调.
而web应用程序为企业和客户提供了便利, 它们的无处不在使它们成为网络罪犯的热门攻击目标. 因此, Web应用程序安全性 测试,或扫描和测试web应用程序的风险,是必不可少的.
正如2018年威瑞森数据泄露报告所示, 在已确认的数据泄露事件中,Web应用程序是一个很受欢迎的攻击目标, 在某些行业,高达41%的数据泄露与网络应用程序有关. 该报告还发现,大约一半的网络应用程序相关漏洞需要几个月或更长时间才能被安全团队发现. 攻击者访问系统的时间越长,造成的损害就越大. 必须尽快发现并清除攻击者, 但这往往说起来容易做起来难.
随着攻击者越来越多地瞄准web应用程序, 他们能够改进和测试他们的方法, 增加他们的复杂性. 即使公司遵循最佳实践来保护自己免受常见的web应用程序攻击, 这可能还不够. 入侵web应用程序对犯罪分子来说是有利可图的——他们有动机使用最新最好的攻击方法和工具, 他们背后可能有有组织犯罪的资源. 这种力量对于一个企业来说很难单独对抗.
Web应用程序也可能非常复杂,以至于它们会混淆那些能够自动检测攻击者入侵的系统. That is why common tools like intrusion detection alone aren’t sufficient; Web应用程序安全性 testing can fill the gaps.
动态应用安全测试(DAST): A DAST 方法包括寻找攻击者可能试图利用的web应用程序中的漏洞. 这种测试方法的作用是找出攻击者可能针对的漏洞,以及他们如何从外部侵入系统. 动态应用程序安全测试工具不需要访问应用程序的原始源代码, 因此,使用DAST进行测试可以快速频繁地完成.
静态应用安全测试(SAST): SAST采用一种由内而外的方法, 意思是不像过去, 它查找web应用程序源代码中的漏洞. 因为它需要访问应用程序的源代码, SAST可以提供web应用程序安全性的实时快照.
应用渗透测试: 应用程序 渗透测试 涉及到人的因素. 安全专业人员将尝试模仿攻击者如何使用他们的个人安全知识和各种渗透测试工具闯入web应用程序,以找到可利用的漏洞. 如果您没有内部资源,您也可以将web应用程序渗透测试服务外包给第三方.
1)如果系统是业务关键型的,应该经常对其进行测试: 任何存储客户数据(包括信用卡号码)的系统, 个人身份信息(PII), or any other sensitive information—should be tested for security vulnerabilities; in fact, 这通常是许多政府或行业规定的遵从性指导方针的要求. 在您的组织中查看web应用程序安全测试的潜在范围时,请记住这一点.
2)在软件开发生命周期中越早测试安全性越好: 您不希望将安全性测试作为软件开发的最后一步——这是不可避免的, 漏洞会被发现,这可能会给开发和维护过程带来很大的麻烦. 尽早将安全性引入流程 SDLC, 最好是开发运营(DevOps)团队的全面参与, 简化响应, 最小化风险, 并尽量减少花费在补救上的任何成本或时间.
3)通过优先处理修复和bug修复让开发团队保持在正轨上: web应用程序安全测试的输出通常是开发人员在某些时候需要处理的项目列表. 安全部门称其为漏洞,但开发部门称其为bug. The key is to not simply drop a list of these issues into a DevOps team’s lap; instead, 确保对漏洞进行优先排序,并与适当的bug跟踪系统完全集成, 以便最大限度地缩短补救时间.
Web应用程序安全性比以往任何时候都更加重要. 通过实现 应用程序安全测试程序,企业可以显著降低风险,并帮助保护系统免受攻击者的攻击.