• 1 概述
  • 2 恶意软件加密流量介绍
  • 3 加密HTTPS流量解析
  • 4 特征工程
  • 5 模型效果
  • 6 具体实施
  • 7 总结

1 概述

近年来随着HTTPS的全面普及,为了确保通信安全和隐私,越来越多的网络流量开始采用HTTPS加密,截止今日,超过65%的网络流量已使用https加密。

HTTPS的的推出,主要是为了应对各种窃听和中间人攻击,以在不安全的网络上建立唯一安全的信道,并加入数据包加密和服务器证书验证。但是随着所有互联网中加密网络流量的增加,恶意软件也开始使用HTTPS来保护自己的通信。

这种情况对安全分析人员构成了挑战,因为流量是加密的,而且大多数情况下看起来像正常的流量。 检测企业内部HTTPS流量的一种常见的解决方案是安装HTTPS拦截代理。 这些硬件服务器可以通过在其计算机中安装特殊证书来打开和检查员工的HTTPS流量。 HTTPS拦截器位于客户端和服务器之间,其中加密流量被解密,扫描恶意软件后,再次加密并发送到目标IP。 此方法允许使用经典检测方法来检测未加密的恶意软件流量。 使用拦截器的问题在于它昂贵,计算要求高,同时造成网络性能下降,而且它不尊重HTTPS的原始想法,即拥有私密和安全的通信。

本文将为大家介绍一种在不解密流量的情况,可以高精度地检测恶意软件HTTPS流量的技术。

2 恶意软件加密流量介绍

2.1 使用加密通信的恶意软件分类

目前使用加密通信的恶意软件家族超过200种,使用加密通信的恶意软件占比超过40%,使用加密通信的恶意软件几乎覆盖了所有常见类型,如:特洛伊木马、勒索软件、感染式、蠕虫病毒、下载器等,其中特洛伊木马和下载器类的恶意软件家族占比较高。

2.2 恶意软件加密通信方式

恶意软件产生的加密流量,根据用途可以分为以下六类:C&C直连、检测主机联网环境、母体正常通信、白站隐蔽中转、蠕虫传播通信、其它。

C&C直连 – 恶意软件在受害主机执行后,通过TLS等加密协议连接C&C(攻击者控制端),这是最常见的直连通讯方式。

检测主机联网环境 – 部分恶意软件在连接C&C服务器之前,会通过直接访问互联网网站的方式来检测主机联网情况,这些操作也会产生TLS加密流量。通过统计发现:使用查询IP类的站点最多,约占39%;使用访问搜索引擎站点约占30%,其它类型站点约占31%。

母体程序正常通信 – 感染式病毒是将恶意代码嵌入在可执行文件中,恶意代码在运行母体程序时被触发。母体被感染后产生的流量有母体应用本身联网流量和恶意软件产生的流量两类。由于可被感染的母体程序类别较多,其加密通信流量与恶意样本本身特性基本无关,本文就不做详细阐述。

白站隐蔽中转 – 白站是指相对于C&C服务器,可信度较高的站点。攻击者将控制命令或攻击载荷隐藏在白站中,恶意软件运行后,通过SSL协议访问白站获取相关恶意代码或信息。通过统计发现,最常利用的白站包括Amazonaws、Github、Twitter等。

蠕虫传播通信 – 蠕虫具有自我复制、自我传播的功能,一般利用漏洞、电子邮件等途径进行传播。监测显示近几年活跃的邮件蠕虫已经开始采用TLS协议发送邮件传播,如Dridex家族就含基于TLS协议的邮件蠕虫模块。

其他通信 – 除以上几类、还有一些如广告软件、漏洞利用等产生的恶意加密流量。

3 加密HTTPS流量解析

3.1.Https简介

HTTPS协议也称为SSL上的HTTP安全或超文本传输协议,是以安全为目标的 HTTP 通道,通过传输加密和身份认证保证了传输过程的安全性 。 如果没有加密,任何设法查看客户端和服务器之间的数据包的人都可以读取通信。

Http:在通讯的过程中,以明文的形式进行传输,采用wireshark抓包的效果如下:

Https:所有的请求信息都采用了TLS加密,采用wireshark抓包的效果如下:

3.2.流量深度解析

3.2.1 流量解析日志生成

使用流量包深度解析方式提取HTTPS流量中的足够信息日志,包括连接通信日志、SSL协议日志、证书日志三部分。

从3个日志中可以获得以下信息:
(1)连接记录
每一行聚合一组数据包,并描述两个端点之间的连接。连接记录包含IP地址、端口、协议、连接状态、数据包数量、标签等信息。

(2)SSL记录
它们描述了SSL/TLS握手和加密连接建立过程。有SSL/TLS版本、使用的密码、服务器名称、证书路径、主题、证书发行者等等。

(3)证书记录
在日志中的每一行都是一个证书记录,描述证书信息,如证书序列号、常用名称、时间有效性、主题、签名算法、以位为单位的密钥长度等。

3.2.2 流量解析日志中的数据关联

流量包深度解析后生成日志数据,任何日志中的每一行都有唯一的键,用于链接其他日志中的行。
– 通过连接日志记录中的唯一键,可以和SSL协议日志中的唯一键进行2个记录的关联。
– 通过协议日志中一列使用逗号拼接成的id键值,可以在证书日志中找到每个id对应的证书记录。

3.2.3 流量解析的证书日志

流量解析后的证书路径存在ssl协议日志中的Certificate path列,其中存储了所有证书的id键值,每一个逗号分隔的id值对应证书日志中的一条证书记录。

4 特征工程

基于连接4元组进行特征提取,通过来自连接日志、SSL协议日志、证书日志中的数据创建连接4元组,并提取特征用于机器学习模型训练。

4.1 连接4元组

根据连接日志中的id、SSL协议日志中的id进行连接,再根据得到的conn_ssl.log中的证书路径,取第一个key,和证书日志中的id进行再次关联,在得到的关联结果中,根据连接4元组(源IP、目标IP、目标端口和协议)相同的数据,进行group聚合操作,然后对于得到的每个连接4元组,根据聚合结果进行特征提取。

4.2 特征提取

对于每个连接4元组,我们提取了37个特征,大部分是基于我们对该领域的专业知识和对我们的恶意软件数据的彻底分析而创建的。对于这些特征,我们将它们分为3组:连接特征、SSL特征、证书特征。
– 连接特征是来自连接记录的特征,描述与证书和加密无关的通信流的常见行为。
– SSL特征是来自SSL记录的特征,描述了SSL握手和加密通信的信息。
– 证书特征是来自证书记录的特性,描述了web服务人员在SSL握手期间提供给我们的证书的信息。每个特性都是某个浮点值,如果由于缺少信息而无法计算该特征,则值为-1。

4.2.1 连接特征

连接特征共包含12个,部分举例如下:
(1)聚合和连接记录的数量。每个连接4元组包含的SSL聚合和连接记录数量和。
(2)持续时间均值。每个连接4元组的连接参数duration的均值。
(3)持续时间标准差。每个连接4元组的连接参数duration的标准差。
(4)超出标准差范围的持续时间占比。每个连接4元组的所有持续时间值中有多少百分比超出了范围。这个范围有两个极限,上限是均值+标准偏差,下限是均值-标准偏差。
(5)总发送包大小。每个连接4元组的所有连接记录发送的有效负载字节数。

4.2.2 SSL特征

SSL特征共包含10个,部分举例如下:
(1)连接记录中ssl连接的占比。连接4元组中非ssl连接和ssl连接的个数比值。
(2)TLS与SSL的比值。连接4元组中tls版本分布占比。
(3)SNI占比。连接4元组中server_name不为空的比例。
(4)SNI is IP。连接4元组中server_name为ip地址的比例。

4.2.3 证书特征

证书特征共包含15个,部分举例如下:
(1)公钥均值。连接4元组中全部证书exponent的均值。
(2)证书有效期的平均值。连接4元组中全部证书的有效天数的均值。
(3)证书有效期的标准差。连接4元组中全部证书的有效天数的标准差。
(4)捕获期间证书周期的有效性。连接4元组的全部证书中没有过期的占比。

5 模型效果

数据集选择,对于负样本,使用https://www.stratosphereips.org/datasets-malware 网站下公开的恶意软件捕获结果集,目前已有349个恶意样本集。同时,使用一批最新的恶意软件10w个,通过沙箱捕获恶意软件产生的流量。对于正样本,一部分使用日常办公网中正常流量,同时使用爬虫爬取alexa中访问最多的top10000网站,采集产生的流量作为另一部分数据集。

经过数据清洗和过滤后,最终得到正样本46949条,负样本45121条。

使用多种机器学习模型,进行训练,选择其中效果较好的模型,随机森林模型和XGBOOST,准确率如下:

最后,为了便于测试模型效果,使用Flask开发了一个web在线检测页面,可以上传pcap进行检测恶意流量,收集20个最新的恶意软件进行测试,最后检出20个。

6 具体实施

技术选型选择Spark,因为每日流量数据很大,如果采用使用Spark Streaming在线实时检测会特别消耗机器性能,所以采用离线检测方式,流量深度包解析后的数据存储到Hive中,定时从Hive中读取数据,加载模型,进行检测。

7 总结

本文介绍了基于机器学习的检测恶意加密流量的方法,首先需要了解https的相关知识,还需要对流量解析器解析出来的连接日志、协议日志、证书日志中的字段含义有比较深入的了解。最后,在具体实施的过程中,还需要对数据进行清洗和过滤,比如恶意软件流量中会夹杂一些正常流量,可以根据域名进行过滤,保证训练数据的准确性。

转载出处:斗象能力中心TCC-Chris

基于机器学习的恶意软件加密流量检测研究分享相关推荐

  1. 《基于深度学习的加密流量识别研究》-2022毕设笔记

    参考文献: 基于深度学习的网络流量分类及异常检测方法研究_王伟 基于深度学习的加密流量分类技术研究与实现_马梦叠 基于深度学习的加密流量识别研究综述及展望_郭宇斌 基于深度学习的加密流量算法识别研究_ ...

  2. 卡巴斯基白皮书-基于机器学习的恶意软件检测-笔记

    前言:下文用"我们"表示卡巴斯基实验室,(?)标记尚有疑问处.原文地址.这篇文章描述卡巴斯基实验室基于机器学习的恶意软件检测实践,包括静态分析和行为分析两类检测方法,以及数据预处理 ...

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

    文章目录 结合多特征识别的恶意加密流量检测方法 摘要 论文解决的问题与贡献 1. 正常流量与恶意流量特征比较 (1)会话的统计特征分析 (2)TLS协议特征分析 (3)服务器证书特征 (4)服务器域名 ...

  4. 基于GAN框架的时间序列异常检测研究综述

    一项综述类的课程作业 Anomaly detection with generative adversarial networks for multivariate time series. MAD- ...

  5. 基于脑电功率的疲劳驾驶检测研究_kaic

    基于脑电功率的疲劳驾驶检测研究 摘  要 在道路交通安全领域,疲劳驾驶是一种常见的交通安全隐患.现有数据统计,全球每年有大约21%的重大交通事故与疲劳驾驶有关,疲劳驾驶成为了诱发交通事故的主要原因之一 ...

  6. 基于深度卷积神经网络的目标检测研究综述

    基于深度卷积神经网络的目标检测研究综述 人工智能技术与咨询 来自<光学精密工程> ,作者范丽丽等 摘要:作为计算机视觉中的基本视觉识别问题,目标检测在过去的几十年中得到了广泛地研究.目标检 ...

  7. python预测股票价格论文_基于机器学习的股票分析与预测模型研究

    金融观察 ◎ 基于机器学习的股票分析与预测模型研究 ① 姚雨琪 摘 要 : 近年来 ꎬ 随着全球经济与股市的快速发展 ꎬ 股票投资成为人们最常用的理财方式之一 ꎮ 本文研究的主要目标是利用 机器学习技 ...

  8. 基于机器学习的个性化推荐算法的研究

    基于 机器学习 的个性化推荐算法的研究 摘要: 如今互联网发展 十分迅速,每天产生的数据量一直在增加,传统的搜索引擎已经不能够适用当前的需求,推荐系统已经成为互联网时代的新宠儿.它已经发展成为一门跨学 ...

  9. 《基于机器视觉测量系统的工业在线检测研究》论文笔记

    <基于机器视觉测量系统的工业在线检测研究>论文笔记 原文链接:Research on Industrial Online Detection Based on Machine Vision ...

最新文章

  1. 比较某两个时间的时间戳相等
  2. JavaScript中foreach()用法及使用的坑
  3. xgboost模型参数详解
  4. jQuery 库 - 特性
  5. 腾讯技术课|基于Elastic Stack 搭建日志分析平台
  6. 通用业务流水号功能设计
  7. Windows Server 2008 系统上c#读取Excel遭遇“用户代码未处理 ComException”错误
  8. python背景怎么自定义铃声_Python 上课铃声的定时播放(具有较强的自我管理能力.jpg)...
  9. JS如何判断安卓还是iOS 一种比较被认同的方式
  10. Churchman University简介:
  11. 如果知道它们的热量,还想点吗?
  12. pythongui日历控件_python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例...
  13. android 半浮层框架
  14. 数据分析的基本思想是什么
  15. 除了神经网络其他的智能算法,人工神经网络算法与机器算法
  16. (ch9) Deep Learning for Anomaly Detection: A Survey
  17. 植物大战僵尸python源代码_植的解释|植的意思|汉典“植”字的基本解释
  18. 信息采集之微博热门自定以搜索
  19. 拆红包robmoney.java,android 模拟微信抢红包 实例源码下载
  20. 遗传算法优化数据拟合

热门文章

  1. Android之修改短信程序
  2. 转战博客园,CSDN再见!
  3. 基础不牢靠,何以争朝夕?Java基础面试82道详细解析(更新中)
  4. 移动安全app渗透测试之渗透流程、方案及测试要点讲解
  5. mysql-下划线转驼峰-转载
  6. 高阶多项式合并同类项程序c语言,多项式合并同类项问题
  7. python轻松实现与图灵机器人的人机交互
  8. 简单的命令改善你的Linux安全
  9. 游戏美术次世代制作流程图文详解
  10. 2022-2028全球与中国篮球计时系统市场现状及未来发展趋势