首页
社区
课程
招聘
[旧帖] [原创]浅谈恶意软件PPt 0.00雪花
发表于: 2014-12-1 20:13 2422

[旧帖] [原创]浅谈恶意软件PPt 0.00雪花

2014-12-1 20:13
2422
为了准备面试,花了点时间整理一下浅谈恶意软的思路做成了PPT,word文档。正如话题,流程图我就不重新导入了,在Word教程里有。
浅谈恶意软件
1.恶意软件处理
2.基本的反病毒产品的功能和特点
3.逃避恶意软件分析和反病毒检测的恶意软件技术
4. 恶意软件制造流程


1 恶意软件处理过程
1.1 恶意软件分析(静态分析,动态分析)
静态分析:静态分析是在目标软件处于静态的时候进行扫描,它是属于简单,低风险,低回报(信息不重要)的文件分析方法。它不需要文件运行,任务也不繁重。例如遇到目标文件有未知名的壳时,那它得到的信息降低至零。例如PEid工具,通常的文件分析会获得:程序入口点,文件偏移,区段信息,连接器版本,适用系统类型……但是如果目标文件被加壳之后,分析到的也就是皮毛而已。当然还有比PEid类型效果好的静态扫描工具,也是逆向分析的一个重要工具IDA,它可以将目标文件静态反汇编,让逆向分析师,病毒工程师对文件进行功能分析和判断。
动态分析:动态分析就是将目标文件放到虚拟机、沙盒、裸系统中运行,然后分析/监控目标文件一举一动,特别是捕捉恶意软件的改动内容、触发异常或者某事件的异常举动,然后记录下来,作为判断是否属于恶意软件的证据,和为接下来的逆向分析提供依据。常用的动态分析工具例如OD、Autoruns、Process Monitor、WinDbg
注意:动态分析放到虚拟机、沙盒、裸系统中是为了将恶意软件的破坏力最小化。
1.2恶意软件逆向工程
逆向分析是对目标文件分析的最后也是最有效的手段,目前为止没有逆向不出的恶意软件,只是时间问题。
逆向分析有三种常用的类型工具,反汇编器(IDA)、反编译器、调试器(OD)

反汇编工具:IAD一般是将目标文件静态分解成汇编代码,而且这些汇编代码是按照函数/功能分段,数据流程清晰明了,当然它也自带有调试器。
调试器:OD是当今的动态逆向调试霸主,也是手动脱壳,破解,无源码优化的首先工具,江湖人称——屠龙刀。一般的大型软件首先IDA静态分析出流程和函数实现的功能,然后再用OD进行动态调试,根据IDA分析出来的数据进行选择性调试(改变跳转),实现默认/非默认数据流程已实现不同的功能。如此便可逆向出整个目标软件的所有数据流和功能。
逆向分析流程如图1:

2.基本的反病毒产品的功能和特点
2.1反病毒产品结构:反病毒产品主要由扫描器,病毒库,虚拟机
反病毒软件组成如图2:

特征码查杀:特征码是从恶意程序中提起的独特机器码,这是现在众多查病毒查杀方法都是建立在特长马基础上,可以说特征码就是他们的核心思想。例如,第一代的扫描(字符串扫描,通配符扫描……),第二代扫描(智能扫描法,骨架扫描法,近似精确扫描法),第三代扫描(云查杀,双引擎/多引擎查杀)
行为查杀:无论是计算机病毒或恶意软件,他们都有与正常软件没有的异常行为举动。
计算机病毒通常是最计算机内磁盘文件,内存进行感染/重写。例如:可执行病毒、宏病毒、脚本病毒
恶意软件通常是蠕虫(邮件蠕虫、文件共享蠕虫、即时通讯蠕虫、局域网蠕虫、互联网蠕虫)无互动性进行感染破坏,木马(特洛伊木马,后门,远程控制),信息窃取(键盘记录软件,桌面记录软件,内存捉取软件)勒索软件安
一般恶意软件的以利用注册表中的选项进行如下设置:
设置登陆:
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Active  Setup\Installed Components
设置加载资源管理器外壳扩展:
HKLM\Software\Classes\Directory\ShellEx\ContextMenuHandlers
HKLM\Software\Classes\*\ShellEx\ContextMenuhandlers
HKLM\Software\Classes\Directory\ShellEx\DragDropHandlers
HKLM\Software\Classes\Floder\ShellEx\ContextMenuHandlers
HKLM\Software\Classes\Floder\ShellEx\DragDropHandlers
设置加载浏览器扩展:
HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\Browers Helpers Objects
HKLM\Software\Microsoft\Internet Explorer\Extension
在现在的病毒/恶意代码中都会设有保护机制,隐藏自身,代码保护目的性,与攻击者的交互性
校验和查杀:校验和使用某种算法计算程序的某段或多段数据代码得出的一个或多个值,只要里面的数据代码被改动过,则会成为重点扫描查杀对象。
3.逃避恶意软件分析和反病毒检测的恶意软件技术
现在的恶意软件已经开始被开发者进一步优化,将恶意软件出装成一个防护系统(一个独立防护工具/工具套件),防止恶意软件轻易被解剖出来。
恶意软件防护系统如图3:

恶意软件自我防护技术
①保护静止状态的恶意软件,防静态分析,防反编译,防反汇编。
恶意程序静态防护通用技术主要有:
入口点混淆:通过布置多个假入口点来隐藏真正的入口点,防止扫描器获取恶意软件的二进制代码(文件感染类恶意软件或者病毒经常使用EPO技术)。
恶意软件加密:通过给恶意软件(部分代码)进行加密,让静态扫描器扫描出乱码,得不出有效信息。
多态:研发者在恶意软件中进行插入变异引擎代码,是的在不改变功能的时候进行代码改变,也就改变了特征码。(无论多态在磁盘上怎么变化载入内存之后都是一样的)
变形:变形防查杀手法使用到的是新型加密手法,该加密手法是将整个恶意软件进行变形,使得在每次感染得出的代码都是不同的无论是内存还是在磁盘上。在变形前都要分析自身代码然后确定变形的形式。
防逆向工程:防止动态扫描,沙盒扫描环境锁。在恶意程序中嵌入一段环境识别代码和功能封锁代码。在恶意程序运行的时候首先执行的是环境识别功能,如果识别到当前处在的环境是虚拟环境、沙盒环境,则执行功能封锁退出程序运行,这样就可以有效的防止反病毒产品对恶意程序进行扫描,反病毒产品也就得不到恶意程序的有效信息,但是这个方法防范不了使用裸系统分析,为了解决这个问题现在也出现这种还将增加一个ID、MAC地址作为条件执行参数,ID、MAC地址符合恶意软件才能执行。但是这些方法都防范不了OD逆向分析。

4.恶意软件制造流程 (直接看流程图4)

                                                                                       精灵(^_^)/淘气鬼(记)

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 68
活跃值: (30)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
已阅,不错。
2015-10-29 15:18
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢楼主~!
2015-10-31 22:12
0
游客
登录 | 注册 方可回帖
返回
//