恶意软件静态分析与分类技术详解
在恶意软件分析领域,静态分析是一种重要的手段,它能够在不运行恶意软件的情况下,深入了解其特性和行为。本文将详细介绍恶意软件静态分析的多个方面,包括检查导出函数、分析PE文件的节表和节、查看编译时间戳、检查PE资源,以及多种用于比较和分类恶意软件的技术。
1. 检查导出函数
可执行文件和动态链接库(DLL)都可以导出函数供其他程序使用。通常情况下,DLL会导出一些函数,这些函数会被可执行文件导入。DLL自身无法独立运行,需要依赖宿主进程来执行其代码。攻击者常常会创建一个导出包含恶意功能函数的DLL,通过某种方式让调用这些恶意函数的进程加载该DLL。同时,DLL也可以从其他库(DLL)中导入函数来执行系统操作。
检查导出函数能够快速了解DLL的功能。例如,在pestudio中加载与名为Ramnit的恶意软件相关的DLL时,它会显示该DLL的导出函数,从而让我们对其功能有一个初步的认识。当进程加载这个DLL时,这些函数会在某个时刻被调用以执行恶意活动。
不过,导出函数的名称并不总是能准确反映恶意软件的功能。攻击者可能会使用随机或虚假的导出名称来误导我们的分析。
在Python中,可以使用pefile模块来枚举导出函数,示例代码如下:
$ python
Python 2.7.12 (default, Nov 19 2016, 06:48:10)
>>> import pefile
>>> pe = pefile.PE("rmn.dll")
>>> if hasattr(pe, 'DI
超级会员免费看
订阅专栏 解锁全文
2792

被折叠的 条评论
为什么被折叠?



