漏洞扫描仪与病毒扫描仪不同。在这两种情况下,该软件的目标是在目标中找到异议的东西。病毒扫描仪扫描本地资源和本地存储计算机以查找可能的恶意软件。漏洞扫描仪扫描某种目标以查找潜在的弱势软件。两者都使用类似的技术来做。

基于签名的扫描

在基于签名的扫描的情况下,扫描仪寻找可识别的模式,该模式由扫描仪的制造商或从公共数据库中获取。例如:

  • 病毒扫描程序查找可恶意可执行文件中存在的某个字节链。如果发现字节链,它会假定已找到恶意文件。
  • 网络扫描程序查找来自服务器的某个响应,以识别服务器使用的软件的确切版本。例如,它可以像实际响应版本信息或更复杂的软件一样简单,例如,识别某些典型行为。

签名基于扫描有几个优点:

  • 它通常非常快,因为除了从扫描仪库中使用从目标接收的字节链的链条比较字节链条之外,不需要执行任何操作。
  • 它不太侵入,并且具有几乎没有副作用。
  • 对于扫描仪制造商来说非常容易,因为没有必要编写自定义代码。还有公共域名签名数据库,可用于构建自己的数据库。

不幸的是,这种扫描也存在一些主要的缺点:

  • 它并不总是非常精确。签名并不能保证发现的结果是恶意的。
  • 绝对没有证明报告的结果是恶意的。由于扫描仪仅比较签名,因此它不测试其假设是否为真。
  • 大多数扫描仪仅限于已知的签名,并且无法识别突变(例如,具有一个不同字节的签名),不规则性(例如,配置的服务器)或新威胁。

基于行为的扫描(启发式扫描)

扫描恶意内容的另一种方法是实际分析目标的行为。这意味着扫描仪需要了解目标工作的方式,而不仅可以比较签名。例如:

  • 当启发式病毒扫描程序找到一个可能的可执行文件时,它可能会对它执行逆向工程来检查代码的作用(检查其操作是否恶意)。它也可能尝试在安全环境中执行代码以查看结果。
  • 当Web漏洞扫描仪找到允许用户输入的元素时,它会通过发送意外数据来“欺骗目标”。然后,它分析了目标的响应,看看它是否成功。

启发式扫描有一些主要优点:

  • 理论上,它能够找到任何类型的威胁,甚至是自定义一个或零天的威胁。显然,这取决于先进的软件。
  • 它更准确,因为它实际检查其假设是否正确。有时,它甚至可以提供证据。

不幸的是,启发式扫描也有一些缺点:

  • 您可能会发现它比基于签名的扫描更具资源密集型。启发式扫描仪需要更多的时间来找到结果,并且可能比基于签名的扫描仪更慢地减慢目标。
  • 建立一个好的启发式扫描仪是非常困难的,需要最高的人才。与基于签名的扫描仪不同,必须对每个新类型的攻击进行编程和模拟。启发式扫描仪库不仅仅是要比较的字符串列表 - 它需要每种类型的检查都需要实际的自定义软件。

两全其美的

许多专业扫描仪尝试使用这两种类型的扫描,但主要类型大大取决于所执行的扫描类型:

  • 病毒扫描仪几乎总是主要签名。一些高级病毒扫描仪也具有基于行为的扫描,但通常是可选的(因为这样的扫描需要更多的时间和资源)。
  • 网络扫描仪几乎总是基于签名的。这是因为网络扫描仪专注于查找过时的软件版本和误操作,这可以使用签名轻松识别。
  • Web漏洞扫描仪始终主要是启发式,但可以在适当的情况下使用签名。

我们在Acunetix以最佳方式与两个世界的最佳方式结婚:

  • Acunetix.扫描仪主要是基于行为的扫描仪。我们的高级支票全部独立设计,并执行安全(模拟)攻击。不仅如此 - 在大多数情况下, 我们甚至可以证明袭击成功 例如,通过向您展示扫描仪永远无法访问的文件(如您的服务器配置文件)。这是大多数扫描仪没有的独特能力。
  • 由于我们的扫描仪还检查了过时的软件版本等事物,我们也使用一些基于签名的支票,其中适用于适用以及不需要自定义代码。这使得扫描更快,更不强烈的目标 - Acunetix通常被认为是市场上最有效的扫描仪。 
  • Acunetix.绕过了基于签名的扫描的局限性,而不是使用基于哈希的签名,即使代码或响应略微修改,它也可以识别许多漏洞。
  • 我们的扫描仪还结合了基于签名的扫描与主动扫描的优点,有时即使在相同的漏洞检查中也是如此。例如,如果我们能够通过基于签名的扫描确定软件版本,我们的实际漏洞检查该软件可能会考虑找到的版本并相应地优化测试。这使得漏洞不仅要更快,而且更可靠。

注意尽管如此 Acunetix.发现的许多漏洞用CVE / CWE代码识别,我们不会为识别已知漏洞而使用此类数据库。自定义软件中的漏洞将没有这样的代码,因为Acunetix的核心强度是它能够在任何数据库中找到未识别的问题。

Source : //www.acunetix.com/blog/web-security-zone/how-scanners-find-vulnerabilities/