扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在该系列的第1部分中,我给出了2004年的OWASP 10大脆弱性列表。 那篇文章不久,我收到了一封来自Andrew van der Stock,OWASP的执行理事的电子邮件。信中他叫我关注即将修订的新列表。OWASP计划在三月份发布2007年10大脆弱性清单。因 此,现在我也要修订一下我的这个系列,把2007年的脆弱性包括进来。
2007年OWASP的10大排名
2004和2007年的名单有些类似,见表A。其中,未经验证的输入(Unvalidated input)、缓存溢出(buffer overflows)、不安全的配置管理(insecure configuration management),以及拒绝服务(denial of service)被去除了。另一方面,损坏的验证和会话管理(broken authentication and session management)被一分为二,作为两项列 入。
列表中包含的新脆弱性有(根据RC1):
2007年的脆弱性选取来自对MITRE 2006年脆弱性趋势进行的10大应用程序安全问题的筛选。关于2007年OWASP 10大排名,MITRE的数据如图A所示。
表 A
2007年 OWASP 10大排名 |
2004年 OWASP 10大排名 |
A1. 跨站脚本,Cross Site Scripting (XSS) |
A4. 跨站脚本Cross Site Scripting (XSS) |
A2.注入缺陷, Injection Flaws |
A6. 注入缺陷, Injection Flaws |
A3. 不安全的远程文件包含,Insecure Remote File Include (新) |
_ |
A4. 不安全的直接对象引用,Insecure Direct Object Reference |
A2. 破坏的访问控制,Broken Access Control (在2007年被分成两类) |
A5. 跨站请求伪造,Cross Site Request Forgery (CSRF) (新) |
_ |
A6. 信息泄漏和异常错误处理,Information Leakage and Improper Error Handling |
A7. 异常错误处理,Improper Error Handling |
A7. 损坏的验证和会话管理,Broken Authentication and Session Management |
A3. 损坏的验证和会话管理,Broken Authentication and Session Management |
A8. 不安全的加密存储,Insecure Cryptographic Storage |
A8.不安全的存储,Insecure Storage |
A9.不安全的通信 Insecure Communications (新) |
在A10下讨论,不安全的配置管理 |
A10. URL访问限制失败,Failure to Restrict URL Access |
A2. 损坏的访问控制,Broken Access Control (在2007年被分成两类) |
_ |
A1. 未经严整的输入,Unvalidated Input |
_ |
A5.缓存溢出,Buffer Overflows |
_ |
A9. 拒绝服务,Denial of Service |
_ |
A10. 不安全的配置管理,Insecure Configuration Management |
图A MITRE脆弱性趋势
图表之外
其中未经验证的输入被去除了,一开始让人感到有点惊讶。而且,对2004和2007年的脆弱性列表进行进行一番表面审查,也能发现这个脆弱性是很多其他弱点的共同根由。然而, 这种忽落可能并非那么非常重大,因为在2007年的列表中,许多脆弱性都把合法输入验证作为一项重要的漏洞防御措施。
溢出脆弱性(即,缓存溢出、整数溢出[integer overflow],及格式串问题[format string issue])也被忽略了,因为这些问题多出自低级别的开发语言,如C或者C++。现在最常 见的网络开发环境对这类问题不是那么敏感。图B显示的是各流行的开发环境中溢出脆弱性发生的可能性比较。
图B 溢出脆弱性发生可能性 (来自 OWASP 缓存溢出, 2006)
通过该表可以看出,很显然今天最常使用的开发语言和网络应用程序开发环境(例如,Java、.NET、Perl)都是安全的。但这不等于说,例如使用.NET技术就能让你完全免疫。编 程语言或者开发环境自身内部的错误可能也会引入些许溢出问题。
另一个企业开发应用程序时常犯的错误是,一方面依赖于开发环境(比如.NET)的安全性,一方面又调用用不安全的低级别语言(如c和c++)写成的外部工具和应用程序。用不安 全语言写的工具和应用程序数目越是巨大,如果把它们整合进入网络应用程序,那么风险也会越大。
尽管拒绝服务(DoS)攻击漏洞现在仍是问题,在MITRE的等级排名上却比较靠后,在这里不能上榜。但这不应该解释为我们可以不把DoS当回事了。
最后,不安全的配置管理同样也没能进入2007年排名。这是唯一一项我相信应该保留的脆弱性。对于确保网络应用程序可靠,维持一个安全、稳定的程序运行环境非常重要。除了 应用程序在其上运行的服务器外,其他下层架构提供的支持服务包括:
一个有效的配置管理程序是保护信息资产的关键元素。对网络的攻击都是机会主义的。换言之,盗密者总是在找容易的目标,攻陷这样的目标所需工作量最低。基础架构的配置可 能不必是网络应用程序的实际组件,但是,它必须提供一个强健的环境,让基于网络的服务得以进行。
结语
在接下来的文章中,我将探讨2007年的OWASP 10大排名。我们要看这些脆弱性排名靠前的原因,及如何防御潜在的漏洞利用。根据RC1,防御好10大脆弱性可以构建安全基础,降低 下列问题的发生可能性:
(责任编辑:陈毅东)
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者