构建数据相似系统
一、基于共享码片构建(难度高) 经调研,没有开源工具可以做共享代码构建,如Bindiff可以分析两个样本之间相似阈值和代码可视化,接口可以批量对样本进行相似分析,但仍是两个样本之间关联,无法做到多样本关联。 共享代码定义:完整的反汇编(过滤系统API汇编代码),意图只保留病毒本身汇编(跟系统和其它无关),使用算法切割(类似于Minhash这种切割)。 应用价值: 用法一:提取不同家族共享代码,通过算法产出代码聚类和结论,关联不同组织代码共性,完善情报分析(目前很多国外情报和安全公司使用的方法之一)。 用法二:以不同家族为主节点,通过代码片段构建共享代码相似系统(匹配搜索系统)。 用法三:共享代码数据可以提供给算法团队(如果他们有需求),用于数据建模和数据挖掘。 二、基于MInhash构建(难度折中) 先尝试PE格式,如sys,dll,exe计算不同类型的Minhash,或直接构建样本集总Minhash。 应用价值: 用法一:设置阈值大于0.8为相似样本,借助BinDiff批量对比筛选或人工根据文件类型对比,分析共享代码,完善情报分析。 emsp; Hellsing和APT15之间效果图(100以内样本): Hellsing样本集生成数据库: 输入APT15样本集计算相似阈值,如果出现下述意味着没有命中: 以APT1为列子生成数据库