Web应用的安全性问题一直就是信息系统防护的重要组成部分。我们注意到有这样一种发展趋势,标准化的Web用户服务软件在向Web介质方向发展,AJAX技术和其他Web2.0技术日益普及。可以确认,在线应用防护方面的现实需求在逐渐增长。 现有的统计资料使我们有可能预测使用信息系统时所产生的风险,论证所选择的对策正确与否。本文根据有关漏洞数据和对Web应用的攻击数据对Web应用软件的使用风险做一概述。
一、漏洞库
要回答发现各种问题的概率,我们可借助于漏洞库名册信息的帮助。如今,通用漏洞库(CVE)是该领域认可的行业标准。然而漏洞库名册本身条理性还不强,还需要对所得到的有效统计结果作认真的分析。
Mitre公司的分析研究专家每年都对漏洞库的信息进行分析研究并发布各种标准的漏洞分布报告。根据报告显示,2006年所发现的四分之一以上的问题正是Web应用软件中的安全问题。
其他的漏洞库也公布了类似的信息。根据俄罗斯安全实验室网站的信息显示,2007年所发现的将近40%的漏洞也正好是在Web应用中。 图1 2007年各种Web应用类型漏洞分布
尽管漏洞库中的信息从理论上来说很有意思,但它往往与实际分析的例子不相吻合。这是因为,进入数据库的信息是最常见的应用软件,它的运用非常普及。关于Web应用软件,它常常伴随着任务产生,也许仅在一个网站或唯一一项任务中开展。最近我们注意到,信息数据库公布的趋势不仅涉及常见的Web应用,还有经常使用的on-line服务。例如,人人都用的电子邮箱系统、搜索系统和公共网络等等。然而,与惯例相比,这是个较大的例外。因此,要回答“Web应用漏洞发现的概率到了何种程度”的问题,没有漏洞库的帮助是不可能的。
二、系统防护状况分析
现有各种各样的防护手段,例如,利用源代码信息去分析和评估Web应用的安全状况。这种方法通常被在软件安全领域具有丰富经验的咨询公司采用。
类似的报告例子有Positive Technologies(PT)公司的《Web应用软件漏洞统计》报告和WhiteHat Security(WH)公司的季度研究报告《网络安全统计》。两个报告有着相同的结构,内容包括通过渗透性测试、安全审核等手段得到的Web应用的漏洞统计。为了得到数据使用了各种手段,从Web应用扫描到“白盒”测试,包括对部分源代码的分析。
两个报告使用的是Web应用安全协会(Application Securty Consortium)网络安全威胁分类(Web Security Threat Classification)的漏洞分类法。在《网络安全分类》这个文件中集聚了各种Web应用的安全威胁。方案力图制定和普及Web应用安全问题描述的标准术语。常见的Web应用漏洞分为六种,其中每一种又包括若干种漏洞和攻击类型。目前准备发布分类法的第二稿,内容包括十种威胁。两个报告使用了《网络安全威胁分类》(第二版)的要素来描述像“HTTP响应截断”和“HTTP请求伪造”(跨站请求伪造)这些问题。
有趣的是,两个数据报告不仅结构相似,而且结果也相似。两份报告认为最常见的漏洞是跨站脚本。根据PT公司(Positive Technologies)的说法,74%的网站发现有这种漏洞(见图2);在WH公司(WhiteHat Security)用户里,65%的事件是跨站脚本。
最常见的高风险级别漏洞是什么呢?两个公司都认为是“SQL注入”,其发现概率PT公司是31%,WH公司是16%。为什么WH公司的发现概率较小,WH解释为是因为西方市场的高度成熟和利用同一个用户的应用软件的重复检查结果。遗憾的是,大多数俄罗斯的Web应用的主管们还处在信息安全管理过程的初级阶段。
在某些网站,“信息泄露”类的漏洞数量也很严重(PT公司的发现数是90%,WH公司是40%)。这是因为WH公司仅将现有的“危急”、“紧急”和“高危”风险级的漏洞列入报告,而PT公司是同时将所有找到的缺陷都计算在内。 图2 PT公司各种漏洞的发现概率 图3 WH公司各种漏洞的发现概率
三、风险等级评估
与应用软件漏洞相关的风险等级的分类问题是个重要的课题。目前有多种漏洞风险评估的工作方法,但最常见的有以下三种:
1.“红绿灯”分类评估法,把漏洞划分为“高”、“中”、“低”风险级别;
2. PSI DSS标准的五级格式评估方法,它把漏洞划分为“特危”、“紧急”、“高危”、“中危”和“低危”五级。
3. 通用漏洞评估系统(Common Vulnerability Scoring System(CVSS))方法,评估风险级别从0到10。
每种方法的优缺点我们先暂且不论,可挑出下列影响评估的可靠性的下列特点: 1. 取决于上下文; 2. 取决于系统配置; 3. 取决于划分方式。
在各种应用软件中,一种类型的漏洞就有多种风险级别。譬如,“HTTP请求伪造”漏洞可能对典型的网站或搜索设备就没有威胁,而相反,像电子邮箱或付款系统的Web界面(接口)中就有高级别风险问题。由于信息泄露,攻击者能够访问应用的工作日志(低或中级别风险),而且还能下载网站源文件的备份副本(高级别风险)。
具体的系统配置也能给予风险级别以严重的影响。如“SQL注入”漏洞,通常列为高风险。如果,Web应用在使用限制优先权的数据库控制系统的情况下,其漏洞风险就可归到中级或低级风险级别里。在其他的设置情况下,这个漏洞可能被利用来得到许可,以进入享有超级使用权的操作系统,自然这个漏洞是最危险的。
通过深入分析,一种级别和一个漏洞可能评估结果各种各样。如果举上面“SQL注入”的例子,使用网络扫描器仅能够确认问题的存在。为了确定潜在攻击者获得的特权,要求或者尝试利用错误,或者使用“白盒”方法弄清楚Web应用与数据库控制系统之间的相互关系。
每一种评估方法都使用自己的情况显示统计手段。这在“红绿灯”评估中是抽象的《评审意见》,在通用漏洞评估系统中是权重系数,但在任何情况下,方法和深刻分析都会给风险评估带来重大影响。这个情况在漏洞报告和数据统计中必须要注意。
四、国际统计报告
在使用各种分析方法和风险评估手段和某些原始数据的统一问题上,Web应用安全协会国际小组的Web应用安全统计项目具有非常现实的意义。这个项目的原始数据是由使用类似系统防护分析手段的Cenzic, Positive Technologies, SPI Dynamics 和WhiteHat Security公司提供的。
在任何情况下,Web应用安全统计项目都是规模最大的部门项目,包括31373个应用软件,占2006年因特网全部网站的0.03%。
五、攻击的概率
然而,发现漏洞的概率不是威胁(攻击)发生的概率,但它是风险评估标准模式所要求的。要想得到关于事件的真实数据是非常难的。主要通过两个途径:事件信息记录和借助蜜罐技术帮助的攻击记录,或者反病毒扫描。
作为第一种有意思的例子引自Zone-H网站和Web黑客事件数据库。Zone-H网站记录了损害Web应用的后果。通常,攻击者将含有“破解之类”的攻击信息录成压缩文件。 Web Hacking lncidents Database 数据库在所获得的大量信息基础上得到补充。与此同时,技术细节又不具体,但是成功攻击的对象数量却非常可观。往往在攻击事件的信息中,有评估攻击后果的信息。在《网络安全威胁报告》和《分布式开放代理追踪黑客》方案中提到的最可能的攻击方式是使用蜜罐技术。
六、结 论
目前现有的公开信息资料给予Web应用软件漏洞的风险评估提供了坚实的基础。各种文献利用各种数据和他们各自的解释方法。于此同时,关键是为解决具体的任务而选择最适合的工具。
当然,我们不应忘记,Web应用漏洞不仅仅是应用技术问题,还有网络的日常管理问题。众多的安全事件经常与网站管理的口令被盗有关,或是与全体员工有关的其他各种问题。