支付卡行业数据安全标准(PCI DSS)的6.6部分成为必要条件已经过去一年多了。PCI6.6章节要求处理信用卡交易的组织解决Web应用安全,它要求公司要么实施人工或自动的源代码评审,要么在Web应用和客户终端间安装Web应用防火墙(WAF)。
Web应用是流行的被攻击对象。SQL注入攻击正变得日益猖獗,并因为利用漏洞经常能够直接访问组织的敏感数据而更加危险。
PCI安全标准委员会强制规定2008年6月30日是遵从PCI6.6章节的最后期限,之前的18个月它只是建议遵从。这催促组织解决Web应用安全,而且对于那些小型的3级或4级商家来说是个压力,它们可能没有资源或专业技能来实施源代码评审或正确地配置Web应用防火墙。
人工的源代码评审代价十分昂贵并且耗时。自动的漏洞扫描器相对好些,但仍然加重了负担。与此同时Web应用防火墙可能是满足合规检查最快速的方法,但是一些专家表示除非组织足够成熟能解决其专有的软件的问题,这才会是一个合适的出发点。
IBM Rational的安全研究主任Danny Allan说道,“许多组织开始用Web应用防火墙来达到检查标准。从安全角度来说这不一定提高了标准,但它们会满足合规的要素。”
Allan指出,组织应该两者兼顾,但是最有可能的情况是组织纠缠于如何比较PCI 6.6提供的两个选择并决定哪一个是最直接的方法。
Allan说道,“这没有正确答案,一些人推荐开始时使用Web应用防火墙,但是WAF需要正确地配置来发挥作用。如果你处于一个变化不定的环境(应用不断变化并日益复杂),那么这需要相当多的时间来配置。并且最终这不过是权宜之计,应用仍然存在问题。”
Web应用防火墙,也被称为数据包深度检测防火墙(deep-packet inspection firewalls),用来检查应用层的消息是否违反了已建立的安全策略。一些防火墙提供了基于签名的保护,同时其它一些基于应用的行为建立合适的基线并监控偏离现象。它们以软件或者硬件的形式提供。WAF努力侦测到某些类型的攻击因为它们并不总是理解应用接收输入时的上下文情景,如果WAF认为流量违反策略的话,合法的流量可能会被丢弃。同样,一些工具无法侦测到一些严重的Web应用威胁如跨站点脚本攻击。
Allan说,“在我看来你们想同时做到6.6部分的选项,但是这就像将苹果和桔子进行比较。在短期看来哪个会给你更大的响声呢?这是一个需要回答的问题”。
PCI知识库的建立者和PCI安全厂商联盟的研究主任David Taylor说,“如果能让他们达标的话,小型的商家会趋向于使用WAF。这就是目前的状况,这没有错;这是最划算的方法。我不会建议3级或者4级的商家去花费更多的钱。”
与此同时,源代码评审是理想的解决方案。曾经有段时间专家们鼓励组织在软件的开发生命周期中加入安全的考虑。自动化的漏洞扫描器能测试应用的漏洞,特别是那些在开放Web应用安全工程(OWASP)网站上排名前10的缺陷。事实上,PCI DSS6.5章节表明,Web应用应该基于类似OWASP这样的指导方针进行开发,并且应用应该对比每年都更新的10大漏洞以确保安全。
Fortify公司的产品及服务部高级副总裁Barmak Meftah表示,开发人员通常回避安全,因为这妨碍了开发效率和功能。人工的评审是困难的,尽管有时为了在一个应用的语义上下文环境中捕捉问题是必不可少的。除了费用以外,人工的评审经常需要检查几十万行代码,并且实际上几乎不可能遵循应用所有的逻辑路径。
他解释说,“黑客掌握的主要漏洞类型是输入字段——键入一个畸形的输入然后让应用做你意想不到的事情。这个数据包使用你意料之外的不同路径,而要完全理清头绪几乎是不可能的。”
IBM Rational的Allan表示,最大的状况是组织需要在通盘考虑漏洞管理的背景下看待6.6合规要求。
Allan说道,“安全的威胁每天都在变化。PCI6.6章节是一个策略性的方法:我如何在这个今天会完全不同于明天的、不断改变的环境下解决安全攻击的问题?这是关系到编写良好的、有质量的代码。如果我们不停地关注安全方面而不是去编写有质量的应用,我们将永远在追赶安全漏洞。”