源代码审查案例

日期: 2011-03-20 作者:Michael Cobb翻译:Sean 来源:TechTarget中国 英文

如果你已经拥有了内部专业知识,那么为了你满足你的合规要求,Web应用防火墙(WAF)似乎是一个简单的选择。但是对于IT安全来说,永远没有这么简单的方法。例如,Web应用防火墙不能防止应用程序的逻辑缺陷所带来的损害。如今的Web 2.0应用使用了大量动态代码,想想这些Web 2.0应用的复杂度,逻辑缺陷很容易发生。

  面对这种情况,代码审计的好处就显现出来了。通过在代码级解决问题,你可以减少安全性相关的设计、编程缺陷或其他有严重危害的缺陷。通过更新程序版本,动态地提高应用程序的整体安全。   有四种代码审查方式符合PCI DSS要求:   • 手动审查应用程序源代码  • ……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

如果你已经拥有了内部专业知识,那么为了你满足你的合规要求,Web应用防火墙(WAF)似乎是一个简单的选择。但是对于IT安全来说,永远没有这么简单的方法。例如,Web应用防火墙不能防止应用程序的逻辑缺陷所带来的损害。如今的Web 2.0应用使用了大量动态代码,想想这些Web 2.0应用的复杂度,逻辑缺陷很容易发生。

  面对这种情况,代码审计的好处就显现出来了。通过在代码级解决问题,你可以减少安全性相关的设计、编程缺陷或其他有严重危害的缺陷。通过更新程序版本,动态地提高应用程序的整体安全。

  有四种代码审查方式符合PCI DSS要求:

  • 手动审查应用程序源代码
  • 源代码自动分析工具
  • 手动web应用安全漏洞评估
  • Web应用安全漏洞自动评估工具

  源代码审查可能是最彻底的一个选择。分析师会检查数据在程序中的确切流向,一切都逃不过他的眼睛。分析师会考虑程序域的特殊属性,如信用卡号码和个人资料,从而全方位地识别出所有的安全漏洞。

  这种方法的主要缺点是,要找到那些使用最广泛的Web应用程序的所有漏洞,过程费时且昂贵。需要有技术和经验的工程师,要求在应用程序开发和安全方面有大量的专业知识。虽然准确的花费因程序复杂度而异,但你仍有可能为此付出数万美元的成本。请记住,源代码审查并不要求如防火墙那样的维护和保养水平(尽管需要对未来版本的源代码进行审查,但是你的开发者仍然需要具备修改已发行的漏洞的能力)。

  如果审查人员接受过程序代码评估方面的训练,并且不是程序的开发人员,那么他的审查资格就符合PCI标准的要求。

  不过,只有那些经常需要开发自己的应用程序的大型企业,才能在经济上承受专用的代码审查人员。

  PCI标准还批准“正确地使用应用程序源代码自动分析(扫描)工具”和“正确地使用Web应用程序安全漏洞自动评估(扫描)工具”。尽管静态分析工具不能测试应用程序在多大程度上符合安全政策,也不能像手动代码审查那样找出应用程序中的后门,但是他们可以缩短审查大型的、复杂的应用程序的时间。

  此类工具的高端产品使用复杂的功能,如数据流分析、控制流分析和模式识别等,确定潜在的安全漏洞。我说潜在的,是因为分析结果可能会包含大量误报。优点是它们可以分析高度复杂的代码,并能找出分析关注的问题。这种特性使得这类工具物有所值。

  代码审查物有所值

  先不管称代码审查为“漏洞评估”是否正确,代码审查能够提供一种满足规章要求的更加物有所值的方法。许多人会争论说,应用程序变得如此复杂,还有许多方法比代码审查更符合实际。漏洞评估能揭示弱点和漏洞,但这些漏洞既可能被不受信任的外部人员利用,也可能被授信的用户误用。同样的,敏感数据未加密这类问题不会被检测出,因为应用程序用户界面是唯一的攻击向量。此外,在产品测试环境中测试应用程序,这不一定可行,且往往很昂贵。

  作为自行审查代码和使用商业评估套件的折中,你可以使用开源的Web安全测试工具。你可以在开放Web应用安全项目(Open Web Application Security Project)中找到许多此类工具。

  当你开始审视这个市场时,你会发现,一些你买的自动化工具能给你提供灵活的服务,使得审查过程简单而又节省成本。将你的测试工作外包给分析专家——如Veracode或者WhiteHat安全公司——在某些方面意义重大:你不用再去安装和学习使用某一应用程序,还可以从专业的测试人员那里获得有益的结果。

  无论是外包测试还是使用内部管理测试,你需要记住的是两者都是有局限的,而攻击是没有限制的。例如,你的供应商可能会很不乐于见到你深入他的网络,仅仅是为了确定你是否能用它侵入你自己的网络。但是攻击者是不会有任何犹豫的。

翻译

Sean
Sean

相关推荐