蠕虫病毒
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机病毒原理与对抗实验报告—蠕虫病毒
院(系):
专业:
班级:
学生:
学号:
指导教师:
2016年 5 月
一.实验目的
1.了解计算机蠕虫的定义
2.了解计算机蠕虫攻击原理
3.了解漏洞溢出原理养成良好的编程习惯
4.尝试编写计算机蠕虫专杀工具
二.实验原理
1.蠕虫定义
计算机蠕虫,就是通常我们所说的计算机蠕虫病毒,因其与计算机病毒有着很大的不同,因此我们在这里将其称之为计算机蠕虫,而不说它是蠕虫病毒。
a.计算机蠕虫与计算机病毒的定义
计算机蠕虫是这样一个程序,他能在计算机中独立的运行,并将自身的一个拷贝传播到另一个计算机上。
计算机病毒是一段代码,他能把自身加到其他程序,包括操作系统上。
它不能独立的运行,而需要有它的宿主程序的运行来激活它。
b.计算机蠕虫与计算机病毒的区别
c.计算机蠕虫的主要工作方式
计算机蠕虫的一般工作方式是:“扫描->攻击->复制”。
(1)扫描
一般计算机蠕虫通过根据宿主机上的IP按照一定规律生成IP地址进行网段扫描,当发现存活主机后开始攻击。
由于这一阶段计算机蠕虫向网络中发送大量的探测数据,所以很容易造成网络堵塞,这也是蠕虫病毒的最大危害之一。
(2)攻击
当计算机蠕虫发现存活主机后,通过向存活主机发送漏洞溢出数据(代码),来对存活主机进行漏洞溢出,当溢出成功后,基本上就获得了溢出主机的控制权,继而向存活主机拷贝自己的副本。
(3)复制
计算机蠕虫通过向存活主机拷贝自己的方式实现自身的繁殖。
d.计算机蠕虫技术
通过上面的介绍,不难发现,计算机蠕虫实际上和计算机病毒有着根本的不同,其存在的目的只是复制自己,它也是计算机应用技术的产物,现在的计算机蠕虫编写者已将计算机蠕虫技术和计算机病毒技术融合,进而产生了极具破坏型的计算机蠕虫病毒,这些新型的蠕虫病毒,专以窃取破坏他人计算机上的信息为目的,通过感染目的主机,在目的主机上留下足够权限的后门,以供攻击者进一步控制目的主机使用。
这种计算机蠕虫病毒的流行给社会经济带来了极大的危害。
但同时我们也看到,有一些善意的计算机蠕虫病毒的存在,像“冲击波清除者”这样的计算机蠕虫,利用“冲击波”蠕虫病毒的传播方式进行传播,当进入目标主机后,它会主动修复当前主机的漏洞,并在一特定时间后删除病毒自身文件。
虽然像“冲击波清除者”这样的病毒是善意的,但由于它在网络中的扫描,还是会给计算机网络通信带来严重的负担。
2.缓冲区溢出
通过向程序的缓冲区(堆、栈等)中写入超出其长度的数据,造成缓冲区溢出。
缓冲区的溢出可以破坏程序执行流程,使程序转向执行其它指令。
利用缓冲区溢出可以达到攻击主机的目的。
缓冲区溢出的根本原因在于语言本身的一些特性。
从数据结构的角度来说,最根本的原因是由于指针、数组的存在,导致了一系列存储操作上的问题。
而直接的原因则是“没有对数组的越界加以监视和限制”。
程序编写者的经验不足或粗心大意使得缓冲区溢出几乎无处不在,导致程序不够健壮,为缓冲区溢出攻击留下了隐患。
3.实验蠕虫病毒工作原理
由于计算机蠕虫是利用系统漏洞进行传播的,当计算机漏洞还没有相关补丁的时候,就只能靠手工手段来清除蠕虫病毒了,一个专杀工具可以节省多次手工操作的麻烦。
一般来讲,每一种蠕虫病毒都存在一些特征,利用这些特征,很容易就可以实现病毒的清除。
实验中我们利用virus_main.exe来模拟计算机蠕虫病毒,virus_body.exe来模拟有溢出漏洞的程序。
该病毒具有如下特点:在感染的主机上开启3001端口。
在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\run下建立一个名为LookAtMe的启动键值,用来在每次计算机启动是加载程序的执行,并且计算机蠕虫程序体始终都是一个叫virus_main.exe的可执行文件。
病毒在运行期间还会向网络中发送ARP探测请求,来寻找下一个攻击目标,如探测到存活主机,它会向目标存活主机的3000端口发送溢出代码,溢出成功后,在目标主机上开启3001端口准备接受蠕虫拷贝程序。
下面是实验中杀毒例程的流程图:
三.实验步骤
1.验证病毒感染过程
(1)确定主机A与B处于同一网段内。
(2)主机A进入实验平台,单击工具栏“实验目录”按钮进入蠕虫病毒实验目录,执行漏洞程序test_virus_body.exe,并启动协议分析器,设置过滤器仅捕获ARP数据包。
主机B同样进入蠕虫病毒实验目录,执行蠕虫模拟程序virus_main.exe,这时主机B会不断弹出网页。
(3)主机A单击协议分析器工具栏刷新按钮,查看ARP协议相关数据,会发现存在很多以主机B的IP地址为源的ARP请求数据包。
请观察被探测IP地址顺序,它们大多数是连续 (连续/非连续)的。
(4)主机A等待被蠕虫病毒探测,直到被感染(成功现象为:主机A被病
毒感染,也像主机B一样不断弹出网页,说明已经被病毒感染成功),主机A 关闭test_virus_body.exe程序,并在“任务管理器”的“进程”页面中选中virus_main进程然后点下面的“结束进程”按钮,结束激活的病毒程序。
(5)主机A检查系统注册表HKEY_LOCAL_MACHINE\SOFTWARE\
Microsoft\Windows\CurrentVersion\run下是否有名为“LookAtMe”的注册键值,有则使用该项右键菜单中的删除命令删除。
(6)主机A查看test_virus_body.exe文件所在目录下是 (是/否)多重新生成了一个名为virus_main.exe的可执行文件(查看文件修改日期)。
”
「说明」任务管理器可以使用ctrl+alt+del组合键启动安全管理对话框选择“任务管理器”即可启动;在虚拟机中这个组合键被“ctrl+alt+insert”代替了,以避免和主机按键上的冲突;也可以使用任务栏右键菜单中的“任务管理器”来启动任务管理器。
2.验证杀毒工具效果
主机A、B启动实验目录下的virus_main.exe,点击工具栏中的“杀毒工具”按钮,启动杀毒工具wvk.exe(C:\ExpNIS\AntiVir-Lab\VirusExp\virus\ wvk.exe),记录实验现象:窗口关闭后不再不停的弹出,并且在
test_virus_body.exe文件所在目录下的virus_main.exe可执行文件被删除,查看注册表中的“LookAtMe”病毒特征键值是否存在不存在。
3.修改杀毒工具病毒验证条件重新尝试杀毒
通过商讨,找出virus_main.exe的其他特征,修改实验杀毒工具源码的病毒特征检验部分(源码在实验目录wvk下)或自行编写,来实现一个virus_main.exe的专杀工具。
四.思考问题
总结清除计算机病毒的主要步骤。
实验专杀工具中提供了两种方法,进行杀毒。
一种是通过检测TCP/IP会话,查找对应病毒特征端口和特征文件名的方式进行查杀,该方法的优点是,杀毒靶向性强,不易造成误杀系统进程的现象。
但缺点是,由于病毒使用TCP/IP进行病毒溢出代码上传和病毒体下载过程的时间非常的短,可能引起杀毒工具在运行期间无法获得病毒的TCP/IP会话信息,而导致杀毒失败。
另外一种方法是,查找本地系统正在运行的系统进程列表,如果进程名称为病毒特征文件名,则关闭病毒进程,删除病毒程序和病毒的注册表项,该方法的优点是杀毒直接彻底,缺点是容易造成系统文件损坏。
可以通过注释掉部分代码的方法验证两种杀毒方法的优点和缺点。