计算机病毒及其防治 Computer Virus Analysis and Antivirus

Episode I
计算机病毒的历史
FUDAN UNIVERSITY 3
世界上第一台计算机诞生
1946 年2月14日,宾夕法尼亚大学莫尔电气学院
Moore School of Electrical Engineering
)的莫
克利教授( John
Mauchly
)和埃克特工程师( J.
Presper
Eckert, Jr.
)设计制造出了世界上第一台
计算机 ENIAC
Electronic Numerical Integrator
And Computer
)。
John
Mauchly
J.
Presper
Eckert
FUDAN UNIVERSITY 4
FUDAN UNIVERSITY 5
病毒
概念的最早出现
1945
年约翰 ·
·
诺依曼( John Von Neumann
提交了改进 ENIAC
EDVAC
Electronic
Discrete Variable Automatic Computer
)设计方
案,引入了运算器、逻辑控制装置、存储器、输
入和输出设备的概念。
1949
年,冯 ·
诺依曼在《复杂自动装置的理论及
组织》( Theory and Organization of Complicated
Automata
) 中提出了计算机程序能够在内存中自
我复制。
John Von Neumann
FUDAN UNIVERSITY 6
Von Neumann and his IAS
(Institute of Advance Study
)
IAS today
FUDAN UNIVERSITY 7
Darwin
游戏
60 年代初,AT&T公司的贝尔实验室(Bell Labs)
中,三个年轻的小伙儿道格拉斯 ·
麦耀莱
(Douglas McIlroy)、维特 ·
维索斯基(Victor
A. Vyssotsky )和罗伯特 ·
莫里斯(Robert T.
Morris, Sr. )编制出了一个运行在 IBM 7090
器上、叫做Darwin(达尔文)的游戏。
Douglas
McIlroy
IBM 7090
FUDAN UNIVERSITY 8
Worm
rmWo
程序
1982 年,施乐(Xerox)公司研究中心的约
·
肖奇(John F. Shoch)和乔恩 ·
贺普
(Jon A. Hupp)设计出了能够占用其它机器
空闲资源的Worm程序。
爬行者 (Creeper) ,每一次把它读出时,它
便自己复制一个副本。爬行者的唯一生存目
的就是繁殖。
“收割者”(Reaper),它的唯一生存目的便
是找到爬行者,把它们毁灭掉。当所有爬行
者都被收割掉之后,收割者便执行最后一项
指令:毁灭自己,从电脑中消失。
FUDAN UNIVERSITY 9
磁芯大战
Core War
eroCWa
磁芯大战(Core War)是1984年由
杜特尼(A.
K.
Dewdney )和琼斯( D.
G. Jones
)设计出来的,吸取了
Darwin 游戏和Worm的思想。
Alexander
Keewatin
Dewdney
FUDAN UNIVERSITY 10
磁芯大战
简介
1985
年专门成立了 International Core War
Society
组织
因五、六十年代的计算机的存储器大多采用磁芯
ferromagnetic core
),故称为 Core War
eroCWa
编程语言:所谓的 Redcode
,接近于汇编,解释
执行。两个标准: ICWS-88
I8CWS
ICWS-94
I49CWS
运行环境: MARS
Memory Array
Redcode
Simulator
),类似虚拟机
运行空间:
8000
个存储空间,环型队列
执行方式: 2
个程序被调入存储空间的随机位
置,然后一方一条指令交替执行,最多执行
80000
回合
MARS
的寻址方式:相对寻址
FUDAN UNIVERSITY 11
磁芯大战
的规则
参与者在同一个 MARS
内各自创建进程,
这些进程相互开展竞争,通过各种方式摆
脱对方进程的控制并占领计算机,取得最
终的胜利。
玩游戏的人只能看着屏幕上显示的战况,
而不能做任何更改,一直到某一方的程序
被另一方的程序完全
吃掉
,导致对方进
程无法执行为止。
FUDAN UNIVERSITY 12
RedCode
指令集
MOV 3 100
MOV 3 100
MOV 3 100
FUDAN UNIVERSITY 13
几个有名的
磁芯大战
程序
侏儒(Dwarf)
:它在记忆系统中前进,每到第五
地址
便把那里所储存的东西变为0
,这会使
原本的程序出错。
印普(Imp)
:只有一行指令,那就是MOV 0 1
当印普展开行动之后
,
电脑中原有的每一行指令
都被改为
MOV 0 1
Gemini
:将自己复制到当前位置+100
的存储空
间,然后跳转到那个备份,并从那里开始重新执
行。同类的还有Juggernaut
Bigfoot
等。
imp
MOV
imp, imp + 1
bomb
dat
-1
dwarf
add
#5, bomb
mov
#0, @bomb
jmp
dwarf
FUDAN UNIVERSITY 14
Raidar
:两端设立两个
岗哨
缓冲区
,一旦
发现某个
岗哨
被破坏,就将自身复制到这个被
破坏的
岗哨
的另一侧,并主动建立新的
岗哨
缓冲区
。主要针对Imp
Dwarf
这一类的攻
击者。
几个有名的
磁芯大战
程序
FUDAN UNIVERSITY 15
几个有名的
磁芯大战
程序
Scanner
raSncne
:在存储空间中创建2
个完全一样
的程序副本,从其中一个执行,并不断扫
描另一个程序副本是否和自己相同,如果
不相同则认为那个副本受到攻击,将自身
复制到那个副本,并将执行权交给那个副
本,反过来扫描自己。它总是假定正在执
行的副本是正确的。主要对付那些慢速移
动攻击者,如Imp
Dwarf
faDwr
Juggernaut
等。
FUDAN UNIVERSITY 16
虚幻的计算机战争
1975 年,美国科普作家约翰·
布鲁勒尔(John
Brunner) 写了一本《震荡波骑士》(The
Shockwave Rider) ,成为当年最畅销书之一。
书中描述一个极端主义政府利用超级计算机
网络控制民众,自由主义战士利用一种称为
tapeworm
的程序,感染了整个网路,致使
政府不得不关闭这个网络,最终打败了极端
主义政府。
John Brunner
FUDAN UNIVERSITY 17
计算机病毒
概念的提出
1977 年夏天,托马斯·
·
瑞安(Thomas J.
Ryan )的科幻小说《P-1的青春》(The
Adolescence of P-1 )成为美国的畅销书。
作者幻想了世界上第一个计算机病毒(P-
1 ),可以从一台计算机传染到另一台计
算机,最终控制了7000台计算机,酿成了
一场灾难。
Computer Virus 这个词就是在这部科幻小
说中首次出现的。
FUDAN UNIVERSITY 18
第一例个人计算机的病毒
1982
年,运行在Apple II
IepAIpl
计算机上的病毒
Elk
Cloner
lroCne
被发现
Richard
Skrenta
eaSntkr
编写,当时9
年级。
病毒感染磁盘,然后驻留内存,感染任何
插入磁盘驱动器的软盘。如果用被感染的
磁盘启动达到50
次,会在屏幕上出现:
Ref.
http://
www.skrenta.com
/
Rich
Skrenta
"Elk
Cloner
: The program with a personality
It will get on all your disks
It will infiltrate your chips
Yes it's
Cloner
!
It will stick to you like glue
It will modify ram too
Send in the
Cloner
!"
FUDAN UNIVERSITY 19
实验室中的病毒
1983 年11月3日,当时在南加州大学(USC:
University of Southern California )攻读
博士的弗雷德·
科恩(Fred Cohen)研制出一
种在运行过程中可以复制自身的程序。
他的导师伦·
艾德勒曼(Leonard M. Adleman)
将这种程序命名为
Virus
Fred Cohen
FUDAN UNIVERSITY 20
实验室中的病毒
经过8小时的努力,病毒代码在VAX 11/750计
算机系统上编写完成,一周内获得试验许
可,并进行了5次试验。11月10日F. Cohen将
病毒程序演示给安全讨论会成员,从而在实
验上验证了计算机病毒的存在。
病毒程序被称为vd,看上去为图形化展示目
录内容的功能,实际上感染了该病毒的程序
运行中将获得系统权限,并将权限传递给其
他用户。
1984 年,科恩以 Computer Virus - Theory
and Experiments 为博士毕业论文,阐述了计
算机病毒实际存在,引起世界的广泛关注。
FUDAN UNIVERSITY 21
第一例特洛伊木马程序
1985
年,出现了第一例特洛伊木马
程序(Trojan horse
):EGABTR
该程序通过mailbox
传播,伪装成图
形增强程序,描述文字说可以提高
你的IBM EGA
显示性能,但实际上
运行后即删除磁盘上的FAT
表,并
在屏幕上显示"
Arf
!
Arf
! Got you!"
FUDAN UNIVERSITY 22
第一例IBM PC
病毒
1986 年初,在巴基斯坦(Pakistan)
的拉合尔(Lahore),巴锡特(Basit
Farooq Alvi )和阿姆杰德(Amjad
Farooq Alvi )两兄弟编写了
Brain
病毒
又称为(C)Brain病毒、大脑病毒、
巴基斯坦大脑病毒、Pakistan病
毒,等
1987 年,这个病毒流传到了世界各
地。它也是世界上第一例广泛传播
的病毒。
FUDAN UNIVERSITY 23
更多关于Brain
病毒的信息
初衷是为了保护自己搭卖的软件不被非法拷
贝。也有一种说法是为了扩大知名度故意编
了这个病毒。
只感染软盘,将卷标修改为(C) BRAIN
,并
显示:
现在的Brain公司:http://www.brain.pk
Welcome to the Dungeon
(c) 1986
Basit
&
Amjad
(
pvt
) Ltd.
BRAIN COMPUTER SERVICES
730 NIZAB BLOCK ALLAMA IQBAL TOWN
LAHORE-PAKISTAN
PHONE :430791,443248,280530.
Beware of this VIRUS....
Contact us for vaccination............ $#@%$@!!
FUDAN UNIVERSITY 24
x86
上首例试验型COM
文件病毒
1986
年,德国的程序员Ralf Burger
发现了通过在
COM
文件里加特定代码,使程序可以自己复制的
方法。
这个程序的试验版本被称作Virdem
Burger
本人在1986
12
月在汉堡开的黑客们的地
下计算机专栏Chaos Computer Club
里,专门演
示了Virdem
的性能。
当时,Chaos Computer Club
的主要会员,都是
VAX/VMS
系统的黑客,对会员中的一人专门研
IBM
兼容机表示了失望。
1987
年,基于Virdem
思想的Vienna
病毒流行。调
查显示,Franz Svoboda
是从
Ralf Burger
那里拿
到这个病毒的。但是,Ralf Burger
坚持病毒是从
Franz Svoboda
那里拿到的。
FUDAN UNIVERSITY 25
最差劲的预言
1988
年,当时的著名程序员Peter Norton
在被采访时说,计算机病毒只是一个神
话,引起了不少争议。Peter Norton
是著
名的Norton Utilities
iltseoNrn 的作者。
有趣的是,当他把他的公司卖给赛门铁客
公司(Symantec
ceaSnytm
)以后,Symantec
ceaSnytm
Norton
这个品牌出品了不少软件。其中就
包括著名的反病毒软件Norton
AntiVirus
FUDAN UNIVERSITY 26
首例可感染硬盘的病毒
1988 年,出现感染引导扇区的
Stoned 病毒
感染的磁盘启动时会显示:
Your
computer is now stoned.
或者"Your
PC is now Stoned!"
后来出现90多个变种,包括可以感
染主引导记录(MBR)的变种
FUDAN UNIVERSITY 27
我国的第一例病毒感染事件
1988 年底据《计算机世界》报道,
在我国的统计部门多台计算机上发
现的
小球病毒
,也称为PingPong
病毒
小球病毒发作后,在电脑屏幕上生
成一个上下跳跃的小球
小球病毒
是我国报道的首例计算
机病毒感染事件
FUDAN UNIVERSITY 28
莫里斯蠕虫
事件
1988 年11月2日,就读于康奈尔大学
(Cornell University)的罗伯特·
莫里
斯(Robert Tappan Morris, Jr.)选择
从MIT大学节点向Internet网络释放了一
个自动寻找主机并向新的主机不断复制自
己的程序,这就是著名的
莫里斯蠕虫
(Morris Worm)。
莫里斯蠕虫
事件现在已被认定是计算机
病毒发展史上极具影响力的事件。
Robert T. Morris,
Jr
FUDAN UNIVERSITY 29
莫里斯蠕虫
事件后续报道
2 天内包括5个计算机中心和12个地区结
点,连接着政府、大学和研究所的大约
6,000~9,000
台计算机系统遭受攻击,造成
Internet 不能正常运行。
有评估说这次事件造成的直接经济损失大
约在每个计算机系统$200~$53,000之间,
总合大约9600万美元。
小罗伯特·
莫里斯被判3年缓刑,罚款1万
美元,进行400小时的社区服务。
一个月后,CERT/CC组织成立。
FUDAN UNIVERSITY 30
莫里斯蠕虫
技术简介
利用UNIX系统中sendmail
lseanidm
在debug模式下的
漏洞、fingerd的漏洞、字典攻击、rexec
和rsh。
rlogin
rshell
lsrhe
rcopy
等命令被广泛使用。
只要能够登录一台系统,就能够访问其它
系统,甚至都不需要提供密码。
99
行源代码。
使得VAX
Sun
计算机系统负载过重。
程序有bug
,使得它能够多次感染同一台
计算机系统,传播速度之快超过了莫里斯
的预期。
rfc
文档(rfc1135
)也专门描述了此事。
FUDAN UNIVERSITY 31
病毒被第一次用于实战
1991 年1月,在第一次海湾战争
沙漠风暴
行动(Operation:Desert Storm)前,美
军特工将计算机病毒植入伊拉克作战指挥
系统,旨在破坏伊拉克防空系统。
这是计算机病毒第一次用于实战。
AF/91
:一种说法是通过植入打印机的特
定芯片传播;另一种说法是美国专家通过
分析找到伊拉克国家通讯网的接口,然后
将具有神经网络细胞式自我变异的病毒程
序传播进去。
伊拉克也使用了
犹太人
病毒和
大麻
FUDAN UNIVERSITY 32
DOS
年代的病毒
1991 年发现首例网络计算机病毒
GPI ,它突破了NOVELL Netware网络
安全机制。
1992 年出现实现机理与以文件型病
毒有明显区别的DIR II病毒。
1994 年5月,南非第一次多种族全民
大选的记票工作,因计算机病毒的
破坏而停顿达30余小时,被迫推迟
公布选举结果。
FUDAN UNIVERSITY 33
宏病毒的出现
1995 年,随着MS Windows 95的发布,微软
Windows 操作系统和MS Office办公自动化
软件占据了主导地位。
1995 年,出现第一个针对微软MS Word软件
的宏病毒(Macro Virus)
Concept
毒,又称为Prank病毒。
同时,第一例感染中文Word的宏病毒
台湾
1
(Taiwan No.1)也出现了。
1997 年,随着Office 97的发布,宏病毒进
入空前泛滥的阶段,这一年被公认为计算
宏病毒
年。
FUDAN UNIVERSITY 34
病毒生产机
出现
1996
年我国出现专门用来生成病毒的
毒生产机
病毒生产机
的出现,使得计算机病毒的
编制变得非常容易。病毒进入了
批量生
的阶段
由于技术所限,
病毒生产机
所能够产生
的病毒仅限于DOS
病毒
病毒生产机
的代表:G2
IVP
VCL
其实国外早在1992
年就出现了类似软件
FUDAN UNIVERSITY 35
首例造成硬件故障的计算机病毒
1998 年,出现直接攻击和造成计算机硬件
系统故障的CIH病毒。
三个重要的版本:CIH 1.2(每年4/26发
作),CIH 1.3(每年6/26发作),CIH 1.4
(改为每月26日发作)
1999 年4月26日,CIH病毒在我国大规模爆
发,造成巨大损失。
陈盈豪
FUDAN UNIVERSITY 36
1998
年,在这一年
8
月,出现首个具有自我复制能力的Java
程序病毒Java.StrangeBrew
erJaBwanvgae. ,感染.class
lsacs
出现首例感染HTML
文件的病毒HTML
Internal
,仅能通过IE
进行传播。
11
月,出现首例利用VBS
进行传播的脚本
病毒VBScript.Rabbit
itraSpBVRbtcbi
,感染.
vbs
文件
FUDAN UNIVERSITY 37
1999
年,在这一年
3 月26日,出现第一例通过email进行传播
的Melissa病毒(梅丽莎病毒)。
挂接协议栈(wsock32.dll
lsokwc32. )进行传播的
Happy99
病毒
Win32_PE 格式破坏力极强的Funlove病毒
大量通过邮件系统传播的病毒,如
PrettyPark
teraykPrP
(美丽公园)、ExplorerZip
ieroxpEZrpl
等。
FUDAN UNIVERSITY 38
2000
年,在这一年
Win2000.Installer 病毒,只能在
Windows 2000 系统下感染。
2000 年5月,LoveLetter(
爱虫
病毒在全世界爆发。
FUDAN UNIVERSITY 39
2001
年,在这一年
红色代码
蓝色代码
Nimda
等大
量针对IIS漏洞的病毒
伪装成明星照片的
库尔尼科娃
病毒
国产的HappyTime(
欢乐时光
)病毒
通过P2P软件进行传播的Gnutelman木马
第一例跨Windows和Linux操作系统感染的
PEElf 病毒
FUDAN UNIVERSITY 40
2002
年,在这一年
通过ICQ的联系人名单传播的Klez病毒
求职信
病毒)
感染flash文件的SWF.LFM病毒
通过电子邮件偷偷向外发送Office
文档的
SirCam
病毒
BugBear 病毒(监控键盘输入,杀掉反病
毒程序进程)
FUDAN UNIVERSITY 41
2003
年,在这一年
年初,出现攻击数据库系统的SQLSlammer
(SQL蠕虫)病毒
史上传播最快的大无极(SoBig)病毒
8
12
日,出现利用RPC漏洞进行传播的
Blaster (冲击波)病毒,也被称为
lovesan 病毒,原定8月16日攻击Windows
Update 网站,但是微软在那一天临时关闭
了网站。
8
19
日出现专门针对Blaster
lteraBs
Welchia
lcahWi
毒,能够自动安装到感染了Blaster
lteraBs
的机器
上,并自动打补丁。以毒攻毒,但最终用
户只有受害,没有受益。
FUDAN UNIVERSITY 42
2004
年,在这一年
QQ 小尾巴、MSN.Funny(MSN小尾巴)病毒,利用
即时通信软件传播,导致网站不可访问
5 月,SASSER(震荡波)病毒
6
14
日,出现第一个利用蓝牙技术进行传播的
手机病毒EPOC.Cabir(食人鱼病毒)
第一例感染PocketPC系统(WinCE)的概念型病
毒Dust
第一例64
位操作系统上的Rugrat
病毒,该病毒无
法在32
位操作系统上运行。
MAC
机的木马MP3Concept
,伪装成MP3
文件
3
3
日短时间内出现大量Netsky
Mydoom
Beagle
等蠕虫病毒的变种。这是病毒制造者们
帮火拼
的结果,一方是Netsky
的作者,一方是
Mydoom
Beagle
的作者。
FUDAN UNIVERSITY 43
2005
年,在这一年
通过MSN
传播的MSN.DropBot
MSN
性感
)病毒
利用微软操作系统中即插即用服务漏洞的
Zobot
(极速波)病毒
出现感染Nokia
使用Sybian
操作系统智能手机
SYMBOS_COMWAR
SBCRYOMWA
病毒
病毒逐渐体现出混合式攻击(Malware
Tandem
)的特点:木马式的隐藏入侵、蠕虫
式的迅速传播、间谍软件式的伪装和信息盗
针对反间谍软件、反病毒软件防护进行破坏
FUDAN UNIVERSITY 44
2006
年,在这一年
病毒数量大幅增加,突出表现为木马、间
谍软件等恶意代码数量持续增长
熊猫烧香
维金
灰鸽子
等混合式
攻击病毒给互联网造成了严重的威胁
间谍软件呈现出商业化、集团化,带有明
显的利益特征,有窃取个人资料、各种帐
号密码等行为
流氓软件被炒得沸沸扬扬
采用加壳、Rootkits
tsokRoi 、网站挂马等技术进
行传播和对抗杀毒软件
FUDAN UNIVERSITY 45
有关计算机病毒起源的假说
恶作剧论
游戏论
陷阱论
无论哪种假说成立,计算机病毒确
实已经存在于我们身边了 __

你可能感兴趣的:(计算机病毒及其防治 Computer Virus Analysis and Antivirus)