Linux系统恶意软件文件识别与分析指南
1. 文件相似度索引
在文件识别过程中,将可疑文件与私有或公共存储库中收集或维护的其他恶意软件样本进行比较是重要的一环。传统哈希算法(如MD5和SHA1)基于整个文件内容生成单个校验和,文件内容的微小修改(如增减一位)都会导致校验和改变,难以匹配相似文件。
而模糊哈希(Fuzzy Hashing)或上下文触发分段哈希(Context Triggered Piecewise Hashing,CTPH)则可计算文件的一系列随机大小的校验和,使调查人员能够关联内容相似但不完全相同的文件。以下是具体介绍:
- CTPH的优势 :在恶意软件分析中,攻击者常分享或交易恶意软件,导致同一“原始”样本有多种变体。CTPH能有效关联这些相似文件。
- 工具推荐 - ssdeep :可用于生成文件的唯一哈希值,或比较未知文件与已知文件或哈希列表。常用命令选项及功能可在相关附录中查看。例如,使用“pretty matching mode”可比较文件并给出相似度得分(满分100表示完全匹配),还可通过 -l
仅显示文件相对路径, -b
不显示文件路径。示例代码如下:
lab@MalwareLab:~/home/malwarelab/Malware Repository$ ssdeep -bp trtq trtq-COPY
trtq matches trtq-COPY (99)
trtq-COPY matches trtq (99)
</