随着网络威胁变得更加强大和普遍,组织时刻检查应用程序中的安全漏洞至关重要。
应用程序安全性是通过查找、修复和增强应用程序安全性来使应用程序更安全的过程。这大部分发生在其开发阶段,但其中包括在应用程序部署后对其进行保护的一些工具和方法。随着黑客越来越多地攻击组织采用的应用程序,这一点变得越来越重要。
应用程序的安全性引起了很多关注。数百种工具可用于保护应用程序组合的各种元素,从锁定编码更改到评估无意的编码威胁,评估加密选项以及审核权限和访问权限。如今具有专门的工具用于移动应用程序、基于网络的应用程序以及专门为网络应用程序设计的防火墙。
为什么应用程序安全很重要
根据Veracode公司发布的软件安全状态第10卷调查报告,在该公司测试的85000个应用程序中,83%的应用程序至少有一个安全漏洞。很多应用程序拥有更多的漏洞,因为他们的研究发现这些应用程序中总共有1000万个漏洞,20%的应用程序至少有一个很严重的漏洞。并非所有这些漏洞都会带来重大的安全风险,但其数量之多令人不安。
在软件开发过程中,组织发现并修复安全问题的速度越快,其业务就越安全。因为每个人都会犯错误,所以组织面临的挑战是及时发现这些错误。例如,一个常见的编码错误可能允许未经验证的输入。这个错误可能会变成SQL注入攻击,如果黑客发现之后就会导致数据泄漏。
集成到应用程序开发环境中的应用程序安全工具可以使此过程和工作流更简单、更有效。如果组织正在进行合规性审核,这些工具也很有用,因为它们可以在审核人员看到问题之前发现问题,从而节省时间和费用。
在过去几年中,企业应用程序的构建方式不断变化,这推动了应用程序安全领域的快速增长。如今,IT部门需要数月时间来完善需求、构建和测试原型,并将最终产品交付给最终用户的日子已经一去不复返了。现在这个想法似乎有些过时。
取而代之的是,组织如果采用持续部署和持续集成的新的工作方法,这些方法每天(有时是每小时)优化应用程序。这意味着安全工具必须在这个瞬息万变的世界中工作,并迅速发现代码问题。
调研机构Gartner公司在2018年9月发布的有关应用程序安全炒作周期报告中表示,IT管理人员需要识别常见的应用程序开发安全性错误,并防止常见的攻击技术。他们提供了十几种不同类别的产品,并描述他们在“炒作周期”中的位置。
其中许多类别仍在出现,并采用相对较新的产品。这表明,随着威胁变得更加复杂、更加难以发现,并且对企业的网络、数据和企业声誉的潜在损害更加严重,市场正在迅速发展。
应用程序的安全工具
虽然应用安全软件产品种类繁多,但问题的关键在于两个方面:安全测试工具和应用屏蔽产品。前者拥有一个较为成熟的市场,拥有数十家知名厂商,其中一些是软件行业的巨头,如IBM、CA和MicroFocus。这些工具非常完善,以至于Gartner公司创建了其魔力象限,并对其重要性和成功进行了分类。诸如IT中心站之类的评论网站也已经能够对这些供应商进行调查和排名。
Gartner公司将安全测试工具分为几个大类,它们对于确定保护应用程序组合所需的方式很有帮助:
- 静态测试,在开发过程中的固定点分析代码。这对于开发人员在编写代码时检查他们的代码很有用,以确保在开发过程中引入安全性问题。
- 动态测试,它分析正在运行的代码。这更有用,因为它可以模拟对生产系统的攻击,并揭示使用系统组合的更复杂的攻击模式。
- 交互式测试,结合了静态和动态测试的元素。
- 移动测试是专门为移动环境设计的,可以检查攻击者如何利用移动操作系统及其上运行的所有应用程序。
查看测试工具的另一种方法是如何通过内部部署工具或通过基于SaaS的订阅服务(在其中提交代码进行在线分析)来交付它们。有些甚至两者都做。
一个警告是每个测试供应商都支持的编程语言。有些将其工具限制为仅一种或两种语言(通常Java是一个安全的选择)。其他人更多地参与Microsoft .Net领域。集成开发环境(IDE)也是如此:某些工具可以作为这些集成开发环境(IDE)的插件或扩展来运行,因此测试代码就像单击按钮一样简单。
另一个问题是,任何工具是与其他测试结果隔离的,还是可以将它们合并到自己的分析中。IBM公司是少数几个可以从手工代码审查、渗透测试、漏洞评估和竞争对手测试中导入发现的公司之一。这可能会有帮助,特别是如果企业有多个工具需要跟踪。
此外,不要忘记应用屏蔽工具。这些工具的主要目的是加强应用程序的安全性,从而使攻击更加困难。这是一个不太明确的地区。在这里,会发现大量小型点产品的集合,在许多情况下,这些产品的历史和客户群都很有限。这些产品的目标不仅是测试漏洞,还可以积极防止组织的应用程序损坏或受到破坏。它们包括几个不同的大类:
运行时应用程序自我保护(RASP):可以将这些工具视为测试和屏蔽的组合。它们提供了防止可能的逆向工程攻击的措施。运行时应用程序自我保护(RASP)工具会持续监视应用程序的行为,这在移动环境中非常有用,当移动环境可以重写应用程序,在手机上运行应用程序或滥用权限将其转变为恶意行为时,该功能尤其有用。运行时应用程序自我保护(RASP)工具可以发送警报,终止错误流程或在发现受到威胁时终止应用程序本身。
运行时应用程序自我保护(RASP)可能会成为许多移动开发环境中的默认设置,并作为其他移动应用程序保护工具的一部分内置。期望看到拥有可靠运行时应用程序自我保护(RASP)解决方案的软件供应商之间有更多联盟。
- 代码混淆:黑客经常使用混淆方法来隐藏其恶意软件,现在,工具使开发人员可以执行这种操作,以帮助保护其代码免受攻击。
- 加密和防篡改工具:这些是其他方法,可以用来阻止恶意分子获取对代码的了解。
- 威胁检测工具:这些工具检查组织的应用程序运行的环境或网络,并对潜在威胁和滥用的信任关系进行评估。某些工具可以提供设备“指纹”,以确定手机是否已存在威胁或遭到破坏。
应用程序安全挑战
问题是,IT技术必须确保用户的应用程序安全。他们首先必须满足不断发展的安全和应用程序开发工具市场要求,但这只是切入点。
随着越来越多的企业更深入地研究数字产品,他们的应用程序组合需求也将演变为更复杂的基础设施,因此IT部门还必须预测业务需求。他们还必须了解如何构建和保护SaaS服务。这是一个问题,因为最近对500位IT管理人员进行的调查发现,很多人缺乏软件设计知识。该报告指出,“首席信息官可能会发现自己处在组织高层领导地位,因为他们要对降低复杂性、保持预算,以及他们加快现代化以适应业务需求负责。”
最后,应用程序安全性的责任可能会分散到组织IT运营中的多个不同团队中:网络人员可能负责运行Web应用程序防火墙和其他以网络为中心的工具,服务器工作人员可能负责运行面向端点的测试,各个开发小组可能还有其他顾虑。这使得很难提出一种可以满足每个人需求的工具,这就是市场变得如此分散的原因。
应用程序安全性趋势
在2019年1月,Imperva公司发布了其Web应用程序漏洞状态。总体调查结果是肯定的。尽管Web应用程序漏洞的数量持续增长,但这种增长正在放缓。
这主要是由于物联网漏洞的减少,2018年只报告了38个新漏洞,而2017年为112个。另一方面,API漏洞在2018年增加了24%,但不到2017年56%的增长率的一半。
根据Imperva公司的调查报告,出现更多漏洞的另一个领域是内容管理系统,尤其是Wordpress。该平台报告的漏洞数量增加了30%。
该报告指出,尽管Drupal内容管理系统不如Wordpress流行,但由于存在两个漏洞:Drupalgeddon2(CVE-2018-7600)和Drupalgeddon3(CVE-2018-7602)成为网络攻击者的主要目标。两者都允许攻击连接到后端数据库,使用恶意软件扫描并感染网络和客户端,或者挖掘加密货币。Imperva公司声称在2018年阻止了使用这些漏洞的超过50万次攻击。
Veracode公司的调查报告显示最常见的缺陷类型是:
- 信息泄漏(64%)
- 密码问题(62%)
- CRLF注入(61%)
- 代码质量(56%)
- 输入验证不足(48%)
- 跨站点脚本(47%)
- 目录遍历(46%)
- 凭证管理(45%)
而这些百分比代表测试的应用程序中的普遍性。自从10年前Veracode公司开始跟踪这些漏洞以来,上述所有漏洞的发生率都在增加。
Veracode公司研究发现的一个积极趋势是,应用程序扫描在修复应用程序缺陷的速度和时间上有很大的不同。总体修复率(尤其是针对高严重性缺陷的修复率)正在提高,达56%,高于2018年的52%,严重性最高的漏洞修复率为75.7%。经常扫描和测试软件的DevSecOps方法将减少修复缺陷的时间。每年扫描12次或更少的应用程序的维修时间平均为68天,而每天或更长时间的平均扫描时间将降低到19天。