反病毒分析入门指南
反病毒分析入门指南
工欲善其事,必先利其器。希望这个帖子能为有兴趣进入反病毒行业的朋友提供一些基本信息。
硬件准备
条件允许的情况下,建议配置如下硬件:
- 双网络线路:两条不同网络运营商提供的线路,确保在分析过程中不会因为网络问题影响结果。
- 多台电脑:至少2台或以上电脑,具体配置可根据个人需求选择。虽然虚拟机也可以用于部分测试,但某些恶意代码具有虚拟机检测机制,因此尽可能使用物理机进行分析。
必备软件
基础操作系统
- Windows XP:尽管较老,但在轻便性和资源占用方面有优势。对于某些特定场景下的兼容性测试也非常有用。
核心分析工具
- IDA Pro:反汇编工具中的佼佼者,功能强大且广泛应用于反病毒行业。Hex-rays的反编译插件非常强大,但由于价格昂贵,通常不购买。不过,通过手动分析也能达到很好的效果。
- OllyDbg:动态调试工具,虽然是行业必备,但在实际工作中更多依赖于IDA的静态分析能力。
- WinDbg:主要用于驱动程序的调试,同样属于行业必备工具。大多数情况下,直接使用IDA进行静态分析即可满足需求。
- Wireshark:数据包捕获和分析工具,对于需要在网络层面进行深入分析时不可或缺。
辅助工具
以下是一些个人偏好的辅助工具,并非必需:
- 010 Editor:强大的十六进制编辑器,适用于精细的数据操作。
- DeDe:一款专门针对PE文件的逆向工程工具。
- Ghost:系统备份与恢复工具。
- Hiew:另一款十六进制编辑器,具备一定的脚本支持。
- LordPE:用于处理PE文件的小工具。
- WinHex:高级十六进制编辑器,适合更复杂的文件操作。
监测工具
为了减少被恶意代码欺骗的可能性,尽量自己编写监测工具。如果无法实现,选择不太知名的工具也是不错的选择:
- 系统变化监测
- API监测
- Rootkit监测
测试环境搭建
为了模拟真实的用户环境,还需要安装以下软件:
- 各类服务器软件(如HTTP, SMTP, FTP, IRC等)
- 即时通讯软件(如QQ、MSN、YAHOO等)
- Microsoft Office(各个版本的安装文件)
- Adobe Acrobat Reader(各个版本的安装文件)
- Adobe Flash Player(各个版本的安装文件)
恶意代码样本的基本分析流程
以下是恶意代码样本的基本分析流程(不包含特征码提取):
- 恢复系统镜像:避免在已感染的环境下被其他信息误导。
- 快速查看是否有可疑字符串:初步判断恶意代码的行为。
- 检查代码入口地址是否有被感染痕迹:确认是否已被篡改。
- 运行并监测系统变化:确定是否为恶意代码。
- 静态分析:使用IDA进行详细的代码分析。
- 编写辅助脚本或代码:协助分析复杂逻辑。
- 调试:必要时使用调试器进行动态调试。
- 背景调查:对相关域名、服务器、邮件地址等进行背景调查。
- 文档化相关内容:记录分析过程和结论。
- 备份所有相关文件:确保后续复查或复现问题时有依据。
对于在杀毒软件公司工作的朋友来说,通常还会需要提取特征码(一般是在静态分析之前),也可能需要编写修复工具。这些工作细节因公司而异,这里不做详细讨论。