5.2.1 病毒检测技术

5.2.1 病毒检测技术

1.计算机病毒

互联网是一个开放式和共享式的网络,随着它的发展以及普及,其对于整个社会的发展带来了巨大的推动作用。互联网正在逐渐改变人们的生活方式和生活观念,甚至对社会的意识形态也产生了一定的影响。但在给人们带来生活便利的同时,计算机网络安全也成为社会关注的问题。病毒的侵袭、黑客的攻击会严重影响到网络的安全,部分情况是操作人员在进行操作的过程中缺乏安全意识而导致的,也有可能是人为的恶意攻击。不管是哪种原因导致的网络安全问题,都需要采取相应的技术手段来积极应对。

在某起由黑客发起的国际网络欺诈案件中,黑客利用社交媒体入侵VoIP服务器,12个月内入侵了60多个国家1 200多个组织的VoIP服务器,获得数十万美元利润的同时还对目标企业的电话进行窃听。由此案件可以发现,计算机网络安全问题带来的不仅是经济损失,更多的是网络安全防线被打破的威胁。在这种情况下就更加迫切地需要关注计算机网络安全问题。

计算机病毒(Computer Vires)即人为制造,会对计算机软件系统产生攻击和破坏,并且具有很强传染性的代码,如果不能及时发现并处理,必定会对计算机运行的安全性产生影响,造成私密信息泄露,带来无法估量的损失。在《中华人民共和国计算机信息系统安全保护条例》中,计算机病毒是指“编制者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,并能够自我复制的一组计算机指令或者程序代码”。

和其他计算机程序相比,计算机病毒程序具有以下特点。

①潜伏性:很多计算机病毒程序侵入系统后不会马上发作,它发作的时间和条件是预先设定好的,不是设定好的时间或者条件触发一点都察觉不出来。

②传染性:传染性是计算机病毒的基本特征,由于计算机的互联,病毒很容易从一台已被感染的计算机扩散到另一台未被感染的计算机。

③寄生性:计算机病毒通过寄生在其他可执行程序上来享有—切程序所能得到的权力。

④破坏性:系统被病毒感染后,病毒会迅速地按照设定破坏计算机的应用程序或者存储介质,对计算机用户造成巨大的甚至不可恢复的损失。

⑤攻击主动性:计算机病毒对系统的攻击是主动的,计算机系统无论采取多么严密的保护措施都不可能彻底地排除病毒对系统的攻击,只能通过多种防范措施来减小病毒的感染概率。

⑥顽固性:许多单机上的计算机病毒可以通过杀毒软件删除带毒文件,甚至格式化硬盘等措施被彻底清除。但是网络中只要有一台计算机未能彻底杀毒,就可能使得整个网络再次病毒肆虐。然而要对整个网络同时进行查杀,往往受客观原因限制,耗时耗力,还达不到预期效果。

尽管目前出现的计算机病毒种类繁杂多样,但是通过对病毒程序代码的分析、比较和归纳可以发现,绝大多数病毒程序由引导模块、传染模块和破坏表现模块三部分组成。由三部分组成的计算机病毒程序结构如图5.1所示。

图5.1 计算机病毒结构的基本模式

在图5.1所示的计算机病毒程序中,引导模块完成病毒加载的功能,当使用带病毒的软盘或者硬盘启动系统时,引导型病毒就被加载。传染模块是传染病毒的动作部分,计算机病毒在此过程中寻找对应的对象文件,并判断传染条件是否成立,如果传染条件成立就进行传染。破坏表现模块完成病毒对计算机系统的破坏,同样破坏表现模块也是先判断病毒发作的条件是否符合,如果满足所有发作条件,病毒就实施破坏功能。

计算机病毒的工作机理如下。

①加载和引导机理。病毒程序的加载主要分成两个过程:其一是系统装载过程,其二是病毒附加的加载过程。计算机病毒的传播是指计算机病毒从一个计算机系统传播到另外一个计算机系统的过程,主要有以下4种途径:通过不可移动的硬件设备传播,通过移动存储设备传播,通过计算机网络传播,通过点对点通信系统和无线通道传播。

②破坏表现机理。病毒程序的引导模块和传染模块是为破坏表现模块服务的。破坏表现模块可以在病毒代码第一次加载时运行,也可能在病毒代码第一次加载时只有引导模块引入内存,然后通过触发某些中断机制而运行。有些病毒通过修改操作系统使病毒代码成为操作系统的一部分功能模块,只要计算机系统工作,病毒就处于随时可能被触发的状态。

为了降低病毒对计算机运行产生的影响,必须要总结以往经验,针对病毒的作用机理,有针对性地采取手段,来对各类病毒进行有效检测以及防御,避免病毒进入计算机内部对信息数据产生威胁。当前计算机技术水平在不断提高,病毒技术也随之更新,为了提高计算机运行的安全性,必须不断地对病毒检测技术进行研究。

计算机病毒基本概念

2.病毒检测技术

(1)长度检测法

病毒程序的长度与正常程序下文件的长度相比有较大的差异,受到病毒侵袭的文件,其字节长度会大大增加,使之区别于正常文件的长度和大小。病毒具备的特征之一就是感染性,被感染的文件和程序(即宿主程序),其文件长度会增加几百字节,根据染病文件长度的不同,可以实现病毒的检测。将携带病毒的文件进行修复或删除,同时对文件增加的字节长度进行诊断,可以确定病毒的种类,实行相对有效的杀毒防护。长度检测法也有其弊端,根据长度识别病毒的方法并非完全有效,该方法无法实现对受到病毒侵袭后长度不变的文件的检测,因而具有一定的局限性。

(2)虚拟机技术

虚拟机技术与人工分析技术十分相似,其自身具有很强的智能化特点,对计算机内存在的病毒检测速度和准确性更高,可以被用于复杂病毒的检测。

虚拟机技术用软件先虚拟一套运转环境,让病毒在虚拟环境中运行。虚拟机内可以对病毒的任何动态进行有效反映,将病毒放入虚拟机内,可以准确地反映出制定本病毒的传染动作,以此来分析病毒的执行行为。有些加密的病毒在执行的时候需要解密,那么就可以在解密之后通过特征码来查杀病毒。在虚拟环境中病毒的运行情况被监控,那么计算机病毒便可以在实际的环境中被有效地检测出来。

虚拟机技术主要针对的是新生代的木马、螨虫病毒等,但是其在实际应用中也存在一定的缺点,即比正常程序执行病毒检测所需的时间更长,运行速度更慢,无法满足程序中的所有代码虚拟执行的需求。现在市场上存在的技术软件,大部分只选择了虚拟执行样本代码段的前几KB代码,但是检测成功概率可以达到95%,可以根据实际情况来确定是否应用。

(3)智能广谱扫描技术

智能广谱扫描技术是为避免被杀毒软件查杀,对转变性和非连续性较大病毒的所有字节进行分析的技术,这一技术是根据目前病毒类型和形式的千变万化的情况而研发出的。

由于传统病毒在现用杀毒软件内均有一定的资料,所以实际应用的检测技术和手段也就相对比较简单。为了确保杀毒软件可以查找、检测出病毒,需要在现有基础上对病毒检测技术进行深入的分析和革新。智能广谱扫描技术可以实现对病毒的每一个字节进行扫描分析,一旦发现存在相似或相近的两个病毒编码便可确定其为病毒。

应用智能广谱扫描技术来对计算机病毒进行检测的优点是准确性高,且查找速度快。但实现这项技术的前提是需要收集病毒的各项信息,因此它更适用于已经具有较多信息的传统病毒,对于新病毒并没有杀毒功能。

(4)特征码过滤技术

在病毒样本中选择特征码,一般应选择比较长的部分,甚至特征码的长度可以达到数十字节。然后便可利用特征码来对计算机内的各个文件进行扫描,当发现该特征码时,就说明该文件已经被病毒感染。

在实际应用中,一般会根据病毒程序的长度将文件分成几份来选取特征码,这样可以避免用单一特征码检测出现病毒误报的现象,提高病毒检测的准确性。此外,选择特征码时还需要尽量避免选取通用信息,应该选取具有一定特征,同时不全为零字节的信息作为特征码。根据实际需求选择几段特征码后,将其存入病毒库,特征码的偏移量也需存入病毒库,然后标示出病毒的名称。

应用特征码过滤技术来检测计算机病毒具有很强的准确性,误报病毒的情况较少,并且具有可以识别和确定病毒名称等的优点。但是相较于其他检测技术来说,特征码过滤技术在检测速度上并不占优势,它无法对隐蔽性病毒进行有效检测,一般被用于对已知病毒的分析和记忆存储。

(5)启发扫描技术

传统的特征码过滤技术难以识别新型病毒。为了能够更好地检测病毒的相关代码,研究人员研发出启发式扫描技术。由于病毒需要对程序进行感染破坏,那么在进行病毒感染的时候都会有一定的特征,所以可以通过扫描特定的行为或者是多种行为的组合来判断程序是否是病毒。

启发扫描技术便是通过分析指令出现的顺序,或者是特定的组合情况等来判断病毒是否存在,这一技术主要针对“熊猫烧香”等病毒,它可以在发现病毒的时候及时提示用户停止运行程序。但这项技术不能对一些模棱两可的病毒进行准确的分析,容易出现病毒误报。

计算机病毒的传播严重影响计算机网络的使用,甚至导致经济损失和重要信息的泄露,这些重要信息的泄露有可能使企业、个人,甚至国家都面临重大的损失。但计算机病毒检测技术也随之更新,针对不同的病毒已经具备了各种对应的检测方法。通过对计算机网络的安全维护,人们能够对计算机网络的积极作用产生更加充分的认知。