计算机病毒的智能性与程序属性

2018-04-02 09:13朱俚治王兴虎
电脑知识与技术 2018年5期
关键词:属性行为病毒

朱俚治 王兴虎

摘要:在恶意代码中病毒出现的最早,至今已有数十年了。科研人员为了查杀病毒,已研了发众多的病毒检测算法,然而病毒在这些杀毒软件面前仍然四处传播,然而之所以出现以上的原因那是因为计算机病毒是一种智能程序。基于上述原因和根据对计算机病毒的研究,为了使得广大网络用户对计算机病毒有更多的了解,该文对计算机病毒进行了相应的介绍。在该文中第一部分介绍了计算机病毒与程序行为属性之间的关系,第二部分陈述了智能性的概念,其次介绍了计算机病毒具有的功能与其行为属性所体现出来的智能性。

关键词:病毒;智能性;行为;属性

当今的恶意代码除病毒外,还有蠕虫和木马。病毒能够将自身的代码寄生于其他程序中,并且能够对程序造成破坏,因此计算机病毒具有攻击性和破坏性,事实上计算机病毒是一种恶意程序。

病毒具有传染性,隐藏性,破坏性和激活性等行为属性,然而这些行为是其他普通程序所不具有的。对于一般的非智能程序,要实现程序的功能在大多数情况下,都要在人为因素干预之中,才能够完成。然而病毒能够自主的完成病毒的传染性和破坏性等一系列的行为和功能。

计算机病毒不同于其他恶意代码最显著的特征就是具有传染性,然而作为一种恶意代码,还有一个特征就是有破坏性。尽管蠕虫也是一种恶意代码,同样具有复制的功能,但蠕虫的复制过程与病毒的传染过程存在明显的区别。病毒的某些属性与蠕虫,木马有相似之处,但又存在不同的地方,因此病毒不等同于蠕虫,也不等同于木马。病毒具有的行为是与其他程序进行区分的最好标准,也是作为检测和判定该程序是否为病毒的最好依据。如果在检测病毒的算法中,从行为属性的角度来检测病毒,那将彻底解决病毒的问题,这样也许将结束病毒肆意传播的时代。在基于病毒行为的检测算法面前不论是变形病毒,加密病毒,多态病毒还是加壳病毒都能够显出原形。基于上述原因,为了使得人们对病毒有更深层次的了解,本文从病毒行为属性的特征,对病毒具有的功能进行一定程度上的介绍。

1病毒与程序的属性

人们编写程序之目的,是为了实现某种功能而设计和编写的。不同种类的程序具有不同的功能,而每种程序都有独自的行为属性。而程序的每一种功能都可以通过程序的行为属性体现出来,从而展现在人们面前,不同种类程序体现出不同行为属性和功能。程序功能的不同也代表着程的不同属性,程序的属性是其本质,而功能和程序的行为是其具体的表现。例如病毒具有传染性,那么其表现形式就是能与符合条件的程序融为一体。病毒和其他程序融为一体的过程体现了病毒寄生的功能,然而正是因为病毒具有寄生功能,才能使得人们认识到计算机病毒具有传染性。

人们可以通过对程序功能的观察,从而了解该程序所具有的属性。然而人们对恶意程序和善意程序的划分,就是通过对程序行为的观察,从而得出的结论。如果某种程序具有某些功能,那么该程序的功能就对应着某种行为,程序的行为是其功能的具体执行者,因此通过对程序行为的观察,就能够检测出该程序具有哪些功能。

程序的每一种属性都对应着一种功能,如果程序不具有某种属性,那么这也就意味着该程序不具备此功能。如果某个程序的行为发生变化,那么意味该程序的功能,以及程序的部分属性发生了改变。例如某个程序未被病毒感染时,该程序就不具备攻击性和恶意性,然而当某个程序被某种病毒感染后,原来的程序变成了一个新程序,这时病毒就成为了新程序的一部分。既然是一个新程序,那么该程序就具有它的新功能和行为。然而病毒程序进行传染时,人们是无法察觉的,同时病毒检测软件也无法检测出这一过程,因此当一个程序被病毒感染后,从表面上看该程序没有发生任何变化,但实质上该程序的部分属性发生了变化,被病毒寄生的程序已不是原来的程序,而是部分具有了病毒属性的新程序。根据上述的理由可以有以下的结论:当某个程序的行为发生了变化,那么该程序将是一个新程序,原来程序的部分功能和属性已经发生了变化。

2病毒的属性与其智能性

2.1什么是智能性

一个事物的智能性主要是指其具有自主性,当某个事物执行某个动作或其他的一系列动作时,指令都是由该物体自身所发出和控制的,那么该事物就初步具有了一定的智能性。然而引起这些动作的原因可能来自于该事物的本身,同时也可能是来自于外界。一个事物具智能性的主要表现为,该事物具有自主性,能够独立自主地完成某些动作和行为。事实上人们可以从一个事物的行为特征,就能判断该事物是否具有自主性,如果一个事物具有自主性,就具有了一定智能性。

不同事物具有的智能性有所差别,智能性有高低之分,例如感染动物细胞的病毒就是一种生物,自然界的病毒具有自我复制性,传染性和破坏性,这些功能都体现了该生命体的自主性,因此从自主性的角度来看,可以认为自然界的病毒具有一定的智能性,智能性是生命體的特征之一。

人工智能就是一种智能技术,使得机器具有自主性,能够独立自主的完成某项人们给出的任务,体现了机器的智能性。因此根据以上的叙述可以知道当某些算法能使得机器具有自主的能力,能够在不为人为因素干预条件下独立的完成某个任务,这时机器就具有了一定的智能性,同时这样的算法可以称为智能算法。

2.2计算机病毒具有的属性

尽管计算机病毒是一段程序,但计算机病毒具有传染性,破坏性,隐藏性,由于病毒能够自主的完成预先设定的功能,因此从某种角度来看,计算机病毒具有一定的智能性。根据对病毒各种行为研究后,可以发现计算机病毒的智能性主要体现在以下几个方面:病毒的传染过程,对寄生程序的选择,对被感染位置的选择,以及对被寄生程序进行破坏等这一系列过程中。

2.3计算机病毒在传染过程中体现出的智能性

自然界的病毒对目标进行选择时,必须将目前的信息与已知信息的相互比较,才能够对目标作出选择。然而计算机病毒对寄生程序作出选择前,同样必须经过相应的判断过程,只有计算机病毒进过了判断,才可能作出选择,因此此时就体现了计算机病毒在某种程度上的智能性。

当计算机病毒对程序进行感染时,分为两个过程:第一步是判断该程序是否符合感染条件,第二步是判断该程序是否已被该种病毒感染。在判断该程序是否符合感染条件时,就体现了计算机病毒一定的智能性,只有具有智能性的程序才具有判断能力。计算机病毒只有完成以上两个过程后,才有可能对某个程序成功地进行感染。当一个病毒检测某个程序是否被同一个病毒感染时,这一过程也体现了病毒的某些智能性,然而病毒之所以不能感染同一个程序的原因是,病毒的反复感染能够对程序体中的病毒产生破坏,因此同一个计算机病毒不能够重复感染同一个程序,这也体现了病毒的某种智能性。

然而计算机病毒对符合条件的程序进行感染时,必须对目标进行删选,在删选的过程需要将程序的某些属性进行比较,因此病毒对目标的感染时不是没有目标的,而是具有选择性。例如文件型病毒只能感染后缀名为“com”和“exe”的文件,然而不符合这个条件的程序,病毒则不进行感染,因此病毒具有選择性这一功能代表了该病毒对目标具有一定的判断力,能够对被寄生的程序进行识别,同时能够确定该程序是否为该病毒感染的目标,能够对目标进行选择就体现了该程序具有一定的智能性。

2.4计算机病毒的破坏性及其智能性

计算机病毒是一段程序,不同种类的病毒存在一定地差异,这些差异主要体现在计算机病毒采用了何种技术,例如采用了加密技术,采用了加壳技术和采用了变形技术等技术的病毒。虽然这些计算机病毒都可以统称为病毒,但是这些病毒确实存在明显的差异,事实上不管计算机病毒采用什么样的技术,病毒所具有的基本属性是改变不了的,失去了病毒的基本属性,这些的恶意代码则不是病毒,因此不论是什么样的计算机病毒都具有共同特征,病毒的行为属性决定了其是恶意代码。

某种计算机病毒寄生于程序后,当程序体中的病毒处于发作时,就能够对寄生程序产生破坏,只要当被寄生的程序处于运行中,此时处于程序体中的病毒也处于运行中。如果处于活动中的病毒,只是不断地复制自身的代码,那么计算机病毒就无法体现出病毒的恶意性,因此计算机病毒也不能被称为恶意代码,事实上正是计算机病毒存在传染性和破坏性,人们才将其称为恶意代码。具有破坏性是计算机病毒和其他恶意代码所共同具有的行为,正是因为计算机病毒和恶意代码具有了破坏性才使得这些代码具有了恶意陛。

计算机病毒的破坏性体现在对原程序的修改上,然而病毒只对符合条件的程序进行修改,如果不符合条件,病毒则不进行寄生和破坏。计算机病毒的种类不同,寄生的对象也不相同,因此病毒进行破坏的对象有所区别。例如引导型病毒只感染用户主机硬盘的引导扇区,而大部分文件型病毒只感染后缀名为“com”和“exe”的可执行文件。由于病毒进行寄生时是有所选择性的,因此病毒对目标程序进行破坏时同样具有选择性。当一个计算机病毒寄生于某个程序后,对程序的破坏性上也不是随意的修改,而是有目标有目的地进行修改。由于病毒的种类上存在不同,因此病毒对寄生程序采用的破坏方式也存在差异,例如引导型病毒,对硬盘引导扇区的程序进修改时,会采取替换和覆盖两种方式。对程序中的某些代码进行替换操作,则能够改变原程序的某些功能,当程序的某些代码发生了改变,那么该程序原来具有的功能就被病毒破坏了,此时程序就不能实现原来的行为属性。引导型病毒的另一种破坏方式则采用覆盖的技术,对原程序的某些代码进行覆盖操作,也就是用当前的代码来替换原有代码,借此来破坏原来程序的功能,因此这两种破坏方式有相似之处,也有不同之处。

当文件型病毒感染了某个程序后,程序体中的病毒就能够进行一定程度上的破坏。病毒对程序代码任意的进行删除,剪贴,复制和粘贴等等这些操作都能够使得寄生程序发生改变。然而当程序的代码发生改变后,该程序就不是原来的程序,而是被病毒修改后的程序。事实上当一个程序的源代码被非法修改后,程序具原来的功能就被破坏了,就无法实现其原来的功能,此时计算机病毒就达到了对寄生程序破坏之目的。当计算机病毒对寄生程序进行修改时,是具有一定的选择性,没有目标的修改,则有可能达不到病毒对程序预先的破坏目的。事实上正是因为病毒种类的不同,病毒之间存在差异,因此病毒对寄生程序采用了不同的破坏方式和方法。计算机病毒对寄生程序有选择性的,有目的地修改,体现了病毒完成这一功能的自主性,因此从某种角度上来看,病毒有选择性的修改寄生程序体现了病毒破坏性这一方面的智能性。

不同的计算机病毒对寄生程序进行破坏时,具有一定的选择性,然而对目标进行选择前,必须对目标程序的特征和属性进行判断,然而具有判断能力的程序就具有了一定智能性,自主性是智能的代表属性,因此计算机病毒就体现出了一定的智能性。

2.5计算机病毒的激活特性

当计算机病毒随着载体从一个系统进入另一个系统时,或病毒再次感染一个新程序时,此时的病毒并未处于活动中,而处于潜伏中的病毒是相对静止的。如果使得计算机病毒由相对静止,转化为活动中的病毒,则需要一定的条件,只有满足某些条件后,病毒才能够被激活。

计算机病毒由相对静止,转变为活动中的病毒,可以体现病毒一定的智能性。事实上激活病毒的条件是由外部条件决定的,但并不是所有的外部条件都能够激活病毒,因此处于潜伏期的病毒并非处于完全静止中。处于潜伏期的病毒,对于外界条件的变化是能够感知的,如果病毒不能感知外部条件的变化,那么处于潜伏期的病毒则永远不可能被激活。一段程序能够感知外部条件的变化,这是具有生命体征的一个行为属性,因此从某个角度上看处于潜伏期的计算机病毒能够感知外部条件的变化,可以看作计算机病毒某个方面的智能性。

计算机病毒能够感知外部条件的变化,是因为对外部具有感知力,这是激活病毒的条件之一。病毒要激活自身的代码必须经过两个过程,首先是对外界的变化具有感知力,其次是在这些外部条件中,只有符合一定要求后才能激活病毒。在以上两个过程中,病毒需要将某些外部条件和自身的某些属性进行对照和匹配,才能够实现激活潜伏中的病毒。然而事实上只有具有生命特征的事物才具有将外部条件的属性与该生命体的内部属性进行比较和判断,计算机病毒作为一段程序,但具有这一功能,因此从某个角度上看,虽然是一段程序,但该程序同样具有与生命体一样的智能性。

2.6计算机病毒躲避杀毒软件检测时的智能性

当今的计算机病毒,将多种计算机技术与自身的技术相互融合,例如在计算机病毒技术中采用了加密技术,变形技术和加壳技术等,当病毒融合了这些技术后,越发使得自身具有更强的躲避杀毒软件对其进行检测的能力,因此此时计算机病毒再次展现了它的破坏威力。

将加密技术,加壳技术和变形技术等这些技术在病毒中进行应用,更加凸显了病毒的智能性。具有变形能力的病毒有个核心部件,在该病毒体中有一个变形引擎,在变形引擎的作用下,计算机病毒的代码结构都能够随着时间的改变而发生变化,或者随着病毒复制这一过程而变化。

变形病毒每变形一次都能产生一个新病毒,新病毒在结构上与原来的病毒有一定的差异,但实际上这个病毒是原来病毒的复制品,因此从某个角度来看新病毒是具有变形能力病毒的一种进化。变形病毒能够产生四种形式的变形,分别是:一维变形,二变维形,三维变形和四维变形,在这四种变形中,每一种病毒变形时所采用的变形机制有所不同,每一种变形机制在改变病毒代码结构时都有各自的特点,病毒的每一次变形都是为了躲避杀毒软件对该病毒的检测和查杀。一维变形是最简单的变形,但就是病毒的一维变形就能够使得特征码病毒检测算法失去了一定的作用,使其无法正确有效地检测出变形后的病毒,由此可以看出变形病毒与传染病毒相比具有更强的智能性。

变形病毒与传统病毒相比较有很大的不同之处,传统型的病毒不能使得病毒的外观发生改变,传统的病毒进行传染时,只能簡单地复制自身的代码,然而变形病毒在传染的时,除了能够复制自身代码外,还能够对代码的外观和结构进行变形。病毒将自身的代码进行复制的时候就是体现了某个方面的智能性,因此从病毒能够自主的完成复制和改变自身代码外观,从某个角度上看,病毒在传染过程中的确体现了一定的智能性。变形病毒的一维变形,二维变形和三维变形这三种变形的方式虽然能改变代码的外观,但是进行代码外观改变时,需要一定的条件,其条件是只有当病毒进行复制代码时才能够实现,然而具有四维变形能力的病毒,随着时间的变化,其特征码能够呈现出动态的随机变化,此时基于特征码的病毒检测算法更难检测出此类变形病毒,因此具有四维变形能力的病毒具有更强的躲避检测软件对其检测的能力,事实上变形病毒与其他病毒相比较具有更高的智能性。

3结束语

计算机病毒出现至今已有数十年之久,然而大部分人们认为计算机病毒只是一段程序,这个观点不错,但具有一定的片面性,计算机病毒具有其他程序不具备的特殊行为属性,具有一定的智能性。因此为了使得人们对计算机病毒有更多的了解,在参考了相应的计算机病毒文献后,由作者撰写了这篇论文。该论文首先介绍了程序行为属性与程序功能之间的联系,而在这之后介绍了计算机病毒具有的某些行为属性,以及这些特征行为属性所对应的功能,因此该论文与其他计算机病毒论文相比有他的特殊之处,有一定的新意,同时此论文也有一定的参考价值。

猜你喜欢
属性行为病毒
感冒病毒
对两种实体观的探析
儿童玩具设计要素