名词解释:8/16
1.恶意程序:未经授权便干扰或破坏计算系统/网络的程序或代码称之为恶意程序/恶意代码
2.无入口点技术:无入口点病毒并不是真正没有入口点,而是采用入口点模糊(Entry Point Obscuring,EPO)技术,即病毒在不修改宿主原入口点的前提下,通过在宿主代码体内某处插入跳转指令来使病毒获得控制权
3.主机蠕虫:主机蠕虫的所有部分均包含在其所运行的计算机中,在任意给定的时刻,只有一个蠕虫的拷贝在运行,也称作“兔子”(Rabbit)
4.网络蠕虫:网络蠕虫由许多部分(称为段,Segment)组成,而且每一个部分运行在不同的计算机中(可能执行不同的动作),网络蠕虫具有一个主segment,该主segment用以协调其他segment的运行,这种蠕虫有时也称作“章鱼”。
5.脚本病毒:用脚本语言所编写的病毒
6.动态嵌入技术:动态嵌入技术是指将自己的代码嵌入正在运行的进程中的技术。
7远程线程技术:是指通过在一个正在运行的进程中创建远程线程的方法进入该进程的内存地址空间。
8.主动传染:当病毒处于激活态时,只要传染条件满足,病毒程序就能主动地把病毒自身传染给另一个载体或另一个系统。这种传染方式称作计算机病毒的主动传染
9.被动传染:用户在进行拷贝磁盘或文件时,把一个病毒由一个载体复制到另一个载体上;或者是通过网络上的信息传递,把一个病毒程序从一方传递到另一方。这种传染方式称作计算机病毒的被动传染。
10.假隐藏:指程序的进程仍然存在,只不过是让他消失在进程列表中
11.真隐藏:程序彻底地消失,不是以一个进程或者服务的方式工作
12.空洞:具有足够长度的全部为零的程序数据区或堆栈区
13.混合感染:病毒既感染引导扇区又感染文件
14.交叉感染:一台计算机中常常会同时染上多种病毒。当一个无毒的宿主程序在此计算机上运行时,便会在一个宿主程序上感染多种病毒,称为交叉感染。
15.链式感染:病毒在感染时,完全不改动宿主程序本体,而是改动或利用与宿主程序相关的信息,将病毒程序与宿主程序链成一体,这种感染方式称作链式感染
16.逻辑:辑可以理解为在特定逻辑条件满足时实施破坏的计算机程序。与病毒相比,逻辑强调破坏作用本身,而实施破坏的程序不会传播。
论述题 3/8
1. 简单叙述PE文件的基本组成?
PE文件头部首先第一部分是DOS头,DOS头部有两个部分构成,第一部分是MZ文件头,紧跟MZ文件头后面的是一个DOS可执行文件。正是由于DOS头的存在,使得所有PE文件向上兼容,使得所有PE文件都是合法的MS-DOS可执行文件。PE文件第二个部分是PE文件头,PE文件头有三个组成部分:PE文件标志、映像文件头、可选映像头。其中可选映像头中包含了数据目录表。这四个部分的具体介绍请阅读本文其后部分。PE文件的第三个部分是节表,节表与节是一一对应的,提供了每个节具体信息,可以认为节表是节的索引。PE文件的第四个部分是节,节中存在着文件真正的内容。在PE头的最后是调试信息,顾名思义,调试信息是用以调试的一些信息的汇总。
2. PE病毒的感染过程?
1.判断目标文件开始的两个字节是否为“MZ”。
2.判断PE文件标记“PE”。
3.判断感染标记,如果已被感染过则跳出继续执行HOST程序,否则继续。
4.获得Directory(数据目录)的个数,(每个数据目录信息占8个字节)。
5.得到节表起始位置。(Directory的偏移地址+数据目录占用的字节数=节表起始位置)
6.得到目前最后节表的末尾偏移(紧接其后用于写入一个新的病毒节)
节表起始位置+节的个数*(每个节表占用的字节数28H)=目前最后节表的末尾偏移。
7.开始写入节表
3.叙述PE病毒从API函数名称查找API函数的地址过程?
(1)定位到PE文件头。
(2)从PE文件头中的可选文件头中取出数据目录表的第一个数据目录,得到导出表的地址。
(3)从导出表的NumberOfNames字段得到以命名函数的总数,并以这个数字做微循环的次数来构造一个循环。
(4)从AddressOfNames字段指向的函数名称地址表的第一项开始,在循环中将每一项定义的函数名与要查找的函数名比较,如果没有任何一个函数名符合,说明文件中没有指定名称的函数。
(5)如果某一项定义的函数名与要查找的函数名符合,那么记住这个函数名在字符串地址表中的索引值(如x),然后在AddressOfNameOrdinals指向的数组中以同样的索引值x去找数组项中的值,假如该值为m。
(6)以m值作为索引值,在AddressOfFunctions字段指向的函数入口地址表中获取的RVA就是函数的入口地址,当函数被装入内存后,这个RVA值加上模块实际装入的基址(ImageBase),就得到了函数真正的入口地址。
4. DOS下的EXE文件病毒是如何获取控制权的?感染EXE文件,需对宿主作哪些修改?
一般来说,病毒往往先于HOST程序获得控制权。运行Win32病毒的一般流程示意如下: ①用户点击或系统自动运行HOST程序; ②装载HOST程序到内存; ③通过PE文件中的AddressOfEntryPoint加ImageBase之和,定位第一条语句的位置(程序入口); ④从第一条语句开始执行(这时执行的其实是病毒代码); ⑤病毒主体代码执行完毕,将控制权交给HOST程序原来的入口代码; ⑥HOST程序继续执行
5. 网络蠕虫与计算机病毒的联系与区别?
计算机蠕虫和计算机病毒联系:都具有传染性和复制功能
计算机病毒与蠕虫的区别为:下表
6..怎么预防木马?结合木马的藏身之所、隐藏技术,总结清除木马的方法
预防木马:1、不要随便打开别人给你发过来的文件,(这个要小心,最好是打开病毒防火墙) 2、不要点一些不健康的网页,因为这些网页是最容易放一些不明的代码,也就是恶意代码; 3、就是系统了,你要把你的管理员帐号密码设置的相对麻烦一些,当然要好记咯。长度最好不要小于8位,也不要太长了。也不要太简单。大小写、特别的字符等等都 可以的。还 有要关心一些官方网站发布的SP,及时打上SP,网络设置要好一些,不要开一些不必要的通讯端口。 总之,自己勤奋一些,养成一个好的上网、护理系统的习惯。
手动查杀木马的主要步骤及系统命令的使用。 端口(netstat,FPort) PID、调用DLL、EXE文件(Tasklist) 依据DLL查找对应的进程或服务(Tasklist,IceSword) 停止进程或服务 删除相关的DLL、EXE文件,清除临时文件 修复注册表,清理注册表启动项 免疫,使用策略(gpedit.msc),禁止指定的应用程序运行。
7. 叙述特洛伊木马的基本原理?
特洛伊木马包括客户端和服务器端两个部分,攻击者通常利用一种称为绑定程序(exe-binder)的工具将木马服务器绑定到某个合法软件上,诱使用户运行合法软件。只要用户运行该软件,特洛伊木马的服务器就在用户毫无察觉的情况下完成了安装过程,攻击者要利用客户端远程监视、控制服务器,必需先建立木马连接;而建立木马连接,必需先知道网络中哪一台计算机中了木马,获取到木马服务器的信息之后,即可建立木马服务器和客户端程序之间的联系通道,攻击者就可以利用客户端程序向服务器程序发送命令,达到操控用户计算机的目的
8. 如何预防蠕虫、检测蠕虫?
预防:计算机蠕虫防治的方案可以从两个角度来考虑
从它的实体结构来考虑,如果破坏了它的实体组成的一个部分,则破坏了其完整性,使其不能正常工作,从而达到阻止其传播的目的
从它的功能组成来考虑,如果使其某个功能组成部分不能正常工作,也同样能达到阻止其传播的目的
具体可以分为如下一些措施
(1) 修补系统漏洞 (2)分析蠕虫行为 (3)重命名或删除命令解释器(Interpreter) (4)防火墙
(Firewall) (5)公告 6.更深入的研究防。 检测:有多种方法可以对未知蠕虫进行检测,比较通用的方法有对流量异常的统计分析、对TCP连接异常的分析、对ICMP(Internet Control Message Protocol,互联网控制报文协议)数据异常的分析。
简答题: 4/12
1. 简述计算机病毒的定义和特征。
定义:计算机病毒(Computer Virus),是一种人为制造的、能够进行自我复制的、具有对计算机资源进行破坏作用的一组程序或指令集合。
特征:计算机病毒的可执行性(程序性)、传染性、非授权性、隐蔽性、潜伏性、可触发性、破坏性、攻击的主动性、针对性、衍生性、寄生性(依附性)、不可预见性、诱惑欺骗性、持久性。
2.计算机病毒有哪些分类方法?(至少讲3种)
1)根据病毒破坏的能力可划分为以下几种:无危害型(ELK cloner)、无危险型(女鬼病毒)、危险型(hebrew病毒)和非常危险型(CIH病毒)
2)按照计算机病毒的破坏情况又可分为两类:良性病毒(小球病毒)和恶性病毒(米开朗基罗病毒)
3)按照计算机病毒攻击的操作系统分类:攻击DOS系统的病毒、攻击Windows系统的病毒(CIH病毒)、攻击UNIX系统的病毒(Bliss病毒,Win32.Winux病毒)和攻击OS/2系统的病毒(AEP病毒)
4)按照计算机病毒特有的算法分类:伴随型病毒、“蠕虫”型病毒、寄生型病毒、练习型病毒、诡秘型病毒和变形病毒(又称幽灵病毒)
5)按照计算机病毒的传播媒介分类:单机病毒与网络病毒
6)按寄生对象分类:引导型病毒、文件型病毒和混合型病毒
3.滋生感染的方式有哪些?
4. 文件型病毒有哪些感染方式?
a寄生感染: 文件头部寄生 文件尾部寄生 插入感染 逆插入感染 利用空洞——零长度感染
b无入口点感染: 采用入口点模糊(Entry Point Obscuring,EPO)技术 采用TSR病毒技术
c 滋生感染
d链式感染
e OBJ、LIB和源码的感染
5. 计算机病毒的状态有哪些?
a.计算机病毒在传播过程中存在两种状态,即静态和动态
b.内存中的动态病毒又有两种状态:可激活态和激活态。
c.内存中的病毒还有一种较为特殊的状态——失活态
对于处于不同状态的病毒,应采用不同的分析、清除手段。
6. 脚本病毒的传播途径有哪些?及其脚本病毒如何获取控制权?(以VBS病毒为例)
脚本病毒的传播途径有:
1)通过E_mail附件传播
2)通过局域网共享传播
3)通过感染HTM、ASP、JSP、PHP等网页文件传播
4)通过IRC聊天通道传播
脚本病毒获取控制权的途径有:
1)修改注册表项
2)通过映射文件执行方式
3)欺骗用户,让用户自己执行
4)desktop.ini和folder.htt互相配合
7. 如何防治和清除脚本病毒?
1)禁用文件系统对象FileSystemObject ;2)卸载WSH ;3)删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射;4)将WScript.exe更改名称或者删除 5) 自定义安全级别,把与“ActiveX控件及插件”有关的一切设为禁用 6)禁止OutlookExpress的自动收发邮件功能 7)显示扩展名,避免病毒利用文件扩展名作文章 8)将系统的网络连接的安全级别设置至少为“中等”9)安装、使用杀毒软件
8. 简述木马实施入侵网络的基本步骤?
大致分为六步:配置木马、传播木马、运行木马、信息反馈、建立连接和远程控制
9. 简要叙述木马的组成?
木马软件一般由木马配置程序、控制程序和木马程序三部分组成;其中木马程序是驻留在受害者的系统中,非法获取其操作权限,负责接收控制指令,并根据指令或配置发送数据给控制端;木马配置程序设置木马程序端口、触发条件、木马名称等;控制程序控制远程木马服务器,有些控制程序集成了木马的配置功能。
10.恶意程序的分类有哪些?
恶意程序大致可以分为两类:依赖于主机程序的恶意程序(不能于应用程序或系统程序,即存在宿主)和于主机程序的恶意程序(能在操作系统上运行的、的程序),其中依赖于主机程序的有:后门、特洛伊木马、逻辑和病毒,于主机程序的有:蠕虫、细菌和拒绝服务程序。
11. 计算机病毒的感染过程是什么?
计算机病毒感染的过程一般有三步:
(1)当宿主程序运行时,截取控制权;
(2)寻找感染的突破口;
(3)将病毒代码放入宿主程序
12. 简述PE病毒的基本原理?
1.病毒的重定位 2.获取API函数地址 3.搜索文件 4.内存映射文件 5.病毒感染其他文件 6.病毒返回到Host程序
应用题
1.编写程序,利用INT 13H实现引导区的备份与恢复
备份: (那些地址可以不用记)
DEBUG(回车)
-A 100
XXXX:0100 MOV AX,201
XXXX:0103 MOV BX,200
XXXX:0106 MOV CX,1
XXXX:0109 MOV DX,80
XXXX:010C INT 13
XXXX:010E INT 3
XXXX:010F
-G=100
-R BX
BX 0200:0
-R CX ;
CX 0001:200
-N BOOT.ZYD
-W
-Q
恢复:
DEBUG(回车)
-N BOOT.ZYD
-L 200
-A 100
XXXX:0100 MOV AX,0301
XXXX:0103 MOV BX,0200
XXXX:0106 MOV CX,0001
XXXX:0109 MOV DX,0080
XXXX:010C INT 13
XXXX:010E INT 3
XXXX:010F
-G=100
2.程序解释
1)Set fso=CreateObject("Scripting.FileSystemObject")
2)fso.Getfile (“C:\\Hello.txt").Copy(“E:\\HelloWorld.txt")
第一行创建一个文件系统对象fso,第二行是利用这个文件对象获取目标文件,即C:\\Hello.txt,将其这个文件复制到E盘目录并重新命名为HelloWorld.txt
set fso=createobject("scripting.filesystemobject") '创建一个文件系统对象:
set self=fso.opentextfile(wscript.scriptfullname,1) '读打开当前文件(即病毒本身):
vbscopy=self.readall ' 读取病毒全部代码到字符串变量vbscopy……:
set ap=fso.opentextfile(目标文件.path,2,true) ' 打开目标文件,准备写入病毒代码:
ap.write vbscopy ' 将病毒代码覆盖目标文件
ap.close
set cop=fso.getfile(目标文件.path) '得到目标文件路径
cop.copy(目标文件.path & ".vbs") ' 创建另外一个病毒文件(以.vbs为后缀)
目标文件.delete(true) '删除目标文件