基于数据科学的恶意软件分析
上QQ阅读APP看书,第一时间看更新

第1章 恶意软件静态分析基础

在本章中,我们将介绍恶意软件静态分析的基础知识。静态分析是对程序文件的反汇编代码、图形图像、可打印字符串和其他磁盘资源进行分析,是一种不需要实际运行程序的逆向工程。虽然静态分析技术有欠缺之处,但是它可以帮助我们理解各种各样的恶意软件。通过细致的逆向工程,你将能够更好地理解恶意软件二进制文件在攻击目标后为攻击者提供的好处,以及攻击者可以隐藏并继续攻击受感染计算机的方式。正如你将看到的,本章结合了描述和实例,每个部分都介绍了静态分析技术,然后说明其在实际分析中的应用。

我将通过描述大多数Windows程序所使用的可移植可执行(PE)文件格式来开始本章的内容,然后研究如何使用流行的Python库pefile来解析实际场景中的恶意软件二进制文件。紧接着,我会描述诸如导入分析、图形图像分析和字符串分析等技术。在所有示例中,我将向你展示如何使用开源工具应用这些分析技术来对实际场景中的恶意软件进行分析。最后,在本章的末尾,我介绍了恶意软件可能会使恶意软件分析师头疼的方法,并讨论了缓解这些问题的一些方法。

你将在本书的数据目录/ch1中找到本章示例中使用的恶意软件示例。为了演示本章讨论的技术,我们在演示中使用ircbot.exe,这是一个互联网中继聊天(Internet Relay Chat, IRC)机器人,也在日常广泛监测中最常见的恶意软件的示例之一。严格来说,当连接到IRC服务器时,这个程序被设计常驻在目标计算机上。在ircbot.exe控制目标后,攻击者可以通过IRC控制目标计算机,执行控制指令,例如打开网络摄像头偷偷捕获视频、提取目标的地理位置和桌面的截图,以及从目标机器中提取相关文件等。在本章中,我将利用静态分析技术揭示这些恶意软件的功能。