您当前所在的位置:首页 / 新闻中心 / 行业资讯
新闻中心
行业资讯
常见问题
知识百科
产品技术

源代码审计或自动Web应用程序漏洞扫描?

发表于:2019-01-11

扫描Web应用程序漏洞与静态源代码审计:选择最合适的解决方案

Web应用程序安全空间中存在相当多的术语,有时难以准确理解特定术语的含义以及它与类似术语的关系。我们最近被问到的一个这样的例子是“源代码审计”这个术语。我们认为我们将概述源代码审核究竟是什么以及它的使用方式因具体情况而异。

了解源代码审核如何与您的整体安全状态相关联,甚至与Web应用程序安全扫描程序结合使用以尝试识别和消除所有Web应用程序漏洞也可能有所帮助

什么是源代码审计?

源代码审计是分析和评估任何网站,Web应用程序,Web服务或任何其他软件的源代码的结构化方法。大多数情况下,此过程在开发期间或在进入生产环境之前完成。

虽然源代码审计可以用于寻找安全漏洞和漏洞之外的其他目的,例如查找错误或评估最佳实践,但就本文而言,我们将讨论静态代码分析(SCA),因为它与评估静态环境中的安全漏洞(即应用程序未运行)。

在大多数情况下,代码审核涉及手动分析和自动化工具的组合。由于审核员直接检查源代码,因此他们通常比开发人员本身拥有更深入的知识 - 特别是在涉及安全漏洞时。

审计人员经常使用能够扫描代码并提供详细分析的自动化工具。虽然一些工具能够扫描多种语言,例如VisualCodeGrepper,但其他工具是特定于语言的,例如RIPS(PHP),FlawFinder(C / C ++)或Brakeman(Ruby on Rails)。还有一些工具也可以在集成开发环境中使用,从而进一步简化流程。

源代码审计如何与Web应用程序安全扫描程序不同?

在这篇文章中,我们将源代码审计视为在静态环境中发生的过程。虽然这个过程没有任何内在错误,但Web应用程序最终将从开发转移到实时环境是不可避免的。

源代码审计和Web应用程序安全扫描程序之间存在两个主要区别,这些区别很重要:

  1. 一旦Web应用程序上线,测试也应该在该实时环境中进行。这是静态源代码审计和Web应用程序安全扫描程序之间的关键区别。Web应用程序安全扫描程序在实时环境中运行 - 尝试实时识别和利用安全漏洞

  2. 第二个区别(以及上面第一个的细微差别)是源代码审计查看实际源代码以试图发现潜在的错误或漏洞。Web应用程序安全扫描程序不查看代码。相反,它“攻击和探测”Web应用程序本身,因此它们也被称为黑盒扫描程序。

虽然源代码审计是专门查看代码,但渗透测试人员可以选择查看代码或尝试以与黑客相同的方式渗透Web应用程序的面向公众的部分。

这是一个通常被称为“首先攻击您的网站”的概念,并且是Web应用程序扫描程序做得非常好的一个概念 - 通过攻击Web应用程序的前端来有效地模拟黑客。

源代码审核是否优于Web应用程序安全扫描程序?

这个问题的答案是肯定和否定。与大多数Web应用程序安全问题一样,从来没有“一刀切”的解决方案。在几乎所有情况下,理想的方法都是多方面的。

源代码审计的优点和缺点:

源代码审核提供了多种好处。如果处理得当,它们由高技能的审计人员执行,他们对适用的编程语言和各种安全漏洞有广泛的了解。

源代码审计还需要了解第三方软件库,因为它们经常使用,它们倾向于包含0天的安全漏洞以及开发人员无法使用最新和最安全的版本。

所需的知识程度也可能带来一些挑战。并非每个审核员都能够审核您的Web应用程序。对于任何一个人而言,只有太多的语言才能熟练掌握。

就其本质而言,源代码审计是耗时的。如果您认为熟练且知识渊博的审核员能够每天检查几个代码模块,那么很容易看出成本如何快速增加 - 时间和金钱始终是开发过程中的两个重要问题。

但速度和成本并不是你应该担心的两件事。审计师是人,这意味着他们很容易犯错误。虽然他们每天都有一双新鲜的眼睛开始,但是6小时后,他们可能会忽略一个不显眼的错误 - 可能会产生一个严重的漏洞。

最后一个考虑因素,特别是与静态审计相关的是,一旦将Web应用程序推送到实时环境,代码库通常会在此后不久发生变化。更新,新功能和第三方库定期发布。因此,初始源代码审计很快就会变得无关紧要。对于持续测试,使用Web应用程序安全扫描程序很快就会变得更具成本效益和效率。

Web应用程序安全扫描程序的优点和缺点:

Web应用程序安全扫描程序虽然不完美,但它提供了一些值得考虑的优点:

首先,它们是在实时环境中扫描Web应用程序或网站的有用工具 - 模拟黑客的行为以试图利用漏洞。

由于它们是自动化的,因此在识别CSRF,SQL注入,跨站点脚本漏洞和其他安全漏洞时,Web应用程序安全扫描程序非常精通同时,在识别逻辑Web应用程序漏洞时,它们不是理想的选择。这使它们成为源代码审计和手动渗透测试的理想伴侣。

除了与手动渗透测试和源选择审计的自然兼容性之外,Web应用程序安全扫描程序还提供了各种额外的好处,包括可伸缩性,易用性,管理大型团队和项目的能力以及他们可以快速扫描大型和复杂的Web应用程序。