理论教育 高效防范恶意软件-信息安全基础

高效防范恶意软件-信息安全基础

时间:2023-11-24 理论教育 版权反馈
【摘要】:个人计算机如今广泛地使用反病毒软件,部分原因是恶意软件在数量上和活动上的爆炸性增长造成的。如果恶意软件修改或替换了某个程序文件而没有更改该程序文件的校验和,完整性检查就能发现该程序文件被修改了。恶意软件和反病毒软件之间的较量还在继续。实际上,恶意软件恢复它自己是帮助反病毒程序完成了工作。

高效防范恶意软件-信息安全基础

应对恶意软件威胁理想的方法是预防(Prevention):首先阻止恶意软件进入系统,或者阻止其修改系统。完全达到这一目标几乎是不可能的。当然,采取适当的措施来加固系统和用户以预防感染,可以显著地减少恶意软件成功攻击的次数。

预防恶意软件首要对策之一,是确保所有系统尽可能使用当前系统,所有补丁都已安装,这样可以减少系统上可能被利用的漏洞的数目。接下来则是为应用程序和存储在系统中的数据设置适当的访问控制权限,使得任何用户能够访问的文件个数尽可能地少,从而降低恶意软件运行时可能感染或破坏文件的个数。这些措施直接针对蠕虫、病毒和某些木马使用的关键传播机制。

除此之外,还需要对用户进行安全培训,提高用户的安全意识。因为某些恶意软件可能会使用针对用户的社会工程传播方法。培训的目标是让用户对这类攻击有更好的警惕性,较少地做出导致受到攻击的行为。

如果预防措施失败了,还可以使用相关技术支持以下缓解恶意软件威胁的措施:

(1)检测(Detection):一旦发生感染,能够确定感染已经发生了并定位恶意软件。

(2)识别(Identification):一旦检测到恶意软件,能够识别出是何种恶意软件感染了系统。

(3)清除(Removal):一旦识别出特定的恶意软件,能够将该恶意软件所有痕迹从所有被感染的系统中清除,以阻止其继续扩散。

如果成功检测到恶意软件但没有成功识别或清除,可以选择删除所有被感染文件或恶意文件,并重新加载这些文件的干净的备份版本。对于有些特别顽固的感染,可能需要完全清理所有的存储,然后使用干净的媒介重建系统。

可以在多个位置检测恶意软件。例如,在被感染的系统上使用基于主机的“反病毒”程序,监视进入系统的数据和系统上运行的程序的行为。或者,把检测功能集成到组织的防火墙和IDS系统使用的安全周界机制中。还有,检测也可以分布式地同时从主机和边界传感器收集数据(这可能会覆盖大量的网络和组织),以便能够以最大的视野了解恶意软件的活动情况。以下仅介绍基于主机的“反病毒”程序(也称为基于主机的安全扫描器)。

使用反病毒软件的首要位置是各个终端系统。这不仅赋予反病毒软件最大的权限来收集恶意软件对目标系统造成的影响,还能够将恶意软件的活动限制在最小范围。个人计算机如今广泛地使用反病毒软件,部分原因是恶意软件在数量上和活动上的爆炸性增长造成的。这类软件可以视为基于主机的入侵检测系统的一种形式。早期的恶意软件使用相对简单和易于检测的代码,所以能够被相对简单的反病毒软件识别出来并清除掉。随着恶意软件军备竞赛的升级,恶意软件代码和反病毒软件都在变得更加复杂。

反病毒软件的发展可以划分为四代:

第一代,简单的病毒扫描器。它需要病毒特征码来识别病毒。病毒也许会包含“通配符”,但本质上,同一种病毒所有的副本都具有相同的结构和比特模式。这种根据特征码识别病毒的扫描器只能检测出已知的病毒。另一种类型的第一代病毒扫描器记录下系统中程序文件的长度,把文件长度的变化视为是被病毒感染的结果。

第二代,启发式扫描器。它不再依赖病毒的特征码,而是通过启发式规则来寻找可能的恶意软件。其中有一类扫描器寻找与恶意软件有关的代码片段。例如,某个扫描器寻找多态病毒使用的加密循环的起始部分,并发现加密密钥。一旦找到加密密钥,扫描器就能解密恶意软件并识别它,然后清除感染部分,恢复程序的正常运行。另一种方法是完整性检测。每一个程序都被附加一个校验和。如果恶意软件修改或替换了某个程序文件而没有更改该程序文件的校验和,完整性检查就能发现该程序文件被修改了。为了应对那些在感染文件时能自动修改其校验和的恶意软件,可以使用带加密功能的散列函数生成文件的指纹,并且把加密密钥和程序文件分开存储,以免恶意软件访问加密密钥,生成一致的指纹。另外,如果把需要受到保护的程序文件放在可信的位置中,也可以检测出在这些位置中替换或安装流氓代码或程序的企图。

第三代,活动诱捕(Activity Traps)程序。它是内存驻留程序,通过恶意行为来识别恶意软件,而不是通过被感染文件中的恶意代码的结构特征进行识别。这类程序的优点是不需要为大量的恶意软件生成特征码和启发式规则,只需要识别少量正在企图进行感染的恶意活动,然后进行干预即可。

第四代,全面的保护。第四代产品是综合运用各种反病毒技术的软件包,包括扫描和活动诱捕组件。此外,还加入了访问控制功能。这个功能限制了恶意软件渗透系统的能力,从而限制了恶意软件修改文件以继续传播的能力。

恶意软件和反病毒软件之间的较量还在继续。伴随着第四代安全软件包,很多安全软件采用了更全面的防御策略,将防御范围扩大到更通用的计算机安全措施。其中包括更加复杂的反病毒方法。下面介绍其中两种最重要的方法。(www.daowen.com)

第一种是通用解密(Generic Decryption,GD)技术。该技术使反病毒程序在保持快速扫描的同时,轻易地检测出甚至最复杂的多态病毒及其他恶意软件。回想一下,当含有多态病毒的文件执行时,病毒必须解密它自己才可以激活。为了检测这样的结构,可执行文件需要在GD扫描器之下运行,GD扫描器包括以下要素:

(1)CPU仿真器:一个基于软件的虚拟计算机。可执行文件中的指令由仿真器解释,而不是直接在底层的处理器上执行。仿真器通过软件模拟了处理器的所有寄存器和其他处理器中的硬件,这样,底层的处理器将不会受到在仿真器中被解释执行的程序的影响。

(2)病毒特征码扫描器:扫描目标代码来寻找已知的病毒特征码的模块。

(3)仿真控制模块:控制目标代码执行的模块。

每一次仿真开始时,CPU仿真器会逐条解释目标代码中的指令。因此,如果代码中包含有解密并恢复恶意软件的例程,那么,该例程代码将被解释出来。实际上,恶意软件恢复它自己是帮助反病毒程序完成了工作。控制模块会周期性地中断仿真器的执行,并扫描目标代码中是否含有病毒特征码。在解释过程中,目标代码不会对实际的计算机环境造成破坏,因为它是在完全受控的环境中被解释执行的。

第二种是基于主机的行为阻断软件。它其实是一种基于主机的入侵检测系统。不同于启发式或基于特征码的扫描器,行为阻断软件与主机的操作系统相结合,实时监控恶意的程序行为,并在恶意行为有机会影响系统之前将其阻断。被监控的程序行为包括:

(1)试图打开、浏览、删除或修改文件。

(2)试图格式化磁盘及其他不可恢复的磁盘操作。

(3)修改可执行程序或宏的运行逻辑。

(4)修改关键的系统设置,如启动设置。

(5)在电子邮件或即时通信客户端中使用脚本语言发送可执行内容,以及初始化网络 通信。

因为行为阻断软件能及时阻断可疑软件的执行,这比起现有的反病毒检测技术(如特征码或启发式扫描)具有很大的优势。因为即使有非常多的方式来打乱和再重排病毒或蠕虫的指令序列,并且其中很多方式都可以有效地躲避特征码或启发式扫描器的检测,但是最终,恶意代码必须向系统发送特定的请求。所以,如果行为阻断软件能够拦截所有这样的请求,那么,不管恶意程序的运行逻辑看上去多么模糊,行为阻断软件都能够识别并阻断其恶意行为。

单纯的行为阻断是有局限性的。因为在所有恶意行为被识别出来之前,恶意代码已经在目标机器上执行了,所以,在它被检测并阻止之前,它可能已经对系统造成了破坏。

本节主要介绍了基于主机的安全扫描器。除了在各个主机上部署反病毒软件,还可以在防火墙或入侵检测系统上部署,或者使用分布式收集数据的方法来检测恶意行为。这里不做介绍。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈