可视化技术|从零开始学习恶意软件聚类可视化
- 0x01
- 那么如何进行恶意软件的聚类分析呢?
根据这一简单的原理 , 接下来我们将分布介绍如何进行基于回连域名的恶意软件聚类可视化分析 。
- 0x02
这里我们使用的是python库pefile从二进制文件中提取可打印的字符串
本文插图
然后使用正则表达式进行匹配 , 从字符串中提取主机名 。
本文插图
提取出主机名之后就需要进行可视化聚类操作了 。
- 0x03
二分网络 , 是一个所有节点可以划分为两个分区的网络 , 其中任何一个部分都不包含内部连接 。 这种类型的网络可以方便展现恶意软件样本之间的共享属性 。
本文插图
如上所示 , A表示恶意软件 , P表示回连域名 。 上图中可以看到A1有P1域名和P2域名 , A3也有P1和P2域名 , 如果P1和P2还是不常见的较为特殊的形式 , 那么我们就可以在很大程度上认为A1和A3是属于统一家族的 , 可以将它们归类在一起 。
再进一步看 , 如果从P的角度来看A , P1连到A1 , A3 , P2连到A1 , A3;我们自然也可以将P1 , P2聚类在一起 。
对照着我们的研究而言 , 我们可以针对域名做聚类 , 也可以针对二进制文件做聚类 , 当然 , 也可以将两者统一在一起 。 如果用画图进行可视化表示的话 , 那么我们就可以画出三张图来 。
那么问题来了 , 怎么画图呢?
这里我们使用NetworkX进行画图 。 具体用法很简单 , 这里就用几行简单的代码进行说明 。
本文插图
载入networkx库 , 然后在nodes列表中定义了5个节点 , 在for循环中调用add_node方法添加节点 , 然后调用add_edge方法在hello和word两个节点间添加一条边 。
最后调用write_dot以dot格式将网络保存 。
然后我们使用GraphViz对dot文件进行解析 , 将其呈现为png文件 , 命令如下
推荐阅读
- 技术编程|后台权限管理设计思路:三种模型分析
- |苹果开始向 Experian 报告 Apple Card 信用档案
- 技术编程|如何利用数据库进行世界史研究
- 青年|西安邮电大学与安康汉滨区深度合作,研发适合毛绒玩具全产业链实用技术
- 无人科技,电池技术|盘点几种常见的无人机电池
- |反击开始!华为正式起诉美三巨头,网友:一挑三
- 技术编程|无服务器调研,部署REST API是最普遍用例
- 京东,折叠屏手机|围绕柔性屏的技术、特性、应用、产业化进行了非常专业的解读
- 云计算|腾讯云小微首次技术开放日,揭秘AI语音背后的奥秘
- iQOO手机|“快稳双全”!120W超快闪充技术炫技,十五分钟充满电量
