恶意代码类型 | 定义特征 | 典型实例 |
---|---|---|
计算机病毒 | 通过感染文件(可执行文件、数据文件、电子邮件等)或磁盘引导扇区进行传播,一般需要在宿主程序被执行或人为交互才能运行 | Brain,Concept,CIH |
蠕虫 | 一般为不需要宿主的单独文件,通过网络传播,自动复制,通常无需人为交互便可感染传播 | Morris,Code,Red |
恶意移动代码 | 从远程主机下载到本地执行的轻量级恶意代码,不需要或仅需要极少的人为干预 | SandyWorm |
后门 | 绕过正常的安全控制机制,从而为攻击者提供访问途径 | Netcat,BQ,冰河 |
木马 | 伪装成有用软件,隐藏其恶意目标,欺骗用户安装执行 | Setiri |
僵尸程序 | 使用一对多的命令与控制机制组成僵尸网络 | Sdbot,Agobot |
内核套件 | 通过替换或修改系统关键可执行文件,或者通过控制操作系统内核,用以获取并保持最高控制权 | LRK,FU,hdef |
融合型恶意代码 | 融合多种恶意代码技术的恶意代码 | Nimda |
分析方法 | 目的 | 使用工具 | 难度 |
---|---|---|---|
恶意代码扫描 | 标识已知恶意代码 | 反病毒引擎 | 低 |
文件格式识别 | 确定攻击平台和类型 | file,peid,FileAnalyzer | 低 |
字符串提取 | 寻找恶意代码分析线索 | Strings | 低 |
二进制结构分析 | 初步了解二进制文件结构 | binutils(nm,objdump) | 中 |
反汇编 | 二进制代码->汇编代码 | IDAPro,GDB,VC | 中高 |
反编译 | 汇编代码->高级语言 | REC,DCC,JAD | 中高 |
代码结构与逻辑分析 | 分析二进制代码组,理解二进制代码逻辑层结构 | IDAPro,Ollydbg | 高 |
加壳识别和代码脱壳 | 识别是否加壳及类型;对抗代码混淆恢复原始代码 | UPX,VMUnpacker,手工 | 高 |
分析方法 | 目的 | 使用工具 | 难度 |
---|---|---|---|
快照比对 | 获取恶意代码行为结果 | FileSnap,RegSnap,完美卸载 | 低 |
动态行为监控 | 实时监控恶意代码动态行为轨迹 | Filemon,Regmon,ProcessExploer | 中 |
网络监控 | 分析恶意代码网络监听端口及发起网络会话 | Fport,lsof,TDImon | 中 |
沙盒 | 在受控环境下进行完整的恶意代码动态行为监控与分析 | NoemanSanbbox,FVMSandbox | 中高 |
动态跟踪调试 | 单步调试恶意代码程序,理解程序结构和逻辑 | Ollydbg,IDAPro,GDB | 高 |
是监控你自己系统的运行状态,看有没有可疑的程序在运行。
是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。
假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。
2019-2020-2 20175227张雪莹《网络对抗技术》 Exp4 恶意代码分析
原文:https://www.cnblogs.com/zxy20175227/p/12692568.html