应用程序安全性是软件开发生命周期中必不可少的部分,在当今不断发展和扩展的数字生态系统中,正确实现应用程序安全应该是重中之重。应用程序安全性是通过检测并修复应用程序代码中的安全漏洞来保护应用程序免受恶意攻击的一种做法。
如今,组织在工具和流程上投入了大量时间和金钱,这些工具和流程可帮助他们在整个软件开发生命周期中保护其应用程序的安全。随着系统变得越来越复杂,黑客不断增加针对应用程序层的工作,实现应用程序安全性已成为软件工程师,安全性和DevOps专业人员的主要挑战。
软件开发组织如何确保他们拥有适当的所有工具和流程来有效应对对应用程序安全性的许多威胁?
应用程序仍然是安全性最薄弱的环节
顶级行业研究报告的发现表明,攻击应用程序弱点和软件漏洞仍然是最常见的外部攻击方法。例如,Verizon的2020年数据泄露调查报告发现,Web应用程序是违规行为中顶级黑客的媒介。Verizon的报告断言“将Web应用程序作为这些攻击的媒介的趋势并没有消失。”
Forrester发布的2020年应用程序安全状态报告还表明,应用程序漏洞将继续是最常见的外部攻击方法,并发现大多数外部攻击都针对软件漏洞或Web应用程序。
令人不解的是,似乎大多数组织都继续投资保护其他攻击媒介。当前,在保护某些区域(如网络)方面的投资额通常与当今威胁形势下与它们相关的风险水平不一致。
根据Ponemon Institute的研究报告《企业应用程序的风险增加》表示,“应用程序安全性的投资与风险不相称。” 该研究报告还表明:“应用程序风险级别与公司为保护其应用程序而花费的资金之间存在巨大差距,而“网络风险级别远远低于对网络安全性的投资。”
为了确保有效的应用程序安全性,组织需要意识到仅对网络安全性进行大量投资是不够的,还需要确保其应用程序安全性实践逐步发展为超越原有阻塞流量的形式。
主要应用安全技术
在投资应用程序安全工具方面,市场上充满了各种新旧技术和解决方案,可帮助组织提高其应用程序安全性并确保其紧跟不断发展的威胁格局所带来的安全挑战。
Forrester的应用程序安全工具市场分类法将两个市场细分区分开来:安全扫描工具和运行时保护工具,并预测这两个类别的支出将继续增加。
每种类型的应用程序安全测试工具都专注于软件开发生命周期中的不同阶段。安全扫描工具用于在开发应用程序时纠正漏洞。当应用程序在生产中时,将执行运行时保护。重要的是,运行时保护工具提供了额外的保护层,而不是扫描的替代方案。
安全扫描工具主要用于开发中-在设计和构建阶段对应用程序进行测试。安全扫描工具的目标是预防。它们可以在生产环境中运行之前检测并修复应用程序中的漏洞。这个市场中的工具包括SAST(静态应用程序安全测试), DAST(动态应用程序安全测试),IAST(交互式应用程序安全测试)和SCA(软件组成分析)。
运行时保护工具将在生产后期推出。它们旨在防止应用程序在生产环境中运行时受到的恶意攻击。这些工具会实时做出反应以防御攻击。该市场细分为Web应用程序防火墙(WAF),漫游器管理和RASP(运行时应用程序自我保护)。
这些应用程序安全性测试技术中的每一种都有其自己的一套特性和功能,以及各有优缺点,没有任何一种工具可以完全阻挡任何恶意攻击。组织需要分析其特定需求,并选择最能支持其应用程序安全策略和策略的工具。
应用程序安全性成熟度模型
尽管获得正确的应用程序安全工具很重要,但这只是第一步。尽管当今大多数工具都将重点放在检测上,但是成熟的应用程序安全策略在缩小从检测到修复的差距上又走了几步。
考虑到已知软件漏洞的持续增加,专注于检测将使组织拥有不完整的应用程序安全模型。应用程序安全工具通常为安全和开发团队提供详尽的安全警报清单。但是,团队还需要其它方法来快速解决存在最大安全风险的问题。
为了应对最紧急的应用程序安全威胁,组织需要采用成熟的应用程序安全模型,其中包括在检测之上进行优先级划分和修复。
尽管在应用程序层中检测到尽可能多的安全问题非常重要,但考虑到当前的威胁状况和竞争性的发布时间表,尝试对其全部进行修复已变得不切实际。重要的是要记住Gartner分析师Neil MacDonald和Ian Head在Gartner成功开发DevSecOps的十件事中的声明:“完美的安全性是不可能的,零风也是不可能的。我们必须进行持续的风险和基于信任的评估,并对应用程序漏洞进行优先级排序到DevSecOps。”
成熟的应用程序安全模型包括可帮助团队确定优先级的策略和技术,并为他们提供工具,以消除对系统造成最大风险的安全漏洞,以便他们尽快解决。否则,团队最终将花费大量宝贵的时间来对警报进行分类,讨论首先要解决的问题,并冒着使最紧迫的问题无人值守的风险。
应用程序安全性成熟度模型中的下一个是修复-与技术无缝集成到开发周期中的技术,以在修复相对较容易且较便宜时帮助修复问题,并自动更新易受攻击的版本。
加快DevSecOps的应用程序安全性
随着开发周期变得越来越短,安全专业人员和开发人员在解决安全问题的同时,要跟上发布周期越来越快的步伐。应用程序安全性需求与开发速度之间的这种不断推拉通常会导致不希望安全性减慢其速度的开发人员与认为开发人员正在忽略安全性的安全性专业人员之间产生摩擦。该DevSecOps方法试图解决这一冲突,并打破开发人员与安全之间的孤岛。
DevSecOps解决了不断提高开发和交付速度而又不影响安全性的挑战。首先是DevOps,它帮助组织缩短发布周期,从而满足快速交付创新软件产品的市场需求。DevSecOps在组合中增加了安全性,在整个软件开发生命周期(SDLC)中集成了安全性,以确保安全性不会减慢开发速度,使整个应用程序开发既敏捷又安全。
DevSecOps旨在通过更新组织的应用程序安全实践,工具和团队合作,在SDLC的早期阶段无缝集成应用程序安全性。它要求左移安全测试,以帮助团队一起工作,以便在补救相对简单的情况下尽早解决开发中的安全问题。
图片
跟上不断发展的软件开发格局
随着应用程序的发展并采用新形式,恶意攻击者也会不断适应新技术和新环境。应用程序成为笨重的整体客户端/服务器庞然大物的时代已经过去,因此您的应用程序安全策略需要跟上,以防范当前对您应用程序的威胁。
攻击者通过不安全的API端点,未经验证的API负载和客户端攻击将恶意软件注入不受保护的脚本中,从而破坏了现代应用程序。云原生和框架等新架构的兴起提供了新的攻击面。安全专业人员需要调整他们的重点并解决诸如图像完整性,常见容器图像中的漏洞以及生产中容器和功能更改之类的问题。
应用程序安全性是一个不断发展的工具和流程生态系统。如果想领先于黑客并保持领先地位,则需要确保组织的应用程序安全实践与当今的软件开发技术一样先进。
扫码关注二维码,了解最新行业动态