网络空间安全监测预警技术
1 流量分类与识别技术
0x01 基于 DPI 的分类识别技术
DPI 全称为“Deep Packet Inspection”,称为“深度包检测”。“普通报文检测”仅分析 IP 包的层 4 以下的内容,包括源地址、目的地址、源端口、目的端口以及协议类型;而 DPI 除了对前面的层次分析外,还增加了应用层分析,识别各种应用及其内容,基本概念如下图所示:
分类
(1)基于“特征字”的识别技术
(2)应用层网关识别技术
(3)行为模式识别技术
0x02 基于 DFI 的分类识别技术
与 DPI 进行应用层的载荷匹配不同,DFI(Deep/Dynamic Flow Inspection,深度/动态流检测)采用的是一种基于流量行为的应用识别技术,即不同的应用类型体现在会话连接或数据流上的状态各有不同。
0x03 基于数据包特征的检测识别技术
- 提取平均包长、最大包长和最小包间延迟等属性
- 数据包的聚集程度、时间分布等特征
2 僵尸、木马、蠕虫检测技术
僵尸网络检测
0x01 基于蜜罐技术的僵尸网络检测
蜜罐、密网和分布式密网
- 低交互式
- 高交互式
0x02 基于通信内容的僵尸网络检测
0x03 基于异常行为的僵尸网络检测
0x04 基于安全设备日志的僵尸网络检测
- CTU-13 数据集
0x05 基于网络流量分析的僵尸网络检测
3 流行数据集
序号 | 名称 | 针对问题 | 描述 | 是否针对 加密流量 |
标记 | 优缺点 |
1 | DARPA入侵检测评估数据集 | 入侵检测 | DARPA 1999覆盖了Probe、DoS、R2L、U2R和Data等 5类58种典型攻击方式,是目前最为全面的攻击测试数据集 |
否 | 是 | 应用广泛,认可度高,但陈旧过时 |
2 | KDD99数据集 | 入侵检测 | 从一个模拟的美国空军局域网上采集9个星期的网络连接数据,训练集中 包含了1种正常的标识类型和22种攻击类型,另外有14种攻击仅出现在测试数据集中 |
否 | 是 | 数据存在大量冗余 |
3 | NSL-KDD数据集 | 入侵检测 | 针对KDD CUP 99数据集出现的不足,NSL-KDD 数据集除去KDD CUP 99数据集中冗余的数据,克服了分类器偏向于重复出现的记录,学习方法的性能受影响等问题 | 否 | 是 | 缺乏入侵检测系统的公开数据,不能完美代表现实 |
4 | ISCX-2012数据集 | 入侵检测 | 引入了一种系统化的方法来生成所需的数据集,分析实际跟踪,为 HTTP、SMTP、SSH、IMAP、POP3 和 FTP 生成实际流量的代理创建配置文件 | 否 | 是 | 不能完美拟合现实流量数据 |
5 | CTU-13数据集 | 恶意流量检 | CTU-13是2011年在捷克共和国CTU大学捕获的僵尸网络流量数据集,包含 13 个不同场景僵尸网络样本的捕获 | 是 | 是 | 不含特征标签 |
6 | CAIDA数据集 | 入侵检测/流 | 包含3个不同的数据集,CAIDA DDoS包含1 h的攻击和5 min的pcap文件 | 否 | 否 | 攻击类型不多,且无标记 |
7 | CICIDS2017数据集 | 入侵检测 | 使用B-Profile系统产生良性背景流量,基于 HTTP、HTTPS、FTP、SSH 和电子邮件协议构建了25 个用户的抽象行为,收集5天超过50 GB流量 | 可用于加密 | 是 | 正常的用户行为是通过脚本产生的 |
8 | CIDDS数据集 | 入侵检测 | 基于软件Openstack,模拟小型企业环境,同时部署了外部服务器以获取真实流量数据,捕获四周的时间内收集了大约3.2×10<sup>7</sup>的数据流,并分为5类 | 否 | 是 | 由Python脚本生成,可能包含人为偏差 |
9 | Kyoto 数据集 | 入侵检测 | 该数据集采用honypots 技术创建,因此没有手动标记和匿名化过程 | 是 | 是 | 只能观察对蜜罐的攻击 |
10 | CSIC2010数据集 | Web流量异常 | CSIC 2010由西班牙国家研究委员会信息安全研究所开发,包含36 000个正常请求和25 000多个异常请求 | 否 | 否 | 只针对Web流量,无特征集 |
11 | UNIBS数据集 | 流量分类 | 布雷西亚大学校园网的边缘路由器上捕获3个工作日收集的27 GB流量,可使用tcptrace提取特征 | 否 | 否 | 数据严重不平衡 |
12 | ADFA IDS数据集 | 入侵检测 | ADFA IDS Datasets 是澳大利亚国防大学发布的一套关于HIDS的数据集,包括10次攻击 | 否 | 否 | 某些攻击行为与正常行为没有很好分离 |
13 | WIDE流量数据 | 异常检测 | MAWILab是一个帮助研究人员评估他们的流量异常检测方法的数据库。它由一组在MAWI归档中定位流量异常的标签(采样点B和F)组成。数据集每天更新,包括即将到来的应用程序和异常的新流量 | 否 | 否 | 只适合做验证,不适合做训练 |
14 | Publicly available PCAP | 恶意流量检 | 从蜜罐、沙箱或现实世界入侵捕获恶意软件流量。包含多个恶意软件数据集 | 否 | 否 | 数据集繁杂,处理比较困难 |
15 | Masquerading User Data | 入侵检测 | Masquerading User Data 是通过正常数据构造出来用于训练和检测 Masquerading User攻击的数据集 | 否 | 否 | 用于验证比较算法 |
16 | Honeynet数据集 | 恶意流量检 | Honeynet 数据集是由HoneyNet组织收集的黑客攻击数据集,能较好地反映黑客攻击模式,数据集包括从2000年4月到2001年2月的Snort报警数据 | 否 | 否 | 只能用于验证 |
17 | 恶意流量分析数据集 | 恶意流量检 | 各种恶意软件的原始数据 | 否 | 是 | 无背景流量 |
18 | Cambridge University计算 | 流量分类 | 数据采用 Weka.arff 格式。对于数据中的每个流,有 12 个特征矢量和一个手动验证的类标签,仅从每个流的前5个数据包(注意:不是前5个数据包)收集 | 否 | 是 | 并非针对恶意流量检测 |
19 | Moore数据集 | 流量分类 | 用于分析TCP、UDP、IP的包头以及层完整性 | 否 | 是 | 并非针对恶意流量检测 |
20 | SSL Certificates数据集 | 流量分类 | 该数据集包含一组与每个研究中观察到的新X.509证书相关的元数据,这些证书考虑了之前运行的所有SSL研究 | 是 | 否 | 不适合做模型训练 |
20 | USTC-TFC2016数据集 | 流量分类 | 该数据集包含10种正常流量和恶意流量 | 是 | 否 | 适合做模型训练 |
一般分类效果的判别标准
准确率(ACC)是指分类正确的个数占总样本的比例,用于衡量分类器做出的判决中总体的正确率情况。FN 被判定为负样本,但事实上是正样本;FP 被判定为正样本,但事实上是负样本;TN 被判定为负样本,事实上也是负样本;TP 被判定为正样本,事实上也是正样本。
召回率(R)是指正样本被分类正确的个数占总正样本数的比例,用来衡量模型对正样本的检测能力。FN 被判定为负样本,但事实上是正样本。
精确率(P)是指分类为正样本实际为正样本的比例,用来衡量对正样本结果中的预测准确度。
F1 值兼顾分类模型的精确率和召回率,可以看作是模型精确率和召回率的一种加权平均,对于不平衡样本集,F1 值更能衡量模型的分类能力。
F1=(2×P+R)/(P+R)
在数据集的模型训练中,选择目前较流行的 XGBoost、LightGBM、RandFo rest 和 Logistic Regression 分类算法进行模型训练,且全部采用算法模型的默认参数进行训练。在数据集的划分中,训练集、验证集、测试集按照 4:2:2 的比例来进行划分,并在训练中采用 10 折交叉验证来进行模型训练和结果评估。10 折交叉验证是常用的测试方法,将数据集分成 10 份,轮流将其中 9 份作为训练数据,1 份作为测试数据,进行试验。每次试验都会得出相应的正确率(或差错率)。10 次结果的正确率(或差错率)的平均值作为对算法精度的估计,一般还需要进行多次 10 折交叉验证(如 10 次 10 折交叉验证),再求其均值,作为对算法准确性的估计。
4 实验
4.1 cnn-USTC-TFC2016 流量分类
数据集:USTC-TFC2016
大小:3.9GB
类别:10 中常见服务流量['BitTorrent','Facetime','FTP','Virut','MySQL','Zeus','Skype','SMB','Weibo','WorldOfWarcraft']
方法
使用 cnn 深度学习分类
4.2 CTU-13 数据集
- CTU-13 数据集
https://codeantenna.com/a/zxRP584Fy0
总量:2954230
有效数据:2916634 条
方法
机器学习分类
- Logistic regression model
- GaussianNB
- k-Nearest Neighbors model
- Neural network model
参考:
4.3 HyperVision--一种基于无监督机器学习的实时的恶意流量检测系统。
《Detecting Unknown Encrypted Malicious Traffic in Real Time via Flow Interaction Graph Analysis》
摘要
提出 HyperVision,一种基于无监督机器学习的实时的恶意流量检测系统。(无监督、机器学习、实时)
图捕获的是图结构特征表示的流交互模式,不是已知攻击的特征。
利用了图的连通性、稀疏性和统计特征。使用的是紧凑图。
建立了一个信息模型证明图保存的信息接近理想的理论界限。
成果
- 第一个使用流交互图对具有未知模式的加密恶意流量进行实时 无监督检测。
- 开发了几种算法来构建内存图,来准确捕获各种流之间的交互模式。
- 设计了一个轻量级的无监督图学习方法,通过图特征检测加密流量。
- 建立了一个基于信息论的理论分析框架,来证明图捕获了接近最优的流量交互信息。
- 构建 HyperVision 原型,在真实世界中检验其有效性。
5 参考学习链接
- https://cloud.tencent.com/developer/article/1621977
- 《Detecting Unknown Encrypted Malicious Traffic in Real Time via Flow Interaction Graph Analysis》阅读笔记https://blog.csdn.net/weixin_43790779/article/details/130169782
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步