之前研究人员经常需要分析恶意软件样本、恶意软件家族之间的关联关系。经典的方式是利用 BinDiff 进行二进制相似比对,如下所示。
从指令、函数等角度进行了比较,根据 BinDiff 的分析,这两个样本相似度为 52%。除了这种方法,还有许多方式能够比较恶意软件的相似性,例如模糊哈希等。例如在对 DPRK 勒索软件进行分析时,可以使用图像处理技术与希尔伯特曲线映射发现样本之间的相似之处。
近日,研究人员尝试用音频来表征恶意样本,以此分析样本相似。音频分析样本相似
对五月与六月发现的 Conti 勒索软件样本文件进行分析,BinDiff 给出的结果认为二者的相似度为 99.8%。
首先通过如下命令将样本转换为音频文件:
cat malwarefile.bin | mplayer -cache 1024 -quiet -rawaudio samplesize =1: channels=1 :rate=8000 -demuxer rawaudio -
这样就会生成一些内容嘈杂的音频,将音频经过混音器处理后输出为 .wav 或者 .mp3 音频文件。使用音频分析工具(例如 Audacity 和 Sonic LineUp 等)加载生成的音频文件,其频谱图如下所示:
根据频谱图可以发现二者基本相同,仅六月发现的样本最后存在细微差别,这与 BinDiff 的分析也是一致的。对于 DPRK 勒索软件家族,VHD 样本与 BEAF 样本都有许多相似之处,也有许多不同之处。为二者创建对应的音频文件,由于文件大小不同,所以音频文件长度也不同。将音频文件加载到 Audacity 中可以很直观的看出来:
长度的差异十分明显,但波形也非常相似。使用 Sonic LineUp 尽可能将波形与频谱对齐,从视觉上看二者还是十分相似的:
频谱图上也能看出这一点,VHD 样本在 7000Hz 以上的部分比 BEAF 要多。
将样本转换为音频进行分析是一个新尝试,这表明传统的分析方法或者通过转换为图片的分析方法也能够迁移到音频领域中。也许某个天才的研究人员,能将恶意样本转换为一段优美的旋律。攻击者不断开发的新文件,都会变成新乐章的音符。