购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.1 计算机病毒起源

风与浪、江与潮的关系,无不在昭示着事物发展变化都有其内在的因果关联。自然界或现实物理空间的因果关系,能极其自然地推广至网络空间。在网络空间中,计算机病毒犹如数字顽疾,伴随着信息技术的发展壮大而蔓延泛滥。从某种意义上说,只要有程序代码的地方,都能看见计算机病毒的身影。计算机病毒是IT的伴生者。众所周知,任何新技术都具有双面性,既能服务于大众,又能为计算机病毒所利用而为患网络空间。因此,计算机病毒是伴随IT发展挥之不去的黑色创痕与技术顽疾。

网络空间的计算机病毒,并不是随着计算机诞生而立即出现的,其起源、诞生与繁衍同样遵循因果发展规律。探究计算机病毒的前世与起源,既能了解有关计算机病毒起源的趣闻轶事,也能一窥计算机病毒演化脉络与底层逻辑。

计算机病毒起源大致分为四个版本:理论起源、游戏起源、科幻起源、实验起源。下面将从这四个方面分别介绍计算机病毒起源。

1.1.1 计算机病毒理论起源

从时间轴的演化逻辑来看,先有计算机,后有计算机病毒。1945年6月30日,冯·诺伊曼(John Von Neumann)与戈德斯坦、勃克斯等人,联名发表了一篇长达101页的报告:《EDVAC报告书的第一份草案》( First Draft of a Report on the EDVAC ),史称《101页报告》。该报告首次使用“存储程序思想”(Stored-program)来描述现代计算机逻辑结构设计,明确规定了计算机用二进制替代十进制运算,并将计算机从结构上分成控制器、存储器、运算器、输入设备和输出设备五大组件,是现代计算机科学发展史中的里程碑式文献(见图1-1)。冯·诺伊曼因在计算机逻辑结构设计上的卓越贡献,被誉为“计算机之父”(见图1-2)。

冯·诺伊曼在提出现代计算机逻辑结构(存储程序结构)之后,于1949年发表了论文《复杂自动装置的理论及组织》( Theory and Organization of Complicated Automata ),论证了自我复制程序存在的可能性。冯·诺伊曼首次提出用自我构建的自动机来仿制自然界的自我复制过程:①该系统由三部分组成,即图灵机、构造器和保存于磁带上的信息;②图灵机通过读取磁带上的信息,借由构造器来构建相关内容;③如果磁带上存储着重建自身所必需的信息,则该自动机就能通过自我复制来重建自身(见图1-3)。

图1-1 冯·诺依曼体系结构

图1-2 冯·诺伊曼及其发明的计算机

图1-3 自我复制自动机

后来,冯·诺伊曼在Stanislaw Ulam的建议下使用细胞自动复制过程来描述自我复制机模型:使用200000个细胞构建了一个可自我复制的结构。该模型从数学上证明了自我复制的可能性:规则的无生命分子可组合成能自我复制的结构,如借助必要的信息就能完成自我复制。该模型勾勒出计算机病毒出现的可能性,可称之为计算机病毒的数理前世。

1.1.2 计算机病毒游戏起源

冯·诺伊曼从理论上勾勒出了计算机病毒的数理蓝图,而“磁芯大战”游戏的三位程序员则将程序的自我复制付诸实践。1966年,美国著名AT&T贝尔实验室的三位年轻程序员:道格拉斯·麦基尔罗伊(Douglas McIlroy)、维克多·维索特斯克(Victor Vysottsky)及罗伯特·莫里斯(Robert T.Morris)共同开发了名为“达尔文”(Darwin)的游戏程序。该程序最初是在贝尔实验室PDP-1上运行的,后来便演变为“磁芯大战”(Core Wars)游戏。“磁芯大战”就是汇编程序间的大战,程序在虚拟机中运行,通过不断移动自身来避免被其他程序攻击或在自身遭受攻击后进行自动修复并试图破坏其他程序,生存到最后的即为胜者。由于它们都在计算机存储磁芯中运行,故称之为“磁芯大战”(见图1-4)。

图1-4 “磁芯大战”游戏

“磁芯大战”游戏通过真正的汇编程序实现了自我复制并攻击对方的目的。尽管其设计初衷是消磨时间与满足好胜心理需求,但该游戏却真实地具备了计算机病毒的自我复制与破坏系统的特质。从这个意义上来说,“磁芯大战”游戏可算作计算机病毒的游戏前世。

1.1.3 计算机病毒科幻起源

科幻小说世界中的东西往往能成为启发人们实践的思维先导。1975年,美国科普作家约翰·布鲁勒尔(John Brunner)出版了名为《震荡波骑士》( Shock Wave Rider )的科幻书,讲述了男主角在网络社会中用蠕虫程序改写自己身份,然后逃避惩罚的故事。该书精确地预言了如今的大规模网络、黑客、基因工程和计算机病毒等概念与事物。1977年,美国科普作家托马斯·捷·瑞安(Thomas.J.Ryan)发表的科幻小说《P-1的春天》( The Adolescence of P-1 )成为美国畅销书(见图1-5)。作者在该书中构思了一种能够自我复制、利用信息通道传播的计算机程序,并称之为计算机病毒。该计算机病毒最后控制了7000台计算机,造成了一场空前灾难。

图1-5 科幻小说《P-1的春天》( The Adolescence of P-1

尽管该“计算机病毒”只是科幻小说里的事物,但它或许就是启发程序员开发现实中类似程序的实例,可被视为计算机病毒的科幻前世。事实表明,科幻小说世界中的东西一旦成为现实,将极有可能成为人类社会的噩梦。计算机病毒的诞生及其发展史真实地见证并诠释了这个观点。

1.1.4 计算机病毒实验起源

正如鲁迅先生所言:“其实地上并没有路,走的人多了就有了路。”任何事物都是在不断尝试中发展、不断探索中突破,量变之后才会迎来质变。有了计算机及编程语言之后,在前人的不断努力、反复探索下,在经历了数理、游戏、科幻等前世之后,计算机病毒的原始胚胎已逐渐形成并由此进入萌芽期。

1983年11月3日,美国南加州大学的学生弗雷德·科恩(Fred Cohen)在UNIX系统下,编写了一个能自我复制、可引起系统死机并能在计算机之间传播的程序。弗雷德·科恩为宣示证明其理论而将这些程序以论文 Computer Virus-Theory and Experiments 发表,在当时引起了不小的震撼。弗雷德·科恩编写的这段程序,将计算机病毒所具备的破坏性公之于众。在其导师伦·艾德勒曼(Len Adleman)的建议下,弗雷德·科恩将该程序命名为“计算机病毒”(Computer Virus),并提出了第一个学术性的、非形式化的定义:计算机病毒是一种计算机程序,它通过修改其他程序把它自己的一个复制体或其演化的复制体插入其他程序,从而感染它们。同时,他还提出了著名的科恩范式:不存在能检测所有计算机病毒的方法。这让安全研究者放弃了寻找安全永动机,从而走上了进行工程对抗的反病毒研究路线。弗雷德·科恩也因此而获得“计算机病毒之父”的美誉(见图1-6)。

图1-6 计算机病毒之父——弗雷德·科恩(Fred Cohen)

弗雷德·科恩提出“计算机病毒”概念时,正值计算机技术发展风起云涌之时。在硬件方面,Intel公司不断推陈出新,相继发布了Intel 80286、Intel 80386等CPU芯片;在软件方面,Microsoft公司发布了MS-DOS操作系统;蓝色巨人IBM公司则推出了集成Intel芯片与MS-DOS操作系统的IBM-PC机,极大地推动了计算机技术的发展与普及。至此,计算机病毒走完了从理论证明到实验验证的前世,并通过自我进化适应了其外部运行环境(主要指当时流行的MS-DOS操作系统),完成了破茧成蝶的演化。

1986年,首例真正意义上的计算机病毒——C-Brain病毒(又称巴基斯坦兄弟病毒)诞生,为巴基斯坦兄弟巴锡特(Basit)和阿姆杰德(Amjad)所编写。兄弟俩经营着一家销售IBM-PC机及其兼容机的小公司。为了提高公司营业额,他们开发了一些程序作为赠品。不料,这些程序很受欢迎,被很多人盗版使用。为了防止软件被非法复制,跟踪并打击盗版行为,兄弟俩接着开发了一个附加在程序上的“小程序”。该“小程序”通过软盘传播,只在软件被盗版复制时才发作,将盗版者的硬盘剩余空间占满。该“小程序”属于引导区病毒,是DOS时代的首例计算机病毒,还是第一例隐匿型病毒,被感染的计算机不会呈现明显症状。

C-Brain病毒的问世犹如打开了潘多拉盒子,随着MS-DOS操作系统的普及,研究者对其进行了深入细致的剖析,逐渐解开了其主要原理和诸多系统功能的调用机制。MS-DOS操作系统为计算机病毒发展提供了全方位生态平台——计算生态系统。“物竞天择,适者生存”,为适应外部运行环境,更好地生存于计算生态系统中,计算机病毒开始自我发展、自我进化,向着多类型、多形态、免杀、隐遁及对抗反病毒等方向全面发展。 d8KW3AUWK+6dGJTw7rXbp4QUHkZbEWKAKGvSIgA0aiPupkgm7WWcQ3d9B2jWcKAH

点击中间区域
呼出菜单
上一章
目录
下一章
×