文章目录
- 作业五
- 一、 什么是恶意代码?恶意代码主要类型有哪些?
- 二、 恶意代码的基本技术主要包括哪几种?
- 三、 什么是特洛伊木马?有什么特点?
- 四、 什么是计算机病毒?其有哪几个基本组成部分?
- 五、 什么是蠕虫?蠕虫有什么样的功能结构?
- 六、 木马、病毒和蠕虫有什么区别?
- 七、 什么是恶意代码静态和动态分析方法?
作业五
一、 什么是恶意代码?恶意代码主要类型有哪些?
- 恶意代码的定义
恶意代码是指故意设计的以侵害用户利益的计算机软件。即,恶意软件在设计上就有损害用户利益、违背用户意图的目的。 - 恶意代码的行为特征
根据中国互联网协会的定义,恶意软件的行为特征有:
强制安装:未获得许可就擅自在用户计算机上安装软件
难以卸载:未提供通用卸载方法,或在卸载后仍活动的程序
浏览器劫持:未经许可就擅自修改浏览器或其他相关设置,迫使用户访问特定网站或导致用户无法正常上网
广告弹出:未经用户许可就擅自通过安装的软件弹出广告
恶意收集用户信息:未获授权,擅自恶意收集用户信息
恶意卸载:未获许可,或用欺骗的方式卸载非恶意软件
恶意捆绑:在软件中捆绑已被认定为恶意的软件
其他侵犯用户知情权、选择权的恶意行为 - 恶意代码类型
按照用途和特征,恶意代码有很多种,如计算机病毒、特洛伊木马等。由于计算机病毒是最早出现的恶意代码,因此有恶意代码等价于计算机病毒的看法。
表 1 恶意代码类型
按照是否需要宿主,以及是否具有自我复制(传播)能力,恶意代码可以分为四类:
需要宿主 无需宿主
不能自我复制 不感染的依附性
恶意代码 不感染的独立性
恶意代码
能够自我复制 可感染的依附性
恶意代码 可感染的独立性
恶意代码
表 2 恶意代码分类
4. 恶意代码分类举例
类别 实例
不感染的依附性恶意代码 特洛伊木马
逻辑炸弹
后门或陷门
不感染的独立性恶意代码 点滴器
繁殖器(
恶作剧
可感染的依附性恶意代码 计算机病毒
可感染的独立性恶意代码 蠕虫
表 3 恶意代码分类举例
二、 恶意代码的基本技术主要包括哪几种?
- 恶意代码的隐藏技术
(1)本地隐藏
防止本地系统管理人员觉察而采取的隐蔽手段。
文件隐蔽:将恶意代码的文件命名为与系统的合法程序文件名相似的名称,或者干脆取而代之,或者将恶意代码文件附加到合法程序文件中。
进程隐蔽:附着或替换系统进程,使恶意代码以合法服务的身份运行,从而隐蔽恶意代码。还可以通过修改进程列表程序,修改命令行参数使恶意代码进程的信息无法查询。也可以借助RootKit 技术实现进程隐蔽。
网络连接隐蔽:借用现有服务的端口实现网络连接隐蔽,如使用80端口,攻击者在自己的数据包设置特殊标识,通过标识识别连接信息,未标识的WWW 服务网络包仍转交给原服务程序处理。
编译器隐蔽:由编译器在对程序代码进行编译时植入恶意代码,从而实现恶意代码在用户程序中的隐藏和原始分发攻击。恶意代码的植入者是编译器开发人员。
RootKit隐蔽:利用适当的Rootkit工具,可以很好的隐蔽自身或指定的文件、进程和网络连接等,很难被管理员发现。
(2)网络隐藏
网络隐藏主要是指通信内容和传输通道的隐藏。
通信内容隐蔽:使用加密算法对所传输的内容进行加密能够隐蔽通信内容。
传输通道隐藏:利用隐蔽通道技术,实现对传输通道的隐蔽。
隐蔽通道:是一个不受安全机制控制的、利用共享资源作为通信通路的信息流。包括有:存储隐蔽通道和时间隐蔽通道。 - 恶意代码的生存技术
恶意代码的生存技术主要包括四种类型:
反跟踪技术:通过提高恶意代码分析难度,减少被发现的可能性。
加密技术:利用加密技术,提高恶意代码自身保护能力。
模糊变换技术:利用模糊变换技术,恶意代码可以躲避基于特征码的恶意代码检测系统,提高生存能力。
自动生产技术:利用自动生成技术,在已有的恶意代码的基础上自动生成特征码不断变化的新的恶意代码,从而躲避基于特征码的恶意代码检测。 - 恶意代码的攻击技术
进程注入技术:恶意代码程序将自身嵌入到操作系统和网络系统的服务程序中,不但实现了自身的隐藏,而且还能随着服务的加载而启动。
三线程技术:恶意代码进程同时开启三个线程,其中一个为主线程,负责远程控制的工作。另外两个辅助线程分别是监视和守护线程。一旦发现主线程被删除,则立即设法恢复。
端口复用技术:重复利用系统或网络服务打开的端口(如80端口),可以欺骗防火墙,具有很强的欺骗性。
端口复用技术:重复利用系统或网络服务打开的端口(如80端口),可以欺骗防火墙,具有很强的欺骗性。
端口复用技术:重复利用系统或网络服务打开的端口(如80端口),可以欺骗防火墙,具有很强的欺骗性。
端口复用技术:重复利用系统或网络服务打开的端口(如80端口),可以欺骗防火墙,具有很强的欺骗性。
三、 什么是特洛伊木马?有什么特点?
- 特洛伊木马的定义
在计算机系统中,“特洛伊木马”指系统中被植入的、人为设计的程序,目的包括通过网络远程控制其他用户的计算机系统,窃取信息资料,并可恶意致使计算机系统瘫痪。 - 特洛伊木马的基本组成
本质上,木马大多都是以客户/服务程序模式为基础,常由一个攻击者控制的客户端程序和一个(或多个)运行在被控计算机端的服务端程序组成。 - 特洛伊木马的危害
自动搜索已中木马的计算机;
管理对方资源,如复制文件、删除文件、查看文件内容、上传文件、下载文件等;
跟踪监视对方屏幕;
直接控制对方的键盘、鼠标;
随意修改注册表和系统文件;
共享被控计算机的硬盘资源;
监视对方任务且可终止对方任务;
远程重启和关闭机器。 - 特洛伊木马的分类
根据所实现的功能,木马可分为:
远程控制型木马:可以让攻击者完全控制被感染的计算机
密码发送型木马:专门为了盗取被感染主机上的密码
破坏型木马:破坏被感染主机上的文件系统
键盘记录型木马:记录受害者的键盘敲击
拒绝服务攻击木马
反弹端口型木马:服务端(被控制端)使用主动端口,客户端(控制端)使用被动端口
代理木马:变为攻击者发动攻击的跳板 - 特洛伊木马的特点
(1) 有效性
木马通常是网络入侵方法中的一个重要内容,因为运行在目标机器上就必须能够实现入侵者的某些企图。有效性就是指入侵的木马能够与其控制端(入侵者)建立某种有效联系,从而能够充分控制目标机器并窃取其中的敏感信息。因此,有效性是木马的一个最重要特点。
(2) 隐蔽性
木马必须有能力长期潜伏于目标机器中而不被发现。一个隐蔽性差的木马往往会因为暴露自己,进而被杀毒(或杀马)软件,甚至被用户手工检查出来,使得木马变得毫无价值。因此,隐蔽性是木马的生命。
(3) 顽固性
当木马被检查出来(失去隐蔽性)之后,为继续确保其入侵有效性,木马往往还具有另一个重要特性——顽固性。木马顽固性就是指有效清除木马的难易程度。若一个木马在检查出来之后,仍然无法将其一次性有效清除,那么该木马就具有较强的顽固性。
(4) 易植入性
任何木马必须首先能够进入目标机器,因此易植入性就成为木马有效性的先决条件。欺骗是自木马诞生起最常见的植入手段,因此各种好用的小功能软件就成为木马常用的栖息地。利用系统漏洞进行木马植入也是木马入侵的一类重要途径。木马技术与蠕虫等技术的结合使得木马具有类似蠕虫的传播性,这也就极大提高了木马的易植入性。
(5) 自动运行
通过修改系统配置文件或注册表等方式,在目标系统启动时达到自动加载运行木马程序的目的。既不需要客户端干预,也不会被目标系统用户觉察。
(6)欺骗性
为了能长期隐蔽,木马会采取一切可以采取的手段对目标系统用户进行欺骗,以防被发现。最常见的欺骗是木马程序常常会以类似某个合法文件名进行命名。如用类似合法文件名explorer的名字exploer命名木马程序
(7)自动恢复
为了对抗查杀,很多木马程序已不再由单一文件组成,而是分为多重备份,可以相互恢复。一旦感知到某一部分被删除,别的部分会设法进行恢复。
(8)功能的特殊性
除了普通的文件操作以外,有些木马还具有搜索并发送目标主机中的口令、记录用户事件、进行键盘记录、远程注册表操作以及锁定鼠标等功能。
四、 什么是计算机病毒?其有哪几个基本组成部分?
- 计算机病毒的定义
计算机病毒,是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机使用,且能自我复制的一组计算机指令或者程序代码。像生物病一样,计算机病毒也有独特的复制能力,可以很快地蔓延,而且常常难以根除。它们能把自身附着在各类类型的文件上。当文件被复制或从一个用户传送到另外一个用户时,病毒就随之蔓延。 - 计算机病毒模块划分
(1)感染模块
寻找一个可执行文件。检查该文件中是否有感染标记。如果没有感染标记,进行感染,将病毒代码放入宿主程序。
(2)触发模块
检查预定触发条件是否满足。如果满足,返回真值。如果不满足,返回假值。
(3)破坏模块
调用感染模块,进行感染。调用触发模块,接受其返回值。如果返回真值,执行破坏模块。如果返回假值,执行后续程序。
五、 什么是蠕虫?蠕虫有什么样的功能结构?
- 蠕虫的定义:
蠕虫病毒是一种智能化、自动化并综合网络攻击、密码学和计算机病毒技术,可自行运行的攻击程序或代码。蠕虫病毒能够扫描和攻击网络上存在系统漏洞的节点主机,并通过网络自主的从一个节点传播到另一个节点。普度大学的尤金·斯潘福德(Eugene H. Spafford)对蠕虫的定义:“计算机蠕虫可以独立运行,并能把自身的一个包含所有功能的版本传播到另外的计算机上”。 - 蠕虫程序功能结构
(1) 统一功能模型
蠕虫程序的统一功能模型将蠕虫程序分解为基本功能模块和扩展功能模块。拥有基本功能的蠕虫程序就能完成复制传播流程,包含扩展功能模块的蠕虫程序则具有更强的生存能力和破坏能力。
(2) 基本功能模块
搜索模块:寻找下一台要传染的计算机;为了提高搜索效率,可以采用一系列的搜索算法。
攻击模块:在被感染的计算机上建立传输通道(传染途径)。
传输模块:计算机间的蠕虫程序复制。
信息搜索模块:搜索和建立被传染计算机上的信息。
繁殖模块:建立自身的多个副本;在同一台计算机上提高传染效率、判断避免重复传染。
(3) 扩展功能模块
隐藏模块:隐藏蠕虫程序,使简单的检测不能发现。
破坏模块:摧毁或破坏被感染计算机,或在被感染的计算机上留下后门程序等。
通信模块:蠕虫间、蠕虫同黑客之间进行交流,可能是未来蠕虫发展的侧重点。
控制模块:调整蠕虫行为,更新其他功能模块,控制被感染计算机。
六、 木马、病毒和蠕虫有什么区别?
特性 木马 病毒 蠕虫
宿主 需要 需要 不需要
表现形式 伪装成其他文件 不以文件形
式存在 独立的文件
传播方式 依靠用户主动传播 依赖宿主文
件或介质 自主传播
主要危害 留下后门,窃取信息 破坏数据完整性、系统完整性 侵占资源
传播速度 慢 快 极快
表 4 木马、病毒和蠕虫的区别
七、 什么是恶意代码静态和动态分析方法?
- 恶意代码静态分析定义
通过反病毒引擎扫描识别已知的恶意代码家族和变种名
逆向分析恶意代码模块构成,内部数据结构,关键控制流程等,理解恶意代码的机理,并提取特征码用于检测。 - 恶意代码静态分析方法
表 5 恶意代码静态分析方法
3. 恶意代码动态分析定义
通过在受控环境中执行目标代码,以获取目标代码的行为及运行结果。
4. 恶意代码动态分析方法