文章目录

  • 结合多特征识别的恶意加密流量检测方法
    • 摘要
    • 论文解决的问题与贡献
    • 1. 正常流量与恶意流量特征比较
      • (1)会话的统计特征分析
      • (2)TLS协议特征分析
      • (3)服务器证书特征
      • (4)服务器域名特征
    • 2. RMETD-MF 方法
      • (1)流量捕获
      • (2)流量预处理
      • (3)特征提取
      • (4)模型训练与测试
    • 结论
    • 总结
      • 1.学到的知识点
      • 2.论文创新点

结合多特征识别的恶意加密流量检测方法

摘要

随着加密流量的广泛使用,越来越多恶意软件也利用加密流量来传输恶意信息,由于其传输内容不可见,传统的基于深度包分析的检测方法带来精度下降和实时性不足等问题。

本文通过分析恶意加密流量和正常流量的会话和协议,提出了一种结合多特征的恶意加密流量检测方法,该方法提取了加密流量会话的包长与时间马尔科夫链、包长与时间分布及包长与时间统计等方面的统计特征,结合握手阶段的 TLS 加密套件使用、证书及域名等协议特征,构建了 863 维的特征向量,利用机器学习方法对加密流量进行检测,从而发现恶意加密流量。

测试结果表明,结合多特征的恶意加密流量检测方法能达到 98%以上的分类准确性及 99.8%以上召回率,且在保持相当的分类准确性基础上,具有更好的鲁棒性, 适用性更广。

论文解决的问题与贡献

  1. 加密流量导致传统的基于深度包分析的检测方法带来精度下降和实时性不足等问题。
  2. 提出了一种结合多特征的恶意加密流量加测方法RMETD-MF,用以发现而已加密流量
  3. 通过监控网络流量,分析了恶意流量和正常流量的区别。提取了其中能明显区别正常流量和恶意流量的 69 个特征,包括会话元数据特征、包长序列统计特征、TLS 握手特征、证书特征和域名特征,用于恶意流量的识别和检测
  4. 分析了 RMETD-MF 方法在不同时间流量数据的检测效果以及不同数据集下分类的效果,验证了方法的稳定性和分类的准确度

1. 正常流量与恶意流量特征比较

(1)会话的统计特征分析

  1. 包数量的特征

    恶意流量:大部分接受数据包数量为3-5个
    正常流量:数据包数量变化范围大,从3个到几千个都有,大部分数据包数量为几十个

  2. 包长序列的特征

    恶意流量:同一恶意家族的包长序列具有一定的相似性。

    如trojan.win32.zbot 家族的加密会大部分都链接到网站infoplusplus.com 或 ax100.net 网站, 其中, 链接到infoplusplus.com 的会话包长序列为{403, 105, 51, 176, 508}, 而链接到 ax100.net 网站的包长序列为{396, 105, 51, 170, 509}

    正常流量:正常加密会话的包长序列是变化的,并没有固定长度。

  3. 会话持续时间的特征

    恶意流量:大多数恶意家族约在20s内完成加密会话。时间较短。
    正常流量:正常的加密会话没有特定时间长度。

  4. 数据包顺序与大小特征

    恶意流量:恶意家族的发送/接收数据包的顺序与大小较为相似。而且,同一恶意家族的会话的不同数据包序列可能具有相同的数据包子序列,会话的前几个数据包序列是相同的。

    如恶意家族 Trojan.Win32.SelfDel 的 26836 个加密会话仅有 123 种不同的数据包序列, 恶意家族Trojan-Spy.Win32.Zbot 的 16758 个加密会话中仅有219 种不同的数据包序列。

    正常流量:正常流量没有特定的数据包发送序列和大小。

(2)TLS协议特征分析

建立 TLS 连接的第一步是客户端向服务器端发送明文 Client Hello 消息,并将自己所支持的按优先级排列的加密套件信息和扩展列表发送给服务器端,这一消息的生成方式取决于构建客户端应用程序时所使用的软件包和方法。

服务端反馈 Server Hello 消息,包含选择使用的加密套件、扩展列表和随机数等,这一消息基于服务器端所用库和配置以及 Client Hello 消息中的详细信息创建。

由于大部分恶意软件会复用同一个恶意软件的代码,因此许多恶意软件的 Client Hello 消息在一些特征上十分相似, 如加密套件、扩展等。

  1. 加密套件使用的特征

    恶意会话:95%的恶意加密会话使用相同的 7 个加密套件列表。
    正常会话:加密套件列表分布较为分散。

    恶意会话中使用最高的加密套件列表在正常会话中所占的比例仅为 2.20%和 1.14%。可见恶意流量和正常流量在加密套件的使用上有明显区别。

    客户端所用单个加密套件数量:恶意会话中客户端集中使用 12 个和 28个加密套件。正常会话中客户端多使用17,14,11 个加密套件。

    加密套件 4、5、19、50、56 在恶意流量中的使用明显多于正常流量中的使用。而这些加密套件
    被认为是比较弱的加密套件, 安全性不足, 在正常的软件中不被推荐使用。

  2. 扩展加密套件使用的特征

    恶意会话:恶意会话客户端最多使用的扩展标识号为10、11、0、65281、5。恶意加密会话客户端所使用的扩展数目多为 5 个。
    正常会话:正常加密会话客户端常用的扩展种类较多,而正常会话的客户端扩展数目较为多样。

(3)服务器证书特征

服务器证书是 TLS 协议中用来对服务器身份进行验证的文件。

恶意会话
(1)由于会话复用的广泛使用,88%的恶意会话没有传输证书。
(2)在传输了证书的加密会话中,3.34%的恶意会话证书版本为 1。
(3)大部分(48%)恶意软件为了方便会选择使用自签名证书。这种证书支持超长有效期。
(4)恶意会话中只有 53%为域名,30%为.com 域名。
(5)恶意会话的证书的 Subject Alt Names数目最多的为 0~9 个

正常会话
(1)由于会话复用的广泛使用,36%的正常会话没有传输证书
(2)在传输了证书的加密会话中,证书版本基本都为3。
(3)12%正常会话使用自签名证书。通常正常会话所用证书的有效时间多分布在 0~4 年间。
(4)85%的正常会话所用证书中的 Common Name 为域名,62%为.com 域名
(5)正常会话的证书的 Subject Alt Names数目有接近40%的比例是大于100个的。

(4)服务器域名特征

Client Hello 中的 Server Name Indication 扩展用于指示客户端请求的服务器域名, 防止一个 IP连接多个服务器而造成错误。当 Client Hello 中无域名指示时, 则取证书中的 Common Name 作为服务器域名。

恶意会话:恶意会话中域名较为分散, 大多数为比较不常见的域名。

正常会话:正常会话中域名多为常见域名。

这是因为正常会话多连向一些常见的正常网站,而恶意会话多连向一些由域名生成算法生成的不常见的网站,则其域名排名较为靠后。

2. RMETD-MF 方法


整体流程:

  1. 流量捕获:在沙箱中运行恶意软件和正常软件生成流量数据。
  2. 流量预处理:对流量进行清洗,过滤未加密流量和不完整的会话。
  3. 特征提取:根据需求, 提取相关会话的统计特征和系欸特征信息, 形成训练的 863 维特征向量
  4. 模型训练:构建恶意加密流量分析的模型。

(1)流量捕获

  1. 正常流量:

(1)运行 wireshark 等工具捕获访问正常加密网站或运行正常软件产生的流量来获得
(2)通过监控较为干净的网络环境流量来获得, 并通过白名单过滤获得白名单中的会话作为正常流量

  1. 恶意流量:

在沙箱中运行恶意软件, 保存其运行期间产生的流量, 然后过滤掉沙箱间通信流量及系统白流量, 将剩余的流量作为恶意流量。

(2)流量预处理

  1. 过滤未加密的流量,保留使用SSL/TLS协议的流量。
  2. 过滤会话,过滤为完成完整握手过程和未传输加密数据的会话。

具体方法是:
通过观察会话中是否有 Client Hello 消息和 Change Cipher Spec 消息, 来判断握手是否完成;
通过观察会话中是否有 Application Data 消息, 来判断会话是否传输了加密数据。

  1. 过滤重传包、确认包和传输丢失的坏包。

(3)特征提取

  1. 会话的统计特征提取

(1)元数据特征:会话的一般信息,如client->server发送的包数、字节数,server->client发送的包数、字节数,会话持续时间等等
(2)包长与时间序列特征:

包长:会话最大传输单位为1500字节,将该会话中传输长度分为10段,[0,150),[150,300)…,[1350,会话结束),构建每个数据包有效载荷的长度及相邻包之间的10*10转换关系矩阵。并按行拼接为100维特征。

时间:构建相邻数据包的时间间隔序列特征,将时间间隔分为十个分段 [0,50ms],[50ms,100ms],…, [450ms, +∞], 根据相邻包之间的时间间隔所在的区间及转换关系构建 10*10 的马尔可夫转换矩阵, 将其也按行拼接作为 100 维的特征向量。

(3)包长与时间分布特征

包长:将包长分为 150 个不同的范围(0,10), (10,20),…,(1490, +∞), 根据每个包的长度计算每个包长区间分布的包数, 作为 150 维的特征。

时间:将时间间隔分为 100 个不同的范围(0,0.005), (0.005,0.01),…,(0.45,+∞), 根据每个包与
前一个包的时间间隔计算每个时间间隔区间分布的包数, 作为 100 维的特征向量。

(4)包长与时间统计特征

分别计算包长序列和时间序列的统计特征: 个数, 最小值, 最小元素位置, 25%分数, 中位数, 75%
分数, 均值, 最大值, 最大元素位置, 平均绝对方差, 方差, 标准差, 形成 24 维的特征向量。

  1. TLS 握手特征提取

(1)客户端TLS特征

– 观察发现客户端使用的加密套件共 260 种, 因此, 设置 260 维向量。
– 对客户端支持的扩展列表构建 43 维向量, 对应所使用的 43 个扩展加密套件。
– 计算扩展个数, 作为1维特征向量输入。

(2)服务器端 tls 特征

– 将服务器端所选择的加密套件作为1维特征向量输入
– 同时服务器端支持的扩展列表构建成 43 维特征向量
– 扩展个数也是 1 维特征向量。

  1. 证书特征提取
  2. 域名特征

(1)域名特征

提取有关域名的特征,包括域名中字母符号数目占所有字符的比例、数字符号数目占所有字符的比例以及非字母数字符号数目占所有字符的比例。

(2)排名特征

根据域名在 Alexa 前 100 万列表中的排名, 构建一个长度为6的向量, 根据其是否在top100, top1000, top1w, top10w, top100w, not-in 列表中来进行向量设置, 在则将该位置为 1, 如果都不在就置为 0, 若不在前 100w 列表就置 not-in 位为 1。

(4)模型训练与测试

分别采用随机森林、逻辑回归、决策树等四种机器学习算法进行十折交叉验证。

结论

数据集:

机器学习效果:

特征测试效果:

时间测试效果:
根据时间顺序将正常数据集和恶意数据集划为训练集和测试集。选取 2019 年 5 月~2019 年 7月中旬的恶意流量、2017 年 12 月~2018 年 2 月的校园网流量及 2019 年 8 月前两周的企业流量数据作为训练集; 选取 2019 年 7 月下旬~2019 年 8 月的恶意流量、2019 年 3 月和 2019 年 11 月的校园网流量、以及企业 2019 年 8 月第三周数据作为测试集。

跨场景稳定性:
第一组实验测试选取 70%的校园网正常数据集与 70%的恶意数据集进行训练, 验证在企业正常数据集与 30%恶意数据集上的检测效果, 记为跨场景测试 1;

第二组实验选取70%的企业正常数据集和 70%的恶意数据集进行训练, 测试在校园网数据集与剩余的 30%的恶意数据集上的检测效果, 记为跨场景测试 2;

由于数据集不相交, 为了降低误报率, 从测试数据集中随机划分10%的正常数据集作为训练集的补充, 分别测试了随着补充的会话数增加对准确率等指标的影响

总结

1.学到的知识点

  1. TLS协议是较常用的加密协议
  2. 整体加密流量检测的流程,包括流量收集、流量预处理的方法。

2.论文创新点

  1. 从各个角度收集了恶意流量和正常流量的特征区别
  2. 提出的模型有很好的鲁棒性

【研究型论文】结合多特征识别的恶意加密流量检测方法(中文论文_信息安全学报)相关推荐

  1. 基于机器学习的恶意软件加密流量检测研究分享

    1 概述 2 恶意软件加密流量介绍 3 加密HTTPS流量解析 4 特征工程 5 模型效果 6 具体实施 7 总结 1 概述 近年来随着HTTPS的全面普及,为了确保通信安全和隐私,越来越多的网络流量 ...

  2. 安卓恶意代码(软件)检测2012-2013年论文研究

    本系列索引链接: 安卓恶意代码(软件)检测2012-2013年论文研究. 由于本次篇幅中的论文都比较老,所以本人就没有细讲也没有进行复现,后续较新的论文我会尝试复现核心模块,与此同时欢迎在做相关研究的 ...

  3. 利用MLAI判定未知恶意程序——里面提到ssl恶意加密流检测使用N个payload CNN + 字节分布包长等特征综合判定...

    利用ML&AI判定未知恶意程序 导语:0x01.前言 在上一篇ML&AI如何在云态势感知产品中落地中介绍了,为什么我们要预测未知恶意程序,传统的安全产品已经无法满足现有的安全态势.那么 ...

  4. 线性时态逻辑ctl_计算机系统形式化验证中的模型检测方法综述论文

    计算机系统形式化验证中的模型检测方法综述论文 1 形式化方法概述 形式化方法是用数学和逻辑的方法来描述和验证系统设计是否满足需求.它将系统属性和系统行为定义在抽象层次上,以形式化的规范语言去描述系统. ...

  5. 基于深度学习的表面缺陷检测方法综述-论文阅读笔记

    //2022.3.2日阅读笔记 原文链接:基于深度学习的表面缺陷检测方法综述 (aas.net.cn) 个人对本篇综述内容的大致概括 论文首先介绍了表面缺陷检测中不同场景下的成像方案,主要根据表面颜色 ...

  6. 论文学习——基于集成LSTM-AE的时间序列异常检测方法

    文章目录 0 封面 1 标题 2 摘要 3 结语 4 引言 4.1 一个问题 4.1 新方向 5 实验设计 写在前面:<华中科技大学学报(自然科学版)>:主办单位:华中科技大学:中文核心: ...

  7. 一种基于计算机视觉的摄像机智能火灾检测方法 (英文论文翻译 )

    英文版论文原文:https://www.sciencedirect.com/science/article/pii/S0957582018314526?via%3Dihub 一种基于计算机视觉的摄像机 ...

  8. overleaf怎么输入中文_【Latex | 输入中文 | 小论文】如何用利用在线Latex工具Overleaf编写中文论文...

    论文写作一定是多数研究生在学习阶段无法避开的话题.恕我直言,你的小论文被录用与否直接决定着你能否毕业.所以请认真对待论文写作! Q&A(以下为精分现场)- 那么用什么工具编写论文比较好呢? - ...

  9. 深度学习——day38 读论文:基于深度学习的数据竞争检测方法(DeleRace计算机研究与发展 2022)

    基于深度学习的数据竞争检测方法 chap0 Introduction 本文贡献: 原文及笔记下载 chap1 DeleRace 1.1 检测框架 1.2 选取实际应用程序 1.3 特征提取 1.3.1 ...

最新文章

  1. 跳转Activity闪退
  2. html正则表达式确认密码,如何使用正则表达式在流星中验证确认密码
  3. JSON.stringify(value[, replacer[, space]])
  4. 如何给SpringBoot配置轻松加密?
  5. 【es】ElasticSearch 插件开发
  6. 尚硅谷python全套-尚硅谷Java视频教程,粉丝无数,人手一套尚硅谷教程
  7. android禁止电话功能,#Android# 启用“阻止模式”功能,避免半夜电话骚扰!
  8. tomcat8下载时各个版本的说明
  9. 磁力搜索引擎-RunBt
  10. django国际化与本地化
  11. 云呐-fsu动环监控单元,fsu动环监控单元是什么
  12. 和差化积公式 和 积化和差公式
  13. cocos恭喜喜庆粒子特效
  14. python音乐下载_python 音乐下载演示源代码
  15. 安卓手机如何投影到电脑?手机屏幕投影到电脑
  16. 笔记本选购指南-2022年初购买笔记本建议
  17. js 显示12小时,24小时制时间
  18. 利用大顶堆实现top-k算法
  19. 浅谈电磁学——高斯定理 环路定理
  20. android 开启gps 简书,Android蓝牙第三方库FastBle使用注意事项(需开启GPS定位)

热门文章

  1. 《UNIX 环境高级编程》学习笔记—— 标准I/O库
  2. CRC 在线计算工具
  3. java 打印收据_如何用Java代码生成打印收据
  4. 推荐一款好用的远程shell工具-----完全免费可多开(里面的命令全)
  5. 红警1游戏开源,代码非常规范。网友:秀色可餐
  6. 让你终身不发火的5个字
  7. SIMULINK实现m序列并用于跳频系统调制
  8. 3D可视化工具Mayavi的安装
  9. 中兴机顶盒子,烽火机顶盒子的交叉编译环境搭建
  10. 常用知识总结(二) 之 电容谐振频率点和阻抗