科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道OWASP要素增强Web应用程序安全(2)

OWASP要素增强Web应用程序安全(2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

OWASP一直在更新它的10大脆弱性排名。先前已有发表有关2004年OWASP十大排名的文章,这里笔者想深入探究这些OWASP相信会给网络应用环境带来最高风险的10大脆弱性。

作者:ZDNet China 2008年4月14日

关键字: 安全管理 Web安全

  • 评论
  • 分享微博
  • 分享邮件
OWASP一直在更新它的10大脆弱性排名。先前已有发表有关2004年OWASP十大排名的文章,这里笔者想深入探究这些OWASP相信会给网络应用环境带来最高风险的10大脆弱性。

在该系列的第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):

  • A3.不安全的远程文件包含(Insecure Remote File Include):对远程文件包含易感的代码允许攻击者包含进入恶意的代码和数据,最后导致破坏性攻击,比如,服务器被完 全攻陷。

  • A5.跨站请求伪造(Cross Site Request Forgery ,CSRF):跨站请求伪造攻击会强制一个已登录受害者的浏览器向易受攻击的网络应用程序发送预验证(pre-authenticated )的请求,然后受害者的浏览器开始执行恶意行为,为攻击者谋利。

  • A9.不安全的通信( Insecure Communications):敏感信息总需要保护,可应用程序却常常在给网路交通加密时失败。

    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

  • OWASP要素增强Web应用程序安全(2)图A MITRE脆弱性趋势

    图表之外
    其中未经验证的输入被去除了,一开始让人感到有点惊讶。而且,对2004和2007年的脆弱性列表进行进行一番表面审查,也能发现这个脆弱性是很多其他弱点的共同根由。然而, 这种忽落可能并非那么非常重大,因为在2007年的列表中,许多脆弱性都把合法输入验证作为一项重要的漏洞防御措施。

    溢出脆弱性(即,缓存溢出、整数溢出[integer overflow],及格式串问题[format string issue])也被忽略了,因为这些问题多出自低级别的开发语言,如C或者C++。现在最常 见的网络开发环境对这类问题不是那么敏感。图B显示的是各流行的开发环境中溢出脆弱性发生的可能性比较。

    OWASP要素增强Web应用程序安全(2)图B 溢出脆弱性发生可能性 (来自 OWASP 缓存溢出, 2006)

    通过该表可以看出,很显然今天最常使用的开发语言和网络应用程序开发环境(例如,Java、.NET、Perl)都是安全的。但这不等于说,例如使用.NET技术就能让你完全免疫。编 程语言或者开发环境自身内部的错误可能也会引入些许溢出问题。

    另一个企业开发应用程序时常犯的错误是,一方面依赖于开发环境(比如.NET)的安全性,一方面又调用用不安全的低级别语言(如c和c++)写成的外部工具和应用程序。用不安 全语言写的工具和应用程序数目越是巨大,如果把它们整合进入网络应用程序,那么风险也会越大。

    尽管拒绝服务(DoS)攻击漏洞现在仍是问题,在MITRE的等级排名上却比较靠后,在这里不能上榜。但这不应该解释为我们可以不把DoS当回事了。

    最后,不安全的配置管理同样也没能进入2007年排名。这是唯一一项我相信应该保留的脆弱性。对于确保网络应用程序可靠,维持一个安全、稳定的程序运行环境非常重要。除了 应用程序在其上运行的服务器外,其他下层架构提供的支持服务包括:

  • 数据存储(Data storage)
  • 目录服务(Directory services)
  • 邮件(Mail)
  • 消息(Messaging)

    一个有效的配置管理程序是保护信息资产的关键元素。对网络的攻击都是机会主义的。换言之,盗密者总是在找容易的目标,攻陷这样的目标所需工作量最低。基础架构的配置可 能不必是网络应用程序的实际组件,但是,它必须提供一个强健的环境,让基于网络的服务得以进行。

    结语
    在接下来的文章中,我将探讨2007年的OWASP 10大排名。我们要看这些脆弱性排名靠前的原因,及如何防御潜在的漏洞利用。根据RC1,防御好10大脆弱性可以构建安全基础,降低 下列问题的发生可能性:

  • 钓鱼攻击(Phishing attack),它能够利用上述所有10个脆弱性,尤其是XSS、低强度或者不存在的鉴别(authentication)或者授权检查(authorization check)。

  • 隐私侵犯(Privacy violation),这由不充分的合法性检查、不完善的商业规则、和不够强的授权检查造成。

  • 身份盗窃(Identity theft),这由弱或者没有加密控制、远程文件包含,及鉴别、商业规则和授权检查的问题造成。

    (责任编辑:陈毅东

      • 评论
      • 分享微博
      • 分享邮件
      邮件订阅

      如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

      重磅专题
      往期文章
      最新文章