CN109450860A - 一种基于熵和支持向量机的高级持续性威胁的检测方法 - Google Patents
一种基于熵和支持向量机的高级持续性威胁的检测方法 Download PDFInfo
- Publication number
- CN109450860A CN109450860A CN201811200227.5A CN201811200227A CN109450860A CN 109450860 A CN109450860 A CN 109450860A CN 201811200227 A CN201811200227 A CN 201811200227A CN 109450860 A CN109450860 A CN 109450860A
- Authority
- CN
- China
- Prior art keywords
- data
- entropy
- flow
- support vector
- vector machines
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Signal Processing (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于熵和支持向量机的高级持续性威胁的检测方法,涉及信息安全技术领域。本发明在整理原始流量数据包之后,通过数据统计,计算局域网内流量信息的熵值进而提取新的特征向量,再使用支持向量机训练建立机器学习模型,最终达到检测高级持续性威胁的目的。本发明的优点是通过将连续的流量数据分段,将海量数据划分成数量级更小的流量段,进而能够很快地进行分类训练和检测。同时,将检测具体的恶意流量转化为检测包含恶意流量的流量段,极大地简化的数据的处理和减小了误报率。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种检测高级持续性威胁的方法。
背景技术
在过去的十几年中,全球互联网高速发展。同时,网络攻击也层出不穷,在攻击的数量和手段上都在不断发展。2010年,臭名昭著的网络攻击震网(Stuxnet)被安全研究人员发现并披露了大量的攻击细节。自此以后,高级持续性威胁(Advanced PersistentThreats,APT)不断地出现在人们的视野。APT是一种长期的,针对特定目标高度定制化的网络攻击手段。由于其攻击行为特征多样,攻击方式层出不穷,因此传统的基于模式匹配的检测方式难以发挥有效的作用。
近年来,已经有了许多关于APT检测的工作。针对APT攻击,许多安全厂商和研究人员给出了多种解决方案。“传统特征匹配”、“黑白名单”等技术都无法有效发现未知的APT攻击。因此,Xu Wang等人研究了许多APT攻击案例后提出,针对APT攻击中的通信阶段来检测是否存在命令与控制行为及其产生的流量,方案发现命令控制行为访问的目标地址之间的关联性相比较正常流量中的地址关联性有很大的不同之处,方案通过检测计算各个访问地址的关联性从而找到可疑的流量。但此方法的不足在于检测时间过长,无法及时地发现和减少APT攻击带来的损失。另外,Sana Siddiqui提出使用基于分形维数的机器学习的分类方法,通过学习已被发现的APT攻击案例中使用的恶意软件产生的攻击流量的特征建立检测模型,并通过与常用的kNN算法进行对比得到较优秀的分类性能。此方案虽然能检测出部分恶意流量,但产生的误报率非常高,并且对于海量的流量数据的处理需要很高的计算能力,因此其检测能力极大地受到了限制。Fàtima Barceló-Rico等人侧重于检测HTTP请求的行为特征,用半监督机器学习模型Genetic Programming(GP),two Decision TreeClassifier(DTC)和Support Vector Machine(SVM)进行测试,并对比了这几种不同的机器学习算法的优劣。结果发现SVM和DTC能够在大量数据中仅仅只有少量已知可疑实例的情况依然能够保持较好的性能。
发明内容
发明目的:本发明的目的是针对现有技术的不足,提供一种高级持续性威胁的检测方法。该方法能快速,准确地识别APT攻击,同时该方法将海量数据通过提取新的特征极大地减少了所需要处理的数据量。
技术方案:为了实现上述目的,本发明提出一种基于熵和支持向量机的高级持续性威胁的检测方法,包括如下步骤:
一种基于熵和支持向量机的高级持续性威胁的检测方法,包括如下步骤:
a)在局域网中心交换机上记录流量数据,采集流量信息,流量信息包括但不限于数据包的源、目的地址,源、目的端口,字节数,时间戳;
b)将采集保存的数据通过网络封包分析还原成数据流,保存数据流的若干个特征信息;
c)设定一个时间段t,将步骤b)所得数据划分成n个时间间隔为t的样本,分别计算各个样本的若干个特征信息的熵值形成新的数据特征向量;
d)以步骤c)中所得数据特征向量作为输入,通过机器学习来训练建立能够识别带有异常流量的模型,直至训练模型的评估指标达到指定阈值;
e)使用步骤d)所得模型对任意一段时间间隔t内的流量进行分类,从而判断这段流量中是否存在异常的数据流。
进一步的,步骤b中,所述特征信息包括传输字节数,传输数据包个数和数据流的持续时间。
进一步的,步骤b中,所述采集保存的数据包括正常流量数据样本和异常流量数据样本,其中正常流量数据样本来自于步骤a中收集的流量数据,异常流量数据样本来自公开的Mila Parkour贡献的Contagio恶意软件数据库。
进一步的,步骤c中,所述时间段t在100Mbps的网络中取10秒,处理数据的设备配置为Intel 4核2.5GHz CPU,8GB RAM和2.5TB硬盘。
进一步的,步骤c中,计算数据流特征信息的熵值形成新的特征向量时,采用香农的离散信源信息熵算法:
其中,H(X)表示数据流特征信息X的离散信源熵,P(xi)表示特征信息X取xi时,在该样本中出现在某取值区间内的概率,b为对数底数,m表示该样本中特征信息X的采样个数。
进一步的,步骤d中,机器学习模型采用支持向量机:
其中,f(t)∈{-1,+1},(.)′表示矩阵的转置,sign(ζ)表示数ζ的符号,t是所述数据特征向量中标准化后的元素,即测试样本,α是阿拉格朗日变量,xs(s=1,...,|S|)是支持向量,S表示训练样本数据集合,p代表多项式的次数,k是训练过程中得到的分类参数;
支持向量机中的核函数采用高斯核函数,对于两个样本数据点xi和观测数据点xj,其目标值为y,得到高斯核函数:
k(xi,xj)=e-y‖xi-xj‖2。
进一步的,步骤d中,所述评估指标包括:准确率,精准率,回召率和f1score。
进一步的,步骤d中,所述指定阈值设定为90%以上。
有益效果:
本发明通过将连续的流量数据分段,将海量数据划分成数量级更小的流量段,并通过统计计算提取新的特征向量使得最终被用于训练机器学习模型的数据量被进一步缩小,进而能够很快地进行分类训练和检测。同时,将检测具体的恶意流量转化为检测包含恶意流量的流量段,极大地简化了数据的处理和减小了误报率。
附图说明
图1是本发明方法的总体流程图;
图2是数据流持续时间概率分布图示例。
具体实施方式:
下面结合附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明基于熵和支持向量机的高级持续性威胁的检测方法。在收集整理流量包数据之后,通过数据统计,计算局域网内流量信息的熵值进而提取新的特征向量,再使用支持向量机训练建立机器学习模型,最终达到检测高级持续性威胁的目的。具体实施步骤如下,且具体流程见附图1。
步骤S1:从中心交换机采集流量数据,提取关键的流量信息,对二进制的数据流进行还原,以PCAP(Process Characterization Analysis Package,过程特性分析软件包)文件的形式将TCP包,UDP包进行保存。其中流量信息包括但不限于数据包的源、目的地址,源、目的端口,字节数,时间戳。采集的未处理的原始流量分组数据如表1所示,
表1 原始流量分组数据
步骤S2:通过使用网络封包分析工具Wireshark,对流量数据包进行整理。先使用过滤器去掉长度为0和重发包,具体的过滤条件为“!tcp.analysis.retransmission andtcp.len>0”。得到预处理后的数据后,使用命令行工具tshark根据数据包的序号和时间戳重新排序,组成数据流,并导出保存成txt文件。如表2所示为导出的数据示例,
表2 导出的数据示例
Address:port A | Address:port B | Packets | Bytes | Duration |
172.18.125.127:50504 | 42.202.151.230:80 | 14989 | 11543526 | 28.7467 |
172.18.19.8:7037 | 58.221.74.144:80 | 14821 | 16151885 | 21.8665 |
172.26.28.188:26528 | 182.247.250.19:80 | 12694 | 9610185 | 20.8633 |
172.21.61.237:57685 | 172.106.33.219:10019 | 6030 | 4645450 | 23.8794 |
步骤S3:设定一个时间段t,把t时间段内的一段数据流作为一个样本,如此把现在有的流量数据分为n段,便得到n个样本。如附图2所示,为其中一个样本中持续时间的概率分布图。横轴为数据流持续时间,纵轴为数据流的持续时间落在某个时间段内的概率。然后通过香农信息熵公式
其中,H(X)表示数据流特征信息X的离散信源熵,P(xi)表示特征信息X取xi时,在该样本中出现在某取值区间内的概率,b为对数底数,通常取b=2,m表示该样本中特征信息X的采样个数,计算出每个样本的熵值,作为一条记录保存。需要计算的特征包括样本的字节数,数据包数和持续时间的熵值,进而这三个特征的熵值成为输入学习器的特征向量。表3为其中4个样本最终经计算得出的各个特征的熵值和用于分类的标识。
表3 各个特征的熵值和用于分类的标识
Ep_Packets | Ep_Bytes | Ep_Duration | flag |
1.62997396765 | 1.13345078829 | 7.70188552486 | 0 |
1.57602566801 | 1.26045873852 | 7.59871075104 | 0 |
1.14233680811 | 0.910838676236 | 4.64659436002 | 1 |
1.13322375711 | 0.859611891072 | 1.74121380584 | 1 |
步骤S4:以步骤S3中的结果作为输入,采用支持向量机作为学习器进行机器学习训练,建立分类模型,其中,支持向量机中的核函数采用高斯核函数。对学习器不断进行迭代训练,直至各项指标超过90%,这些指标包括:准确率,精准率,回召率和f1score。其中支持向量机:
准确率(Accuracy):
精准率(Precision):
召回率(Recall):
f1 score:
其中,TP,TN,FP,FN分别是真正例,真反例,假正例,假反例的个数。准确率能够评估预测的结果中正确的比例,精准率能够评估预测的结果中正例的比例,召回率能够评估真是情况中的正例被查出来的比例。f1分数是精准率和召回率的综合,f1越高说明模型越稳健。
步骤S5:完成模型训练后便可对后续进行相同处理的流量数据进行判断。
以上,通过示例说明了本发明的实施方式,但本发明的范围不限定于上述示例,在权利要求所记载的范围内,可根据目的进行变更、变形。
Claims (8)
1.一种基于熵和支持向量机的高级持续性威胁的检测方法,其特征在于,包括如下步骤:
a)在局域网中心交换机上记录流量数据,采集流量信息,流量信息包括但不限于数据包的源、目的地址,源、目的端口,字节数,时间戳;
b)将采集保存的数据通过网络封包分析还原成数据流,保存数据流的若干个特征信息;
c)设定一个时间段t,将步骤b)所得数据划分成n个时间间隔为t的样本,分别计算各个样本的若干个特征信息的熵值形成新的数据特征向量;
d)以步骤c)中所得数据特征向量作为输入,通过机器学习来训练建立能够识别带有异常流量的模型,直至训练模型的评估指标达到指定阈值;
e)使用步骤d)所得模型对任意一段时间间隔t内的流量进行分类,从而判断这段流量中是否存在异常的数据流。
2.根据权利要求1所述的一种基于熵和支持向量机的高级持续性威胁的检测方法,其特征在于,步骤b中,所述特征信息包括传输字节数,传输数据包个数和数据流的持续时间。
3.根据权利要求1所述的一种基于熵和支持向量机的高级持续性威胁的检测方法,其特征在于,步骤b中,所述采集保存的数据包括正常流量数据样本和异常流量数据样本,其中正常流量数据样本来自于步骤a中收集的流量数据,异常流量数据样本来自公开的MilaParkour贡献的Contagio恶意软件数据库。
4.根据权利要求1所述的一种基于熵和支持向量机的高级持续性威胁的检测方法,其特征在于,步骤c中,所述时间段t在100Mbps的网络中取10秒,处理数据的设备配置为Intel4核2.5GHz CPU,8GB RAM和2.5TB硬盘。
5.根据权利要求1所述的一种基于熵和支持向量机的高级持续性威胁的检测方法,其特征在于,步骤c中,计算数据流特征信息的熵值形成新的特征向量时,采用香农的离散信源信息熵算法:
其中,H(X)表示数据流特征信息X的离散信源熵,P(xi)表示特征信息X取xi时,在该样本中出现在某取值区间内的概率,b为对数底数,m表示该样本中特征信息X的采样个数。
6.根据权利要求1所述的一种基于熵和支持向量机的高级持续性威胁的检测方法,其特征在于,步骤d中,机器学习模型采用支持向量机:
其中,f(t)∈{-1,+1},(.)′表示矩阵的转置,sign(ζ)表示数ζ的符号,t是所述数据特征向量中标准化后的元素,即测试样本,α是阿拉格朗日变量,xs(s=1,...,|S|)是支持向量,S表示训练样本数据集合,p代表多项式的次数,k是训练过程中得到的分类参数;
支持向量机中的核函数采用高斯核函数,对于两个样本数据点xi和观测数据点xj,其目标值为y,得到高斯核函数:
k(xi,xj)=e-y‖xi-xj‖2。
7.根据权利要求1所述的一种基于熵和支持向量机的高级持续性威胁的检测方法,其特征在于,步骤d中,所述评估指标包括:准确率,精准率,回召率和f1 score。
8.根据权利要求7所述的一种基于熵和支持向量机的高级持续性威胁的检测方法,其特征在于,步骤d中,所述指定阈值设定为90%以上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811200227.5A CN109450860A (zh) | 2018-10-16 | 2018-10-16 | 一种基于熵和支持向量机的高级持续性威胁的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811200227.5A CN109450860A (zh) | 2018-10-16 | 2018-10-16 | 一种基于熵和支持向量机的高级持续性威胁的检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109450860A true CN109450860A (zh) | 2019-03-08 |
Family
ID=65545105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811200227.5A Pending CN109450860A (zh) | 2018-10-16 | 2018-10-16 | 一种基于熵和支持向量机的高级持续性威胁的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109450860A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992969A (zh) * | 2019-03-25 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 一种恶意文件检测方法、装置及检测平台 |
CN111224946A (zh) * | 2019-11-26 | 2020-06-02 | 杭州安恒信息技术股份有限公司 | 一种基于监督式学习的tls加密恶意流量检测方法及装置 |
CN111404941A (zh) * | 2020-03-17 | 2020-07-10 | 广东九联科技股份有限公司 | 网络安全防护方法及网络安全防护装置 |
CN112055007A (zh) * | 2020-08-28 | 2020-12-08 | 东南大学 | 一种基于可编程节点的软硬件结合威胁态势感知方法 |
CN112968872A (zh) * | 2021-01-29 | 2021-06-15 | 成都信息工程大学 | 基于自然语言处理的恶意流量检测方法、***、终端 |
CN114090967A (zh) * | 2021-10-25 | 2022-02-25 | 广州大学 | 一种基于pso-msvm的apt组织追踪溯源方法及*** |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070150954A1 (en) * | 2005-12-27 | 2007-06-28 | Tae-Shik Shon | System and method for detecting network intrusion |
CN101610516A (zh) * | 2009-08-04 | 2009-12-23 | 华为技术有限公司 | 自组织网络中的入侵检测方法与设备 |
CN105930723A (zh) * | 2016-04-20 | 2016-09-07 | 福州大学 | 一种基于特征选择的入侵检测方法 |
CN107392015A (zh) * | 2017-07-06 | 2017-11-24 | 长沙学院 | 一种基于半监督学习的入侵检测方法 |
-
2018
- 2018-10-16 CN CN201811200227.5A patent/CN109450860A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070150954A1 (en) * | 2005-12-27 | 2007-06-28 | Tae-Shik Shon | System and method for detecting network intrusion |
CN101610516A (zh) * | 2009-08-04 | 2009-12-23 | 华为技术有限公司 | 自组织网络中的入侵检测方法与设备 |
CN105930723A (zh) * | 2016-04-20 | 2016-09-07 | 福州大学 | 一种基于特征选择的入侵检测方法 |
CN107392015A (zh) * | 2017-07-06 | 2017-11-24 | 长沙学院 | 一种基于半监督学习的入侵检测方法 |
Non-Patent Citations (2)
Title |
---|
康晓丽: ""基于信息熵与改进SVM的异常流量检测研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
朱文杰等: ""基于信息熵的SVM入侵检测技术"", 《计算机工程与科学》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992969A (zh) * | 2019-03-25 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 一种恶意文件检测方法、装置及检测平台 |
CN109992969B (zh) * | 2019-03-25 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 一种恶意文件检测方法、装置及检测平台 |
CN111224946A (zh) * | 2019-11-26 | 2020-06-02 | 杭州安恒信息技术股份有限公司 | 一种基于监督式学习的tls加密恶意流量检测方法及装置 |
CN111404941A (zh) * | 2020-03-17 | 2020-07-10 | 广东九联科技股份有限公司 | 网络安全防护方法及网络安全防护装置 |
CN112055007A (zh) * | 2020-08-28 | 2020-12-08 | 东南大学 | 一种基于可编程节点的软硬件结合威胁态势感知方法 |
CN112968872A (zh) * | 2021-01-29 | 2021-06-15 | 成都信息工程大学 | 基于自然语言处理的恶意流量检测方法、***、终端 |
CN114090967A (zh) * | 2021-10-25 | 2022-02-25 | 广州大学 | 一种基于pso-msvm的apt组织追踪溯源方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109450860A (zh) | 一种基于熵和支持向量机的高级持续性威胁的检测方法 | |
CN103581186B (zh) | 一种网络安全态势感知方法及*** | |
CN105897714A (zh) | 基于dns流量特征的僵尸网络检测方法 | |
CN105577679A (zh) | 一种基于特征选择与密度峰值聚类的异常流量检测方法 | |
CN109657470A (zh) | 恶意网页检测模型训练方法、恶意网页检测方法及*** | |
CN108629183A (zh) | 基于可信度概率区间的多模型恶意代码检测方法 | |
CN111523588B (zh) | 基于改进的lstm对apt攻击恶意软件流量进行分类的方法 | |
JP2008176753A (ja) | データ類似性検査方法及び装置 | |
CN106657160A (zh) | 面向大流量基于可信度的网络恶意行为检测方法 | |
CN109040113A (zh) | 基于多核学习的分布式拒绝服务攻击检测方法及装置 | |
Silveira et al. | Smart detection-IoT: A DDoS sensor system for Internet of Things | |
CN107368592A (zh) | 一种用于网络安全报告的文本特征模型建模方法及装置 | |
CN114581694A (zh) | 一种基于改进的支持向量机的网络安全态势评估方法 | |
Muhati et al. | Hidden-Markov-model-enabled prediction and visualization of cyber agility in IoT era | |
CN109450876A (zh) | 一种基于多维度状态转移矩阵特征的DDos识别方法和*** | |
Zulhilmi et al. | A comparison of three machine learning algorithms in the classification of network intrusion | |
CN110472410B (zh) | 识别数据的方法、设备和数据处理方法 | |
CN107832611B (zh) | 一种动静态特征结合的僵尸程序检测与分类方法 | |
CN110351303A (zh) | 一种DDoS特征提取方法及装置 | |
CN112291506B (zh) | 一种视频会议场景下流数据安全漏洞溯源方法及*** | |
CN112953948A (zh) | 一种实时网络横向蠕虫攻击流量检测方法及装置 | |
CN111224919B (zh) | 一种ddos识别方法、装置、电子设备及介质 | |
CN108768774A (zh) | 一种定量化的网络安全评估方法及评估*** | |
CN111447169A (zh) | 一种在网关上的实时恶意网页识别方法及*** | |
CN110197066B (zh) | 一种云计算环境下的虚拟机监控方法及监控*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190308 |