计算机病毒学
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 计算机病毒进化论组成

计算机病毒进化论(Theory of Computer Virus Evolution)[15]是研究计算机病毒起源、发展及进化动力机制的学科领域。笔者认为,计算机病毒进化论是一门基于计算机科学、人工生命、生物进化论、复杂性科学、控制理论、演化博弈论、经济学、社会心理学等的前沿交叉学科,在计算生态系统中,利用最新的计算机科学技术,研究计算机病毒的起源、生存、适应、延续和发展趋势等,探究计算机病毒进化的代码结构基础、外部运行环境及进化动力机制,并将这些理论用于解决诸如网络武器开发、计算机病毒防御、软件漏洞修复、人工生命构建、软件代码演化等实际的应用课题。

本书所涉及的计算生态系统,是指由计算机软硬件、互联网协议与服务及用户共同构成的生态系统。计算机病毒进化论涉及学科非常广,是典型的高科技、前沿性交叉学科。计算机病毒进化论与其他学科领域的关系如图2-1所示。

图2-1 计算机病毒进化论与其他学科领域的关系

1. 计算机科学

计算机科学(Computer Science)是系统性研究信息与计算的理论基础,以及它们在计算机系统中如何实现与应用的实用技术的学科。计算机科学根植于电子工程、数学和语言学,是科学、工程和艺术的结晶。计算机科学在20世纪最后的30年间兴起并成为一门独立的学科,发展出了自己的方法与术语。作为一门学科,计算机科学涵盖了从算法的理论研究和计算的极限,到如何通过硬件和软件实现计算系统。ACM(Association for Computing Machinery,美国计算协会)和IEEE-CS(IEEE计算机协会)联合确立了计算机科学学科的4个主要领域:计算理论、算法与数据结构、编程方法与编程语言、计算机组成与架构。

计算机病毒进化论主要利用计算机科学的有关手段,研究和模拟计算机病毒的有关理论和仿真实现技术,并将这些理论和实现技术最终用于解决实际问题。笔者认为,计算机病毒进化论的研究,将促进人类对计算机系统的进一步认识、拓展对计算机病毒多样性和适应性的理解、深化对计算机软件演化技术的认识、构建计算机安全科学基础,并最终促进计算机科学技术的持续发展。

2. 生物进化论

进化论(Theory of Evolution)是用来解释生物在世代与世代之间具有变异发展现象的一套理论。21世纪,进化论绝大部分“以分子钟为基础,以蛋白质PAM矩阵和BLOSUM的氨基酸矩阵为证据”的分子系统发生学和进化动力学为基础,以达尔文进化论为指导,以埃尔温·薛定谔的《生命是什么》为主体方向,以近中性突变为框架,已成为当代生物学的核心思想之一。进化论除了作为生物学的重要分支得到重视和发展,其思想和原理在其他学术领域也得到广泛的应用,并形成了许多新兴交叉学科,如演化金融学、演化经济学、网络进化论等。

计算机病毒进化论是基于生物进化论的思想与原理,对计算机病毒在进化发展过程中具有变异现象进行解释和模拟的一套理论。通过借鉴生物进化论的主要思想与原理,计算机病毒进化论既能用于预测评估计算机病毒的未来发展趋势,又能指导反病毒软件研究领域和发展方向,还能为传统的生物学病毒研究提供方法论支持。因此,生物进化论对于计算机病毒进化论的发展至关重要,且相互支撑。

3. 人工生命

人工生命(Artificial Life)是指用计算机和精密机械等生成或构造表现自然生命系统行为特点的仿真系统或模型系统。自然生命系统的行为特点表现为自组织、自修复、自复制的基本性质,以及形成这些性质的混沌动力学、环境适应和进化。人工生命作为一种新的人工智能研究领域,已被国际学术界所承认。美国圣菲研究所非线性研究组的兰顿(Langton C.G.)于1987年首次提出人工生命。美国麻省理工学院于1994年创刊并出版的国际刊物Artificial Life是该研究领域内的权威期刊。

借助计算机病毒进化论研究,可认识或重演自然生命系统,以加深对人工生命研究的理解。例如,美国生物学家托马斯·雷在1990年编写的Tierra(西班牙语,意为地球)模型所创造的生命更具典型性。它们由一系列能够自我复制的代码组成,由于有时会在运行中出错,所以,它们可能发生突变。开始时,Tierra模型中只有一个简单的祖先——“生物”,经过526万条指令后,Tierra模型中出现了366种大小不同的数字生物,仿佛寒武纪大暴发在区区几小时内发生。经过25.6亿条指令后,演化出了1180种不同的数字生物,其中有一些在别的数字生物体内寄生,还有一些对寄生生物具有免疫能力。Tierra模型还演化出了间断平衡现象,甚至还出现了社会组织。总之,自然演化过程中的所有特征,以及与地球生命相近的各类功能行为组织,全都在Tierra模型中模拟并再现。

因此,计算机病毒进化论的研究能加深对生命本质的理解,丰富生命的哲学内涵,计算机病毒进化论和人工生命研究是相互支撑、相互借鉴、相互促进、共同提高的关系。

4. 社会心理学

社会心理学(Social Psychology)是研究个体和群体的社会心理现象的心理学分支。个体社会心理现象,是指受他人和群体制约的个人的思想、感情和行为,如人际知觉、人际吸引、社会促进和社会抑制、顺从等。群体社会心理现象,是指群体本身特有的心理特征,如群体凝聚力、社会心理气氛、群体决策等。社会心理学的基本特点是研究具体社会情境对于人类个体与群体的心理与行为影响。

计算机病毒是人为编制的具有自我复制功能的程序代码。作为社会成员,计算机病毒编写者的思想、感情和行为自然也会受所在社会环境的影响。此类影响也必然会反映至计算机病毒代码中,会制约计算机病毒进化路线,例如,Stuxnet震网病毒只感染伊朗等中东地区的工业控制系统,这与美国和以色列要联合遏制伊朗核计划的外部社会环境相关。

5. 复杂性科学

复杂性科学(Complexity Science)是指以复杂性系统为研究对象,以超越还原论为方法论特征,以揭示和解释复杂系统运行规律为主要任务,以提高人们认识世界、探究世界和改造世界的能力为主要目的的一门新兴交叉学科。复杂性科学兴起于20世纪80年代,是系统科学发展的新阶段,也是当代科学发展的前沿领域之一。复杂性科学的研究内容主要包括耗散结构理论、协同学、超循环理论、突变论、混沌理论、分形理论、元胞自动机理论等。复杂性科学的理论和方法将为人类社会发展提供一种新思路、新方法和新途径,具有很好的应用前景。

计算机病毒进化论也是一个复杂系统,主要内容涉及计算机病毒、操作系统、应用软件、计算机硬件、网络系统、计算机编程语言、反病毒软件等。因此,复杂性科学的理论与方法将对计算机病毒进化论带来突破与创新,而计算机病毒进化论的研究也能为复杂性科学提供新的工具。

6. 控制理论

控制论(Cybernetics)是研究各类系统的控制、信息交换、反馈调节的科学。控制论是涉及人类工程学、控制工程学、通信工程学、计算机工程学、一般生理学、神经生理学、心理学、数学、逻辑学、社会学等众多学科的交叉学科。由于控制论研究的是系统的信息变换和控制过程,所以在控制论中,信息是控制的基础,一切信息传递都是为了控制,进而任何控制又都依赖于信息反馈来实现。

在计算机病毒进化论中,计算机病毒与反病毒软件及外部环境的交互都依赖于信息反馈。因此,控制论对计算机病毒进化论起着重要的基础支撑作用。

7. 经济学

经济是价值的创造、转化与实现;人类经济活动就是创造、转化、实现价值,满足人类物质文化生活需要的活动。经济学(Economics)是研究人类经济活动的规律,即研究价值的创造、转化、实现规律的理论,分为政治经济学与科学经济学两大类型。政治经济学根据所代表的阶级利益,为突出某个阶级在经济活动中的地位和作用,自发从某个侧面研究价值规律或经济规律;科学经济学则应用科学方法,从整体上研究人类经济活动的价值规律或经济规律。

在计算机病毒进化过程中,病毒经济学一直是研究者探究病毒进化动力机制的研究领域,也是病毒编写者创新编写计算机病毒的动力源泉之一。因此,经济学研究可为计算机病毒进化论提供从经济利益视角研究其进化动力机制的理论与实践支撑。

8. 演化博弈论

演化博弈论(Evolutionary Game Theory)是把博弈理论分析和动态演化过程分析结合起来的一种新兴博弈理论。演化博弈论通常以达尔文生物进化论和拉马克遗传基因理论为思想基础,从系统论出发,把群体行为的调整过程视为一个动态系统,其中每个个体的行为及其与群体之间的关系都得到了单独的刻画,可把从个人行为到群体行为的形成机制,以及其中涉及的各种因素都纳入演化博弈模型中去,构成一个具有微观基础的宏观模型,因此,能够更真实地反映行为主体的多样性和复杂性,且可为宏观调控群体行为提供理论依据。

演化博弈理论模型一般基于选择和突变建立,目的是理解群体演化的动态过程,并解释为何群体将达到这一状态,以及如何达到。从本质上而言,计算机病毒进化论也是一种演化博弈理论,主要研究计算机病毒动态演化过程,并解释计算机病毒进化的内在动力机制,即为何计算机病毒能进化到目前这种状态,以及如何进化。因此,演化博弈论对计算机病毒进化论研究至关重要。