加密恶意流量检测思路分析
文章目录
- 背景及现状
- 加密恶意流量特征分析
- 特征类别
- 特征提取
- 加密恶意流量检测流程
- 数据采集
- 特征工程
- 模型训练
- 参考资料
背景及现状
为了确保通信安全和隐私以及应对各种窃听和中间人攻击,HTTPS逐渐全面普及,越来越多的网络流量也被加密,然而,攻击者也可以通过这种方式来隐藏自己的信息和行踪,通过给恶意软件穿上一层名为TLS/SSL的马甲来将其伪装成正常流量进行攻击感染,逃避检测。
近年来,针对加密恶意流量的检测一直是网络安全领域关注的焦点,目前主流的攻击检测手段有两种:解密后检测和不解密检测。业界网关设备主要使用解密流量的方法检测攻击行为,但这种解方法会消耗大量的资源,成本很高,同时也违反了加密的初衷,解密过程会受到隐私保护相关法律法规的严格限制。出于保护用户隐私的考量,不解密进行流量检测的方法逐渐被业界研究人员关注起来,这种方案通常仅被允许观测网络出口的加密通信流量(443端口),但无需对其进行解密,通过利用已经掌握的数据资源,对加密流量进行判别。
加密恶意流量特征分析
特征类别
加密恶意流量特征可以通过解析HTTPS数据包头部信息来获取,而包含这些信息的TLS握手协议在网络中通过明文传输,因此可以使用wireshark等工具捕获网络数据包生成pcap文件,再进行进一步的特征提取。需要关注的加密恶意流量特征可分为以下3类:
- 数据元统计特征:数据包大小、到达时间序列和字节分布。
- TLS特征:客户端提供的加密套件和TLS扩展、客户端公钥长度、服务器选择的加密套件、证书信息(是否为非CA自签名、在SAN X.509扩展中的数目、有效期等)。
- 上下文数据特征:可细分为DNS数据流和HTTP数据流特征。其中,DNS特征关注DNS响应中域名长度、域名中数字与非数字字符长度比、TTL值、DMS响应返回的IP地址数、域名在Alexa网站中的排名情况;HTTP特征关注出入站HTTP的多个字段(Set-Cookie、Location、Expires、Content-Type、Server等)以及HTTP响应码。
特征提取
Joy是Cisco开源的加密流量分析系统的前期预研项目,用于从实时网络流量或pcap文件中提取数据特征,包含clientHello, serverHello, certificate和clien-tKeyExchange等信息,然后用JSON表示这些数据特征,它还包含可以应用于这些数据文件的分析工具sleuth。
Joy除了关注数据包大小和一些与时间有关的参数等传统流量特征,还通过解析加密连接的初始数据包,充分利用未加密字段,从加密包中提取上一小节中的数据特征元素。
Joy在ubuntu环境下的配置命令如下:
sudo apt-get install build-essential libssl-dev libpcap-dev libcurl4-openssl-dev
git clone https://github.com/cisco/joy.git
cd joy
./config
make
简单使用Joy的方法:
# 使用Joy从data目录下的pcap文件中提取tls/dns/http类数据特征,提取出的json结果文件保存在feature目录下
./joy output=features bidir=1 tls=1 dns=1 http=1 data/*
# 使用sleuth分析提取所需的具体特征信息
./sleuth bin/features/* --select "tls{cs,c_extensions,c_key_length,s_cs,s_extensions,s_cert[{validity_not_before,validity_not_after}]}"
加密恶意流量检测流程
数据采集
可以借助Wireshark等工具,通过设置一定过滤规则,分别获取公共网络中的良性流量和恶意流量,从而将检测工作转化为机器学习中常见的二分类问题。
特征工程
与上一大节中阐述的内容相似,在确定特征类别之后进行相应的提取,然后根据特征属性、特征与类别的相关性对数据进行预处理(考虑因素较多,有待进一步学习),最后生成一个以不同网络数据流为列向量、数据流的不同特征为行向量的特征矩阵,供后续处理分析。
模型训练
这一部分要采取合适的汲取学习算法作为分类器对样本数据进行训练,生成相应的分类模型。常用的分类算法包以下几种:
- l1正则化的逻辑回归算法(
l1-logistic regression
) - 支持向量机(
SVM
) - 随机森林(
random forest
) - 极端梯度提升(
XGBoost
)
参考资料
[1] Anderson B , Mcgrew D . Identifying Encrypted Malware Traffic with Contextual Flow Data[C]// the 2016 ACM Workshop. ACM, 2016.
[2] Anderson B , Paul S , Mcgrew D . Deciphering Malware’s use of TLS (without Decryption)[J]. Journal of Computer Virology and Hacking Techniques, 2016.
[3] 骆子铭, 许书彬, 刘晓东. 基于机器学习的TLS恶意加密流量检测方案[J]. 网络与信息安全学报, 2020(1):77-83.
[4] Cisco:Joy_using_manual
加密恶意流量检测思路分析相关推荐
- 基于机器学习和背景流量数据的加密恶意流量检测
文章目录 1 加密流量现状 1.1 加密流量检测的必要性 1.2 加密恶意流量的检测方法 2 加密流量特征分析 2.1 可观察的数据元统计特征 2.1.1 传统流数据 2.1.2 字节分布 2.1.3 ...
- 识别TLS加密恶意流量
利用背景流量数据(contexual flow data)识别TLS加密恶意流量 识别出加密流量中潜藏的安全威胁具有很大挑战,现已存在一些检测方法利用数据流的元数据来进行检测,包括包长度和到达间隔时间 ...
- 利用背景流量数据(contexual flow data) 识别TLS加密恶意流量
识别出加密流量中潜藏的安全威胁具有很大挑战,现已存在一些检测方法利用数据流的元数据来进行检测,包括包长度和到达间隔时间等.来自思科的研究人员扩展现有的检测方法提出一种新的思路(称之为"dat ...
- 融合多头注意力机制的网络恶意流量检测
摘要 [目的]现有的网络恶意流量检测方法依赖统计特征进行建模,忽略了网络流量本身所具备的时序特征,通过对时序特征的提取.学习.建模,可以进一步提高网络恶意流量检测精度.[方法]将网络流量以会话为基本单 ...
- Maltrail恶意流量检测系统
Maltrail恶意流量检测系统 项目介绍 项目GitHub地址 项目架构 项目数据集 运行方式 订阅源扩展 数据采集模块提取 项目介绍 maltrail是一款轻量级的恶意流量检测系统,其工作原理是通 ...
- 利用机器学习方法检测识别TLS加密恶意流量
摘要:本文总结提出了一种主流的机器学习加密流量分析的方法 如何在不侵犯个人隐私的前提下,在加密流量中检测恶意攻击行为,为了找到一种切实可行的"在加密流量中检测恶意攻击行为"的方法, ...
- 机器学习之恶意流量检测的特征工程
背景 传统的机器学习除了使用Tfidf-ngram的方式外还有其他做特征工程方式,还可以通过定义不同维度的特征来做特征工程,这种特征工程方式需要安全工程师对每一种攻击有良好特征提取能力.这种方法举个例 ...
- 长城宽带恶意流量劫持证据分析及防范
长城宽带使用下三滥手段劫持可执行文件下载地址,然后引导到其他站点,这个操作用心不良啊,这可以夹带恶意文件啊. 看看这个220.112.194.135这个ip地址归属,http://www.ip.cn/ ...
- [安全攻防进阶篇] 七.恶意样本检测之编写代码自动提取IAT表、字符串及时间戳溯源
系统安全绕不开PE文件,PE文件又与恶意样本检测及分析紧密相关.前文作者带领大家逆向分析两个CrackMe程序,包括逆向分析和源码还原.这篇文章主要介绍了PE文件基础知识及恶意样本检测的三种处理知识, ...
最新文章
- 【组队学习】【33期】动手学数据分析
- NET问答: 如何实现读写 file 的时候不用锁模式 ?
- [html] 如何通过表单下载文件?
- AI算法连载01:数学基础之线性代数
- mysql varchar 2000能存_mysql 数据库 varchar 到底可以存多少数据呢,长文慎入
- 索尼收购挪威公司Nevion 进一步增强其业务组合
- 前端:高德地图快速入门使用
- 高并发架构系列:如何解决Redis雪崩、穿透、并发等5大难题
- 31. Element previousSibling 属性
- debug使用方法(概念篇)
- [创翼]解除一机一号限制,并实现断电、断网后自动拨号(附:高校进阶个人组网方案)
- 复旦MBAer聊“进博”:希望已至,寻路未来!
- 北京地铁乘坐路线查询
- 360全景倒车影像怎么看_360度全景倒车影像应该装么?告诉大家千万要冷静,一招对付所有...
- 网站模板制作有什么技巧呢?
- The kernel appears to have died. It will restart automatically.
- Hazelcast Jet DAG原理
- 游戏实战篇|原神人物模型下载教程,并在Unity中给模型 添加动画【伯嫖最新原神所有人物模型】文末送书
- 算术表达式求值演示(C/C++实现)
- 服务式办公室,价格影响选择
热门文章
- 计算机无法安装windows系统怎么办,电脑无法安装win7系统怎么办
- react路由hash转brower访问页面,页面空白
- 小度智能音箱维修点_小度在家是哪家公司的_小度在家智能音箱怎么样
- baocms伪静态_PHP源码:BAOCMS v5.0白金版 本地O2O生活电商门户系统+微信+同步wap手机版宝...
- 2022出海拉美:墨西哥电商市场现状及网红营销特点
- 新手怎么入门人工智能(AI,深度学习,机器学习,神经网络)
- oci连接mysql_Oracle Call Interface (OCI)
- 安装使用——百家CMS微商城说明文档(2)
- [转]全国最好的医院列表
- 晶体振荡器稳频的调幅发射电路,实验结果与小记