计算机病毒的发展历程及其分类
定义:1994年《中华人们共和国计算机安全保护条例》定义:“计算机病毒是指编制、或者在计算机程序中插入的,破坏计算机功能或数据、影响计算机使用,并能自我复制的一组计算机指令或者程序代码”。
-
计算机病毒是一段特殊的程序,它与生物学病毒有着十分相似的特性。除了与其他程序一样,可以存储和运行外,计算机病毒(简称病毒)还有感染性、潜伏性、可触发性、破坏性、衍生性等特征。它一般都隐蔽在合法程序(被感染的合法程序称作宿主程序)中,当计算机运行时,它与合法的程序争夺系统的控制权,从而对计算机系统实施干扰和破坏作用。
-
计算机病毒的危害大致有如下几个方面:
(1)对计算机数据信息的直接破坏作用
(2)抢占系统资源
(3)影响计算机运行速度
(4)病毒对计算机硬件的破坏
(5)衍生性
一.计算机病毒的发展历程
1. 理论与概念阶段(1940年代-1970年代)
这一阶段计算机病毒的概念尚处于理论探索,尚未形成实际威胁。
- 1949年:约翰·冯·诺伊曼(John von Neumann)在其论文《复杂自动机的理论与组织》中提出自我复制自动机的概念。他描述了一种能够复制自身代码的程序,类似于生物病毒的传播机制。这是计算机病毒的理论起源,尽管当时计算机技术尚不成熟。
- 1971年:Creeper病毒由Bob Thomas开发,运行在DEC PDP-10计算机上,通过早期互联网前身ARPANET传播。Creeper会在感染的计算机上显示“I’m the Creeper, catch me if you can!”,并通过网络复制到其他系统。随后,Ray Tomlinson开发了Reaper程序专门清除Creeper。这是有记录的首个实验性病毒,目的在于测试自我复制的可能性,而非恶意破坏。
- 技术特点:这一阶段的“病毒”更像是学术实验,传播范围有限,依赖特定硬件和网络环境,无破坏性。
2. 早期病毒与实验阶段(1980年代)
随着个人电脑的普及,病毒开始从实验室走向现实世界,传播媒介主要是软盘,目标多为个人用户。
- 1981年:Elk Cloner病毒由15岁的理查德·斯克兰塔(Richard Skrenta)编写,针对Apple II系统,通过软盘的引导扇区传播。感染后,每50次启动会显示一首短诗,内容无害但具有传播性。这是首个在实验室外“野生”传播的病毒,标志着病毒从理论走向实际。
- 1986年:Brain病毒由巴基斯坦的Basit和Amjad Farooq Alvi兄弟开发,针对IBM PC,感染5.25英寸软盘的引导扇区。Brain的初衷是防止他们的医疗软件被盗版,病毒会替换软盘引导扇区,显示开发者信息和联系方式。Brain传播速度慢但影响广泛,被认为是首个PC病毒。
- 1987年:Jerusalem病毒(又称Friday 13th)出现,感染DOS系统的可执行文件(.COM和.EXE)。每逢周五13号,病毒会删除主机上的程序,造成破坏。这标志着病毒开始具有恶意行为。
- 1988年:Morris蠕虫由罗伯特·莫里斯(Robert Morris)开发,针对Unix系统,利用互联网漏洞(如Sendmail和Finger)传播,感染约6000台计算机(部分互联网(约10%)。蠕虫导致系统资源耗尽,造成网络瘫痪。Morris蠕虫的爆发促使了CERT(计算机应急响应小组)的建立,网络安全意识显著提升。
- 技术特点:病毒利用软盘和早期网络传播,感染引导扇区或可执行文件,破坏性逐渐增强。传播速度受限于物理介质交换或早期网络规模。
3. 病毒爆发与多样化阶段(1990年代)
1990年代,互联网的普及和软件复杂性的增加为病毒提供了新传播途径,病毒种类和破坏力显著提升。
- 1992年:Michelangelo病毒针对DOS系统,感染引导扇区,设定在3月6日(米开朗基罗诞辰)触发,覆盖硬盘数据。尽管实际影响有限,但媒体夸大其威胁,引发公众恐慌。
- 1995年:Concept病毒,首个广泛传播的宏病毒,感染Microsoft Word文档。用户打开感染文档时,病毒通过宏代码执行,感染其他文档。宏病毒利用办公软件的普及,传播效率极高。
- 1998年:CIH病毒(又称切尔诺贝利病毒)由台湾程序员陈盈豪开发,感染Windows 95/98的可执行文件。触发时会覆盖硬盘数据并破坏主板BIOS芯片,导致硬件无法启动。CIH在1998-1999年造成数百万台PC损坏。
- 1999年:Melissa病毒通过电子邮件传播,伪装成重要文档附件,利用Outlook地址簿自动群发。Melissa导致邮件服务器超载,影响企业网络,造成约8000万美元损失。
- 技术特点:宏病毒利用办公软件漏洞,网络传播成为主流,病毒开始针对特定操作系统(如Windows),破坏性从恶作剧转向数据破坏。
4. 网络化与商业化阶段(2000年代)
互联网的全球化和商业化推动了病毒向网络化和犯罪化的转变,恶意软件开始被用于经济犯罪。
- 2000年:ILOVEYOU病毒(又称Love Bug)起源于菲律宾,通过电子邮件以“ILOVEYOU”主题诱导用户打开附件。病毒覆盖文件、窃取密码,感染全球数千万台计算机,造成50-100亿美元损失。
- 2001年:Code Red蠕虫利用Microsoft IIS服务器漏洞,感染35万台服务器,显示“hacked by Chinese”信息。Nimda蠕虫同年出现,通过邮件、文件共享和Web服务器多途径传播,感染速度极快。
- 2003年:Slammer蠕虫利用SQL Server漏洞,传播速度惊人,10分钟内感染全球75,000台服务器,导致ATM机故障、航空公司系统瘫痪。
- 2007年:Zeus木马出现,针对Windows系统,窃取银行凭据和个人数据,成为金融犯罪的主要工具。Zeus通过僵尸网络(Botnet)控制大量感染设备,形成犯罪网络。
- 技术特点:病毒利用互联网漏洞(如SQL注入、缓冲区溢出),传播速度和范围空前,恶意软件开始与犯罪集团挂钩,出现勒索软件、间谍软件等新类型。
5. 现代威胁与复杂化阶段(2010年代至今)
现代病毒更加隐蔽、针对性强,结合国家支持的网络战和复杂犯罪活动,威胁程度达到新高度。
- 2010年:Stuxnet蠕虫由美以联合开发,针对伊朗核设施的西门子工业控制系统,利用4个零日漏洞,通过U盘和网络传播,精确破坏离心机,延缓伊朗核计划。这是首个国家级网络武器。
- 2013年:CryptoLocker勒索软件通过加密受害者文件索要比特币赎金,开创了现代勒索软件模式。传播通过钓鱼邮件,影响数十万用户。
- 2017年:WannaCry勒索软件利用Windows SMB协议漏洞(EternalBlue),感染全球150个国家的20万台设备,影响医院、银行等,勒索金额要求比特币支付。NotPetya同年爆发,伪装为勒索软件,实为破坏性攻击,针对乌克兰基础设施,造成数十亿美元损失。
- 2020年:SolarWinds供应链攻击通过软件更新植入后门,影响美国政府和多家企业,窃取敏感数据,显示高级持续性威胁(APT)的复杂性。
- 2020年代趋势:
无文件恶意软件:运行在内存中,规避传统杀毒软件检测。
勒索软件升级:如Ryuk、REvil,采用“双重勒索”,加密数据同时威胁泄露。
AI驱动攻击:利用机器学习生成动态代码,规避防御。
物联网攻击:如Mirai僵尸网络(2016年),利用摄像头、路由器等设备发起DDoS攻击。 - 技术特点:利用零日漏洞、供应链攻击、社交工程,目标从个人转向企业、政府和关键基础设施,攻击更具针对性和隐蔽性。
二. 相关概念
1.宏与宏病毒(Macro and Macro virus)
在Windows环境下数据文件是由Word等文字处理软件建立的,被称为文档文件或文档。Word文档中包含两种信息:文本信息(或称文本)、格式信息。
Microsoft Word中对宏的定义为“宏就是能够组织在一起的,可以作为一个独立命令来执行的一系列Word命令。它能使日常工作变得容易”。
Word文档中的格式信息就包含了很多这样的宏。Word的宏语言有十分强大的功能,它具备访问系统的能力,可以直接运行DOS系统命令、调用Windows API、DLL等。这些操作都可能对系统的安全直接构成威胁。
如果一个宏中包含了上述形式的有破坏能力的命令,并且还有自我复制功能,这个宏就成了宏病毒。概括起来讲,宏病毒就是使用宏语言编写的有一定破坏能力的程序,可以在一些数据处理系统中运行(主要是微软的办公软件系统,字处理、电子数据表和其他Office程序中),存在于字处理文档、数据表格、数据库、演示文档等数据文件中,利用宏语言的功能将自己复制到其他数据文档中。
除了Word宏病毒外,常见的还有Excel宏病毒PowerPoint宏病毒等。
宏病毒(感染word,Excel等⽂件):美丽沙,台湾⼀号。
2.脚本语言与脚本病毒(Script Language and Script Virus)
脚本病毒类似于宏病毒,但它的执行环境不再局限于Word、Excel等Microsoft Office应用程序,而是随着Microsoft 将脚本语言和视窗操作系统日益紧密的结合,扩展到网页、HTA,甚至文本文件中。
脚本语言是介于HTML和Java、C++和Visual Basic之类的编程语言之间的语言。脚本语言需要一个脚本语言引擎解释执行脚本语言编写的程序。
主要的脚本语言包括活动服务器页面(Active Server Pages)、微软可视化BASIC脚本语言(Microsoft Visual Basic Scripting Edition)、Java Script、PHP、REXX、PERL等等。脚本语言的功能越来越强大,现代的脚本语言基本上可以完成所有的文件系统操作,所以使用脚本语言的病毒的出现也就成为必然。
脚本病毒主要有以下几种类型:基于JavaScript的脚本病毒,基于VBScript的脚本病毒(很多宏病毒其实就属于这一类),基于PHP的脚本病毒,脚本语言和木马程序结合的病毒。\
3.蠕虫(Worm)
蠕虫是一个程序,它进入计算机网络,利用空闲的处理器去测定网络中的计算机跨度。蠕虫程序由许多段构成,在其主段的控制下,蠕虫的某个段运行在单独的计算机上。蠕虫典型的传播方式是依靠网络的漏洞,利用网络或电子邮件方式由一台计算机传播到另一台计算机,靠将自身向其他计算机提交来实现再生,并不将自身寄生在另一个程序上。
本来蠕虫是作为分散式计算领域中研究的一部分而被编写的,没有破坏安全的意图,也不隐藏其出现或运作(蠕虫也可以用重写某特定内存区的方法进行破坏,在蠕虫运行中也可以破坏程序,蠕虫通常造成的后果是网络阻塞,甚至由此造成系统崩溃)。所以,一般而言,蠕虫本身并不被当作传统的计算机病毒。但是现在,蠕虫被病毒的制造者们加以利用,很多带有蠕虫性质的计算机病毒被制造出来,它们实际上是蠕虫和病毒的混合体,既有蠕虫的在网络上繁殖的功能,又有病毒的寄生和破坏的功能,比如1999年出现,之后流行了几年的Melissa病毒、“求职信”病毒、“杀手13”病毒等等。
目前在流行的恶性病毒中,有90%以上的病毒是蠕虫病毒。
蠕⾍病毒(感染EXE⽂件 可执⾏⽂件):熊猫烧⾹,罗密欧与朱丽叶,恶魔,尼姆达,冲击波
4.木马(Trojan Horse)
所谓特洛伊木马程序,是指一种程序,从表面看是正常程序,可以执行明显的正常功能,但也会执行受害者没有预料到的或不期望的动作。
通常木马并不被当成病毒,因为它们通常不包括感染程序,因而并不自我复制,只是靠欺骗获得传播。现在,随着网络的普及,木马程序的危害变得十分强大,如今它常被用作在远程计算机之间建立连接,像间谍一样潜入用户的计算机,使远程计算机通过网络控制本地计算机。
按照木马程序对计算机的不同破坏方式,可以把现在的木马程序分为以下几类:远程访问型、密码发送型、键盘记录型、毁坏型和FTP型。
例如,1989年美国人类学家鲍伯博士编写了一个特洛伊木马程序,复制逾万片免费邮送到世界各地,但在说明书中要挟用户,使用之前必须向他支付378美元,否则将会损坏用户的其他程序。这个程序是一个有关医学研究爱滋病信息的数据库,平时,该数据库的确是一个正常的有用数据库。但是,当用户启动该数据库90次时,突然它将磁盘上的所有文件加密。
从2000年开始,计算机病毒与木马技术相结合成为病毒新时尚。
⽊⻢:QQ消息尾巴⽊⻢,特洛伊⽊⻢,冰河。
5.后门(Backdoor)
后门是程序或系统内的一种功能,它允许没有账号的用户或普通受限用户使用高权限访问甚至完全控制系统。后门在程序开发中有合法的用途,有时会因设计需要或偶然因素而存在于某些完备的系统中。后门不是计算机病毒,但显然后门也会成为别有用心者的利器。
6. 勒索软件(Ransomware)
定义:加密受害者文件或锁定系统,索要赎金以解锁。
示例:
CryptoLocker(2013):通过比特币勒索,感染数十万用户。
WannaCry(2017):全球性攻击,影响医院、银行等。
REvil(2020):采用“双重勒索”,加密并威胁泄露数据。
特点:以经济利益为目标,破坏性极高,常结合其他恶意软件。
攻击方式:通过钓鱼邮件、RDP漏洞或恶意广告传播,加密文件后显示赎金提示。
三.计算机病毒分类
1. 计算机病毒分类汇总
分类维度 | 类型(中文) | 类型(英文) | 描述 | 病毒样本 |
---|---|---|---|---|
传播方式 | 文件型病毒 | File Virus | 附着在可执行文件(如 .exe, .com)上,用户一旦运行,被感染的程序就会激活病毒,进而传播到系统中的其他文件。 | ⭐Cascade(级联病毒)、Jerusalem(耶路撒冷病毒) |
引导区病毒 | Boot Sector Virus | 感染硬盘或U盘等设备的主引导记录(MBR)或引导扇区,病毒在系统启动时自动加载并运行。 | ⭐Michelangelo(米开朗基罗病毒)、Stoned(迷幻病毒) | |
宏病毒 | Macro Virus | 利用如 Word、Excel 的宏语言编写,嵌入到文档中,文档打开后病毒自动执行。传播依赖用户打开文档。 | ⭐Melissa(梅丽莎病毒)、Concept(概念病毒) | |
脚本病毒 | Script Virus | 以 .vbs、.js、.bat 等脚本文件为载体。通过邮件、网页等传播,常伪装成正常文件引诱点击。 | ⭐ILOVEYOU(我爱你病毒)、Kakworm(卡库蠕虫) |
分类维度 | 类型(中文) | 类型(英文) | 描述 | 病毒样本 |
---|---|---|---|---|
行为特征 | 蠕虫病毒 | Worm | 能独立运行,不依附于宿主文件。通过网络传播,利用系统漏洞自动复制传播,无需用户操作。 | ⭐Blaster(冲击波)、Sasser(萨瑟)、Code Red(红色代码) |
木马程序 | Trojan Horse | 假装成正常程序,一旦运行就会执行恶意操作,如远程控制、键盘记录、窃取信息。不会自我复制。 | ⭐Zeus(宙斯木马)、Back Orifice(后门特务) | |
勒索病毒 | Ransomware | 加密用户文件或锁定系统,向受害者索要赎金才能恢复数据。常通过钓鱼邮件或漏洞传播。 | ⭐WannaCry(想哭病毒)、CryptoLocker(加密锁病毒) | |
间谍软件 | Spyware | 隐秘运行,监视并收集用户活动、账号密码、浏览记录等,常用于窃取隐私或商业间谍行为。 | ⭐FinFisher(金融间谍)、DarkHotel(暗网酒店) | |
根套件 | Rootkit | 用于隐藏病毒的存在并提高权限,能绕过杀毒软件检测并持久控制目标系统。 | ⭐Hacker Defender(黑客防御者)、NTRootkit(NT根套件) |
分类维度 | 类型(中文) | 类型(英文) | 描述 | 病毒样本 |
---|---|---|---|---|
驻留特性 | 驻留型病毒 | Resident Virus | 加载后会驻留在内存中,持续监控系统操作,如文件打开、程序运行等,并感染其他文件。 | ⭐Sality(萨利提)、Randex(兰德克斯) |
非驻留病毒 | Non-resident Virus | 不驻留内存,运行后立即查找并感染目标文件,完成后退出,感染速度快但不持续存在。 | Vienna Virus(维也纳病毒) |
分类维度 | 类型(中文) | 类型(英文) | 描述 | 病毒样本 |
---|---|---|---|---|
攻击目标 | 系统病毒 | System Virus | 攻击操作系统核心模块,破坏或提权,攻击操作系统本身,包括系统文件、注册表、驱动程序等,造成崩溃或权限提升。 | ⭐CIH(陈盈豪病毒 / Chernobyl) |
网络病毒 | Network Virus | 通过网络传播,利用网络协议漏洞攻击服务器或客户端。常用于发动DDoS、蠕虫传播。 | ⭐Conficker(冲击波变种)、SQL Slammer(SQL打击者) | |
数据库病毒 | Database Virus | 针对数据库系统进行破坏、注入恶意语句或窃取数据,常见于 Web SQL 注入攻击中。 | Oracle Worm(甲骨文蠕虫) | |
移动病毒 | Mobile Virus | 感染手机设备,通常通过恶意应用、短信链接、第三方应用市场传播。 | ⭐DroidDream(梦魇木马)、XcodeGhost(幽灵代码) | |
浏览器劫持 | Browser Hijacker | 篡改浏览器设置,如主页、搜索引擎、广告注入,常通过插件或软件下载时附带。 | Snap.do(搜索劫持器)、CoolWebSearch(酷搜劫持) |
分类维度 | 类型(中文) | 类型(英文) | 描述 | 病毒样本 |
---|---|---|---|---|
攻击目的 | 破坏型病毒 | Destructive Virus | 以破坏系统或文件为目的,如删除文件、格式化硬盘、烧毁硬件(极端罕见)。 | ⭐CIH(陈盈豪病毒 / Chernobyl)、Logic Bomb(逻辑炸弹) |
广告软件 | Adware | 显示广告、修改浏览器配置、收集广告数据,一般不直接破坏系统,但影响体验。 | Fireball(火球广告)、Gator(鳄鱼广告) | |
控制型病毒 | Remote Control Virus | 建立远程后门,允许攻击者控制系统,常用于僵尸网络(Botnet)构建。 | ⭐njRAT(远控老鼠)、DarkComet(暗彗星) | |
窃密病毒 | Stealer | 专门用来盗取账号密码、敏感信息,如银行卡号、邮箱等。 | ⭐Keylogger(键盘记录器)、FormBook(表单信息盗取者) | |
隐蔽型病毒 | Stealth Virus / Persistence Virus | 使用伪装、加密、进程注入等技术,长时间潜伏系统中,规避杀毒软件。 | ⭐Rootkit(根套件)、Bootkit(引导区隐匿病毒) |
2. 最著名计算机病毒 Top 10
病毒名(中文) | 病毒名(英文) | 简要介绍 |
---|---|---|
想哭病毒 | WannaCry | 利用“永恒之蓝”漏洞传播,全球爆发于2017年,造成巨大损失 |
我爱你病毒 | ILOVEYOU | 2000年通过电子邮件传播的脚本病毒,点击信件即感染 |
陈盈豪病毒 | CIH / Chernobyl | 由台湾学生陈盈豪编写,能破坏 BIOS 芯片,极具破坏力 |
红色代码 | Code Red | 2001年爆发的蠕虫病毒,攻击微软 IIS 服务 |
冲击波 | Blaster | 2003年爆发,利用 RPC 漏洞导致系统崩溃 |
Zeus 木马 | Zeus | 专门窃取在线银行信息,木马家族活跃多年 |
CryptoLocker | CryptoLocker | 勒索病毒鼻祖,加密文件并索要比特币赎金 |
SQL 打击者 | SQL Slammer | 世界最快传播蠕虫之一,感染整个互联网只用10分钟 |
DroidDream | DroidDream | Android 上的著名木马病毒,伪装成正常 App 发布 |
FinFisher 间谍 | FinFisher | 政府级间谍软件,被多国滥用用于监控记者、异见人士 |