IoT Malware Network Traffic Classification using Visual Representation and Deep Learning (使用视觉表示和深度学习的IoT恶意软件网络流量分类)
写博以供备份。
1.需求
实时流量分析和恶意流量缓解
IoT 通常使用有限的资源,这使得复杂的安全机制无法运行,给攻击者机会
Mairai 事件
现有的技术: 基于特征检测和基于异常检测
将 traffic 与现有特征数据库匹配,识别已知攻击很准确,不能识别未知攻击和已知攻击的新形势,不适合实时的网络异常检测
2.本文
- 全新的 IoT 恶意软件流量分析方法来更快的检测和分类新的恶意软件 (0 day 恶意软件)
- 在 package level 检测恶意软件流
- 使用 deep learning 减少检测时间 (ResNet50)
3.核心
流量被收集 (使用 pcap 文件并打包成 package chunks)和转换为 2D 图像 (使用视觉表示工具 Binvis), 然后使用 ResNet 训练以识别潜在的恶意和合法网络流量,被检测出的恶意软件流量会继续用来训练分类器
(1)网络流量的可视化转换
使用 Binvis 将流量转换为 RGB 图像,(Binvis 将二进制结构文件进行转换),本文中的二进制结构文件为 pcap 块文件
使用 RGB 值映射 (根据预定义的颜色方案将每个字节值与 ASCII 码表中的对应的 equivalent 进行比较来分类)
Binvis 将不同的 ASCII bytes 分为4类:
- printable ASCII bytes: blue
- control bytes: green
- extend ASCII bytes: red
- 0x00: black & 0xFF: white
然后使用基于空间填充曲线的聚类算法 (Hilbert 算法) 确定每个 byte 的坐标,能够确保 group closer data together
结果显示:1. 在恶意软件 pcap 文件图像中有更多的黑白区域
2. 正常流量可以通过 ASCII 码或图像中颜色的分布来识别
(2)数据收集
生成测试集和训练集:数据集包括1000个 Binvis 图像,其中有 normal 和 malware traffic,80%为训练集,20%为测试集
(3)训练
即使用现有的 Resnet 进行训练,使用 Resnet50 来进行图像分类,被检测出的 malware network traffic 会被用来训练 Resnet50
(4)结果、分析和结论
结果:使用4项指标,accuracy (A), precision (P), recall (R), F-score (F1)
分析结论:除了良好的性能外,还有两个研究方向:
- 更多的 samples 进行训练和测试
- 测试真实环境中性能:需要考虑到可视化表示和分类所需要的时间,尤其是 online training
显然第二点更重要。