黑产通常通过传播后门文件入侵主机,组织起庞大的僵尸网络。后门文件通常通过连接C&C服务器的域名来监听控制指令,后门文件中硬编码少量C&C服务器的域名,然后自动化下载最近的C&C服务器列表。通过静态分析后门文件中硬编码的域名,关联分析域名和文件之间的关系,可以挖掘出后门文件之间的潜在联系。我们使用脱敏的测试数据来挖掘后门文件之间潜在联系的原理。测试样本记录了若干组文件和C&C域名的对应关系:
md5=file1,domain=domain1 md5=file1,domain=domain2 md5=file1,domain=domain3 md5=file1,domain=domain6 md5=file2,domain=domain2 md5=file2,domain=domain3 md5=file2,domain=domain4 md5=file2,domain=domain5
·md5,后门文件md5值;
·domain,C&C域名。
逻辑上对应的拓扑结构如图13-25所示。
图13-25 后门文件潜在关系示意图
从拓扑图可以看出,后门文件file1和file2分别对应C&C域名domain1、domain2、domain3、domain6和domain2、domain3、domain4、domain5,其中domain2和domain3同时被file1和file2使用,初步怀疑邮箱file1和file1为同一黑产团体控制的后门文件,domain1~domain4均疑似黑产同时控制,并很可能是同一用途,比如DDoS。
逐行处理样本文件,获取对应的file,domain:
with open("../data/KnowledgeGraph/sample6.txt") as f: for line in f: line=line.strip('\n') file,domain=line.split(',')
以file为中心,添加对应的domain节点:
G.add_edge(file, domain)
可视化知识图谱:
nx.draw(G, with_labels=True, node_size=600) plt.show()
对应知识图谱如图13-26所示。
图13-26 后门文件潜在关系的知识图谱