防病毒工具是大多数防恶意软件套装的必备组件之一。它必须能够辨识已知的和未见过的恶意文件,并且在造成破坏前阻止它们。尽管这些工具在实现恶意软件侦测机制方面有所不同,但它们趋向于融合同样的病毒侦测技术。熟悉这些技术有助于你理解防病毒软件是如何工作的。
• 基于签名的侦测技术:使用已检查过文件的关键特征来创建已知恶意软件的静态指纹。该签名可能以文件的一系列字节来表示。它也可能是整个文件或部分文件加密后的哈希值。这个侦测恶意软件的方法,是防病毒软件工具诞生以来必要的方面之一。作为许多工具的一部分该技术保留至今,尽管它的重要性在逐渐减弱。基于签名的侦测技术的主要局限在于,从它自身来说,这个方法无法标记那些还没有开发签名的恶意文件。考虑到这点,现今的攻击者们经常通过改变文件的签名来对病毒进行变异并保留恶意的功能。
• 基于启发式的侦测技术:该技术目的在于通过静态地检查文件的可疑特征,来一般性地侦测新的恶意软件而无需精确的签名匹配。例如,某个防病毒工具可能在被检查的文件中寻找罕见的指令或花指令(junk code)。该工具还可能模拟运行该文件,以便确认如果执行该文件,它会在不明显拖慢系统的情况下尝试做些什么。单独的可疑属性可能还不足以把这个文件标记为恶意的。然而好几个这样的特征可能会超出期望的风险阈值,导致该工具把该文件划分为恶意软件。启发式方法最大的弊处在于它可能无意地把合法的文件标记为恶意的。
• 行为侦测技术:该技术观察程序如何执行,而不是仅仅模拟它的执行。这个方法尝试通过寻找可疑的行为如解压恶意代码、修改主机的文件或是进行键盘记录来辨识恶意软件。值得注意的是,这样的操作能够让防病毒工具在受保护系统上侦测到事先未见过的恶意软件。对于启发式技术来说,这些操作的每一个可能不足以划分程序为恶意软件,然而把它们一起考虑的话可能意味着是一个恶意的程序。使用基于行为技术让防病毒软件更加接近于主机入侵预防系统(host intrusion prevention systems,HIPS)的类别,后者传统上以单独的产品类别存在。
• 基于云的侦测技术:该技术通过从受保护的计算机上收集数据、同时在服务提供商的基础设施上分析、而不是在本地进行分析来辨识恶意软件。这通常是通过捕捉文件的相关细节和在终端上文件执行时的情境来实现,并把这些信息提供给云引擎进行处理。本地的防病毒代理只需进行最小化的处理工作。此外,厂商的云引擎能够通过关联来自多个系统的数据获取与恶意软件特征和行为相关的模式。相比之下,其它防病毒软件的组件大多数基于本地观察到的属性和行为进行决策。基于云的引擎能让使用防病毒软件的单个用户从社区的其他成员的经验中获益。
尽管根据上述各自的标题列出了这些方法,但各种技术之间的差异往往是模糊不清的。例如,术语“基于启发式”和“行为侦测”经常被交互地使用。此外,当工具融合基于云的能力时,这些方法——包括签名侦测技术——趋向于扮演活跃的角色。为了跟上不断变化的恶意软件样本,防病毒软件厂商们必须在他们的工具中融合多层防御,依赖于单个方法是不可行的。