静态分析基础技术
1、使用反病毒软件来确认程序样本的恶意性 在分析一个可疑的恶意代码样本时,第一步就最好是拿多个反病毒软件扫描下这个文件,看是否有哪个引擎已经能够识别它。反病毒软件是不完美的,它们主要依靠一个已知恶意代码可识别片断的特征数据库,以及基于行为与模式匹配的分析(启发式检测),来识别可疑文件。 一些罕见的恶意代码通常也不会被反病毒软件所识别,因为它们并不在病毒库里。最后,启发式检测,尽管经常也能成功地识别出一些未知恶意代码,但仍然可以被一些新型独特的恶意代码所绕过。 VirusTotal( http://www.virustotal.com ),可调用多个反病毒引擎来进行扫描。 2、哈希值:恶意代码的指纹 哈希是一种用来唯一标识恶意代码的常用方法。 将哈希值作为标签使用 与其他分析师分享哈希值,以帮助他们来识别恶意代码 在线搜索这段哈希值,看看这个文件是否已经被识别 3、查找字符串 使用的工具strings 4、加壳与混淆恶意代码 查壳工具:PEID PE 文件以一个文件头开始,其中包括代码信息、应用程序类型、所需的库函数与空间要求。PE头中的信息对于恶意代码分析师而言,是非常有价值的。 5、链接库与函数 代码库可以被静态链接,也可以运行时链接,或者动态链接。了解代码库如何被链接的,对于我们理解恶意代码来说,是非常关键的,因为我们在PE文件头中可以找到的信息取决于链接了哪些代码库。 6