一、计算机病毒基础
- 一、病毒的概念阐述
-
计算机病毒是一种能够自我复制、传播,并对计算机系统和数据造成损害的计算机程序或代码段。它就像生物病毒入侵生物体一样,悄悄地潜入计算机系统内部。这些病毒程序通常是由一些恶意的程序员编写,目的可能是为了窃取信息、破坏数据、扰乱系统运行或者用于其他非法活动。
例如,“ILOVEYOU” 病毒,这是一种非常著名的计算机病毒。它通过邮件传播,邮件主题是 “ILOVEYOU”,一旦用户打开邮件附件,病毒就会被激活。它会迅速在计算机系统内传播,对计算机中的文件进行破坏,如覆盖重要文件,导致大量数据丢失。
二、自我复制性
(一)原理
自我复制是计算机病毒的一个核心特征。病毒程序具有能够自动生成自身副本的能力。这一过程通常是通过将自身代码插入到其他可执行文件或者系统区域来实现的。例如,病毒可能会在计算机的硬盘上寻找其他的.exe(可执行文件),然后将自己的代码片段插入其中。
(二)方式
- 文件感染型复制
- 病毒会修改目标文件的代码,将自己的复制代码添加进去。比如,当一个病毒感染一个文本处理软件的.exe 文件时,它会在文件的开头或者其他合适的位置插入自己的代码。这样,每当这个被感染的软件被执行时,病毒代码首先运行,然后再执行软件原本的功能。在这个过程中,病毒代码就可以再次寻找新的目标文件进行感染,从而实现自我复制。
- 内存驻留型复制
- 有些病毒会在计算机的内存中驻留。当系统运行其他程序时,驻留在内存中的病毒代码就会趁机将自己复制到新运行的程序中。例如,引导型病毒在计算机启动时加载到内存中,它会监控系统的运行状态,一旦有新的程序从硬盘加载到内存,它就会把自己的副本植入这个新程序,从而实现自我复制。
-
(三)案例
“熊猫烧香” 病毒就是一个典型的具有强大自我复制能力的病毒。它能够感染系统中的.exe、.com、.pif、.src、.html 和.asp 等多种格式的文件。一旦感染了一个文件,它就会不断地寻找其他相同类型的文件进行复制和感染,使得大量的文件都被其破坏,导致计算机系统无法正常运行。
三、传染性
(一)传播途径
- 网络传播
- 随着互联网的发展,网络成为病毒传播的主要途径之一。病毒可以通过网络协议(如 TCP/IP)在计算机之间传播。例如,蠕虫病毒就是一种主要通过网络传播的病毒。它可以利用网络中的漏洞,自动扫描网络上其他存在相同漏洞的计算机,然后通过网络连接将自己发送到这些计算机上,实现传播。
- 电子邮件也是网络传播的一个重要方式。病毒可以隐藏在邮件的附件或者链接中。当用户打开附件或者点击链接时,病毒就会被激活并传播到用户的计算机系统中。比如,许多垃圾邮件中可能包含病毒附件,一旦用户不小心打开,病毒就会感染用户的计算机,并且还可能通过用户的邮件客户端进一步传播给联系人名单中的其他人。
- 移动存储设备传播
- 移动硬盘、U 盘等移动存储设备也是病毒传播的常见途径。当一个被病毒感染的移动存储设备插入到健康的计算机中时,病毒可以自动运行并感染这台计算机。例如,有些病毒会利用操作系统的自动播放功能。当带有病毒的 U 盘插入计算机时,计算机自动检测到 U 盘并尝试自动播放其中的内容,这时候病毒就会被激活并开始感染计算机。
-
(二)传播机制
- 主动传播
- 某些病毒具有主动寻找新目标的机制。例如,上述提到的蠕虫病毒,它会主动向网络上的其他计算机发送连接请求,一旦发现有可以入侵的目标,就会将自己的代码发送过去,实现传播。这种主动传播方式可以使病毒在短时间内迅速扩散到大量的计算机系统中。
- 被动传播
- 另一种情况是通过用户的操作来传播。例如,用户在不知情的情况下,将被病毒感染的文件从一个计算机复制到另一个计算机,或者从一个存储设备复制到另一个存储设备。这种传播方式虽然相对来说速度较慢,但也是病毒广泛传播的一个重要因素,尤其是在一些内部网络或者移动办公环境中。
-
四、隐蔽性
(一)隐藏方式
- 文件名伪装
- 病毒程序可能会采用与正常系统文件或者常见应用程序文件相似的文件名。例如,它可能会伪装成系统更新文件或者常用软件的补丁文件。用户在看到这些看似正常的文件名时,很容易误以为是合法文件而运行它们。比如,一个病毒可能会将自己命名为 “WindowsUpdate.exe”,让用户误以为是 Windows 系统的更新程序。
-
(二)目的
病毒的隐蔽性主要是为了延长在计算机系统中的生存时间,以便更好地完成其恶意目的。如果病毒很容易被发现,那么它可能在造成大规模破坏之前就被清除掉了。通过隐藏自己,病毒可以在计算机系统中潜伏,不断地进行自我复制和传播,等到合适的时机再发动攻击,如窃取用户的敏感信息或者对系统进行大规模的破坏。
- 进程隐藏
- 在操作系统的进程列表中,病毒可以通过一些技术手段来隐藏自己的进程。它可以利用操作系统的漏洞或者通过挂钩(hooking)系统函数来实现进程隐藏。例如,一些高级的 Rootkit 病毒能够隐藏自己在进程管理器中的显示,使得用户和一些常规的安全检测工具很难发现它们的存在。
- 文件属性隐藏
- 病毒可以修改自己的文件属性,将自己隐藏起来。在一些操作系统中,文件可以设置为隐藏属性。病毒利用这一点,将自己设置为隐藏文件,这样用户在浏览文件系统时,如果没有显示隐藏文件的设置,就很难发现病毒文件的存在。
-
计算机病毒的历史发展
- 1975 年,美国科普作家约翰・布鲁勒尔写了《震荡波骑士》,第一次描写了计算机作为正义和邪恶双方斗争工具的故事1.
- 1977 年,托马斯・捷・瑞安的科幻小说《P-1 的春天》成为畅销书,书中描写了一种可在计算机中互相传染的病毒,最后控制了 7000 台计算机,造成灾难1.
- 1983 年 11 月 3 日,弗雷德・科恩博士研制出可在运行中复制自身的破坏性程序,伦・艾德勒曼将其命名为 “计算机病毒”,并在计算机安全讨论会上正式提出,随后在 VAX11/750 计算机系统上实验成功1.
- 1986 年初,巴基斯坦的巴锡特和阿姆杰德兄弟编写了 Pakistan 病毒,即 Brain,这是第一个真正意义上的电脑病毒, 其目的是防止软件被任意盗拷,该病毒在一年内流传到世界各地12.
- 1988 年 3 月 2 日, 一种苹果机的病毒发作,受感染的苹果机停止工作,只显示庆祝苹果机生日的和平信息1.
- 1988 年 11 月 2 日,美国六千多台计算机被罗伯特・莫里斯设计的病毒感染,造成 Internet 不能正常运行,这是典型的计算机病毒入侵网络事件,迫使美国政府成立计算机应急行动小组,此次事件中计算机系统直接经济损失达 9600 万美元1.
- 1988 年底,我国国家统计部门发现小球病毒1.
- 1992 年,伴随型病毒出现,如 “金蝉” 病毒 ,它感染 EXE 文件时生成一个和 EXE 同名的扩展名为 COM 的伴随体,感染 COM 文件时,则将原来的 COM 文件改为同名的 EXE 文件,再产生一个原名的伴随体2.
- 1995 年以后,随着网络的普及,网络病毒大量涌现,如 1997 年开始,各种利用因特网传播的邮件病毒等越来越多,蠕虫病毒是这一时期的典型代表,它不占用除内存以外的资源,不修改磁盘文件,借助网络功能搜索网络地址进行传播2.
- 2003 年出现的 “冲击波” 病毒和 2004 年流行的 “震荡波” 病毒,利用操作系统和网络的漏洞进行进攻型扩散,用户只要接入互联网络就有可能被感染,危害性极大23.
- 2004 年还出现了手机蠕虫病毒 Cabir,感染诺基亚 Symbian S60 系列手机,此后针对移动智能手机的恶意软件逐渐增多2.
- 2016 年,计算机端勒索病毒样本新增 16.7 万个,近 500 万用户计算机遭到勒索病毒攻击,此类病毒通过加密用户文件勒索钱财2.
早期著名病毒案例回顾
- Brain 病毒:由巴基斯坦兄弟编写,是为了防止软件被盗拷。它会感染磁盘引导区,当计算机启动时,病毒会首先取得控制权,并减少系统内存,修改磁盘读写中断,进而在系统存取操作磁盘时进行传播。不过,其本身的破坏力相对有限,但它为后来的病毒编写者提供了思路和基础12.
- 黑色星期五病毒(Jerusalem):这是一个古董级的 DOS 时代病毒,每逢 13 号又是星期五的日子就会发作,发作时会终止所有使用者执行的程序,导致计算机系统无法正常工作,给用户带来较大的困扰1.
- 米开朗基罗病毒:每年 3 月 6 日米开朗基罗生日时发作,会以 Format 硬盘的方式来 “祝寿”,导致用户辛苦建立的所有资料毁于一旦,因其具有极大的破坏力而闻名1.
- 猴子病毒(Monkey):它是第一个 “引导型” 病毒,只要使用被其感染过的软盘开机,病毒就会入侵电脑,还会移走硬盘的分区表,让计算机开机时出现错误信息,相比文件型病毒,它的感染途径更为棘手1.
- 音乐虫病毒:这是中国台湾地区出现的病毒,发作时会大声唱歌,甚至造成资料流失、无法开机等问题,是一种比较有特色的病毒1.
病毒发展的不同阶段与标志性事
- 原始病毒阶段(1986 年 - 1989 年):计算机应用软件少且大多单机运行,病毒未大量流行,种类有限,清除较容易。如小球、石头病毒等,它们主要通过截获系统中断向量来监视系统运行状态,并在一定条件下传染,且病毒程序无自我保护措施123.
- 混合型病毒阶段(1989 年 - 1991 年):随着局域网的应用与普及,病毒迎来第一次流行高峰。这类病毒既感染硬盘引导记录,又感染磁盘文件,如 3544 幽灵、“侵略者”/Invader 病毒等,其攻击目标趋于混合,传染方式更隐蔽,且传染后无明显特征,病毒程序还采取了自我保护措施,并出现许多变种123.
- 伴随、批次型阶段(1992 年开始):伴随型病毒出现,如 “金蝉” 病毒,利用 DOS 加载文件的优先顺序工作,不改变原文件内容、日期及属性。而批次型病毒则类似于 “海盗旗” 病毒,在 DOS 下工作,这一阶段的病毒技术向多维化方向发展,有些开始破坏计算机硬盘的引导扇区,使计算机无法启动2.
- 网络病毒阶段(1995 年以后):网络的普及使得病毒大量利用网络传播,如蠕虫病毒等,它们一般不需要宿主程序,能够跨平台,借助网络迅速传播,破坏系统数据,还能窃取重要数据资料,如个人数据文件、网络账号密码等,这一时期反病毒产业开始萌芽并逐渐壮大123.
- 主动攻击型病毒阶段(2000 年以后):典型代表如 2003 年的 “冲击波” 病毒和 2004 年的 “震荡波” 病毒,它们利用操作系统和网络的漏洞进行进攻型扩散,用户接入网络即可能被感染,危害极大,推动了网络安全防护技术的进一步发展123.
- 手机病毒阶段(2004 年以后):2004 年出现的 Cabir 手机蠕虫病毒,感染诺基亚 Symbian S60 系列手机,此后针对移动智能手机的恶意软件逐渐增多,威胁着用户的个人隐私、财产安全等,使计算机病毒的战场从传统互联网延伸到了移动通信网络2.
- 勒索病毒阶段(2010 年以后):2016 年勒索病毒爆发,通过钓鱼邮件、网页挂马、漏洞攻击等方式感染用户设备,劫持系统使用权、破坏数据可用性,并勒索用户支付赎金,其利用加密算法对文件加密,给用户带来了巨大的损失和困扰2.
二、计算机病毒分类
-
按感染对象分类
一、文件型病毒(工作原理与常见类型)
(一)工作原理
- 嵌入文件代码:文件型病毒主要将自身代码嵌入到可执行文件(如.exe、.com、.dll 等)中。当这些被感染的文件被执行时,病毒代码首先获得控制权,然后按照预先编写的程序逻辑进行操作。例如,病毒可能会在宿主文件的开头、中间或结尾部分插入自己的指令集。
- 修改文件入口点:它通常会修改被感染文件的入口点(Entry Point)。入口点是程序开始执行的位置,病毒把这个位置指向自己的代码,这样在文件运行时就会先执行病毒代码,然后再跳转到原来的程序入口点执行正常的程序功能。这就像在一本书的开头插入了几页自己的内容,读者翻开书时先看到的是插入的内容,之后才是原来书的正文。
- 自我复制与传播:在执行过程中,病毒会寻找其他可执行文件进行感染。它通过遍历文件系统目录,识别合适的文件类型,然后将自身复制到这些文件中。一些病毒还能够通过网络共享文件夹或者移动存储设备来传播到其他计算机上的文件。
(二)常见类型
二、引导型病毒(如何影响系统引导过程)
(一)感染过程
(二)对系统引导过程的影响
- 寄生病毒(Parasitic Virus):这是最常见的文件型病毒类型。它依附于宿主文件,像寄生虫一样,将自己的代码附加到宿主文件的代码之中。例如,“维也纳病毒” 就是寄生病毒的典型代表。它感染.com 文件,会在文件头部插入自己的病毒代码,并且会在文件执行过程中寻找其他.com 文件进行感染。
- 覆盖病毒(Overwriting Virus):这种病毒会用自己的代码覆盖宿主文件的部分或全部内容。通常,被覆盖的文件会失去原来的功能,因为病毒代码完全替换了原有的有效指令。例如,“垃圾邮件病毒”(Tr