Botconf是国际上关于对抗botnet的著名会议。看看我们绿盟科技的专家在此次会议的收获吧!
分享提纲:大数据量样本静态分析,APT->NPT,P2P僵尸网络挖掘
一、大数据量样本静态分析
1.1 主要目的
- 快速辨别恶意软件所属僵尸网络家族
- 对相似的恶意软件进行分类
1.2 方式方法
- 确定数据集
- 运算方法(对数据集中每个数据计算向量,使用FV计算向量相似度,组成向量集,在向量上进行运算)
- 采用算法(K-Means,DBScan算法)
1.3 一些要点
- K-Means会Normalize数据集,需要监督数据集变化
1.4 补充
- 无监督学习
- KNN,SVM
- 已知的数据集或样本
- 有监督学习
- 需要数据标记
- 采用K-Means和DBScan
- 其他算法的选取
- 复杂度N*logN及以下的算法
- YARA规则
- 不能很好的进行分类,特别是加壳的(UPX)
1.5 一些问题
1)壳的问题
- 处理200W样本,自搜集
UPX占98%
少量的VMProtect以及自定义的壳
- VT来源样本
UPX占75%
自定义壳直接计算相似度
2)特征提取
- 函数调用顺序
签名时间等PE头中所有内容
函数调用顺序
3)具体实现方法
- K-Means算法减少向量数量
- DBScan进行分类
二、APT->NPT
2.1 事件起因
石油厂商Aramco受到攻击,通过钓鱼邮件(应急响应事件)
2.2 调查目标
谁是攻击者?
他的攻击目标是什么?
为什么关注Aramco?
他如何进行攻击的?
使用了什么指令和工具在这次攻击中?
这个事件紧急程度是什么样的?
2.3 深入分析
2.4 总结
- APT? … NPT!
- 攻击者使用一些非常简单的技巧就能够实施一些大型攻击并且造成伤害
- 该恶意软件可以作为恶意生态的一个部分
- 该恶意软件不能够被杀软检测到
- https://www.botconf.eu/2017/get-rich-or-die-trying/
三、P2P僵尸网络挖掘
3.1 P2P僵尸网络挖掘
- 使用开发板建立一个蜜罐,捕获到了一个僵尸网络样本
- 样本采用HTTPS进行通信
- 僵尸网络拓扑结构为P2P网络
- 如何处理P2P僵尸网络?
—接管
—摧毁
3.2 如何监控及枚举
爬取
- 通过扫描来进行
- HTTPS需要先获取正确的SSL证书,采用中间人劫持的方式解决
成为僵尸网络中的节点
- 研究botnet的通信协议,理解bot之间通信的指令内容
- 主动加入僵尸网络,向前一节点主动发送信息
- 向前一节点发送获取iplist的请求,获取前一节点的所有节点
- 逐步枚举所有节点下控制的节点
3.3 效果如何