CN113872962B - 一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法 - Google Patents
一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法 Download PDFInfo
- Publication number
- CN113872962B CN113872962B CN202111124600.5A CN202111124600A CN113872962B CN 113872962 B CN113872962 B CN 113872962B CN 202111124600 A CN202111124600 A CN 202111124600A CN 113872962 B CN113872962 B CN 113872962B
- Authority
- CN
- China
- Prior art keywords
- data
- port
- scan
- flow
- scanning
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 48
- 238000005070 sampling Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000012549 training Methods 0.000 claims abstract description 27
- 238000010801 machine learning Methods 0.000 claims abstract description 13
- 238000013145 classification model Methods 0.000 claims abstract description 9
- 238000012360 testing method Methods 0.000 claims description 24
- 238000000605 extraction Methods 0.000 claims description 16
- 239000006185 dispersion Substances 0.000 claims description 12
- 239000013598 vector Substances 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 5
- 238000002372 labelling Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000009897 systematic effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 4
- 238000012544 monitoring process Methods 0.000 abstract 1
- 238000003066 decision tree Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/1425—Traffic logging, e.g. anomaly detection
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法,该方法首先对公开数据集进行系统抽样,然后利用一个包含4个计数器和2个哈希表的sketch结构提取流量特征。首先采用K‑means算法对流量特征进行聚类,然后基于规则对已知扫描流所在簇中的流量进行验证和标注,进而构建具有完整标签的训练集。最后,利用有监督机器学习算法训练用于端口扫描检测的分类模型。该分类模型在抽样数据采集情景下检测出高速网络中TCP和UDP的慢速端口扫描活动,对于持续时间超过50天的慢速扫描攻击,该方法仍然有效。本发明使用有限的内存实现对海量高速流量中端口扫描事件的检测,被网络管理者用于高速网络中的安全事件监测。
Description
技术领域
本发明涉及一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法,属于网络安全技术领域。
背景技术
端口扫描是指攻击者向目标主机发送一组探测消息并等待回复,通过观察收到的响应获取目标主机的端口状态,进而了解其提供的网络服务类型。尽管端口扫描攻击不会直接对受害者造成实质性的伤害,但它们会暴露目标主机可以被攻击的入口点。因此,端口扫描检测对于防止攻击者对网络系统造成进一步破坏具有至关重要的意义。
然而,一些恶意的攻击者为了避免被发现,会执行慢速端口扫描。在慢速扫描攻击中,扫描探测包之间的时间间隔较长(10秒以上),其表现出的流量特征不够明显,并且与大量正常流量交错,所以很难被现有的入侵检测系统发现。可见,检测慢速端口扫描是一项重要且具有挑战性的任务。
目前,研究者们已经提出了一系列检测端口扫描的方法,其中基于阈值和基于机器学习的方法被广泛应用。但是这些方法仍存在一些问题,效果并不是很理想。
(1)基于阈值的端口扫描检测方法
基于阈值的方法通过判断某段时间内每个源IP地址请求的端口数量是否超过预先设定的阈值来确定端口扫描攻击是否发生,然而,此类方法的准确性受时间窗口大小的影响很大。由于慢速端口扫描通常具有持续时间长、探测包之间时间间隔大的特点,因此,这类方法在检测慢速端口扫描时准确率非常低。
(2)基于机器学习的端口扫描检测方法
基于机器学习的检测方法通过训练分类模型实现对未知流量的检测,该类方法需要预先对全部或者部分特征数据进行人工标记,然而,面对具有海量流量数据的高速网络,人工标记需要耗费十分昂贵的代价。这种对标签数据的强依赖性导致现有的基于机器学习的端口扫描检测方法不能应用于高速网络环境。
发明内容
为解决上述问题,本发明公开了一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法,该方法首先对公开数据集进行系统抽样,然后利用一个包含4个计数器和2个哈希表的sketch结构提取流量特征。鉴于公开数据集缺乏完整标签,为了建立训练集,首先采用K-means算法对流量特征进行聚类,然后基于规则对已知扫描流所在簇中的流量进行验证和标注,进而构建具有完整标签的训练集。最后,利用有监督机器学习算法训练用于端口扫描检测的分类模型。该分类模型可以在抽样数据采集情景下检测出高速网络中TCP和UDP的慢速端口扫描活动,并且对于持续时间超过50天的慢速扫描攻击,该方法仍然有效。
为了实现本发明的目的,本方案具体技术步骤如下:
步骤(1)获取一段在主干网节点持续采集一段时间的高速网络流量数据,其中含有部分端口扫描流量;
步骤(2)设置抽样比为1/μ,对获取的公开数据集进行系统抽样;
步骤(3)使用扫描检测sketch对抽样后的TCP和UDP流量进行特征提取;
步骤(4)采用K-means算法对流量特征进行聚类,并基于规则对已知扫描流所在簇中的流量进行验证并标注,进而得到具有完整标签的训练集;
步骤(5)使用有监督机器学习算法对步骤(4)得到的训练集进行模型训练,得到分类模型;
步骤(6)使用另外两段公开数据集数据作为测试集,分别对模型检测快速端口扫描和慢速端口扫描的性能进行测试。
进一步的,所述步骤(1)中,获取公开数据集流量的方法如下:
(1.1)访问公开数据集官网,获取在主干网节点上持续采集一段时间的高速网络流量;
(1.2)公开数据集官方文档中仅提供了部分端口扫描流量的信息,因此步骤(4)中采用聚类算法找出公开数据集中所有的端口扫描流量并标注,以将其作为用于模型训练的数据。
进一步的,所述步骤(2)中,系统抽样具体过程如下:设置抽样比为1/μ,数据包按照时间顺序排列,随机选取一个起点抽取数据包,后续每隔μ个包抽取一个数据包,得到抽样后的流量。
进一步的,所述步骤(3)中,所使用的扫描检测sketch详细信息以及提取特征的具体步骤如下:
(3.1)基于TCP扫描的特点,所选择的TCP流量特征为:IP地址发送和接收的数据包数目之比、IP地址发送和接收的带有SYN标志的数据包数目之比、TCP数据包的目的IP分散度以及TCP数据包的目的端口分散度。基于UDP扫描的特点,所选择的UDP流量特征为:IP地址发送和接收的数据包数目之比、UDP数据包的目的IP分散度以及UDP数据包的目的端口分散度。表1总结了所选取的流量特征及其含义。
表1流量特征及含义
(3.2)根据所选择的特征,设计了扫描检测sketch用于特征提取,扫描检测sketch是在Count-Min sketch的基础上改进而来的,它由d行w列的二维数组桶组成,每个桶包含4个计数器和2个哈希表,用于存储一个数据包的多个特征,其中哈希表实际上是一个16位的比特数组,比特值是0或1,初始值全为0,扫描检测sketch支持两种基本操作:更新操作和提取操作,其中更新操作包括两个子操作,即更新计数器操作和更新哈希表操作。更新计数器操作即将被映射的桶中的计数器执行加1操作,更新哈希表操作的具体步骤如下:将当前数据包的端口号或目的IP地址提取出来作为key,再将key用哈希函数映射到相应的哈希表中,被映射到的比特位从原始的0置为1,如果被映射的比特已经被置为1,则保持不变。因此哈希表中1的分布情况体现了key的分散度;提取操作是指,当一个IP地址接收和发送的数据包数目总和达到阈值θ时,当前key所映射的d个桶中,计数器达到该阈值的桶中的所有值被提取出来作为一笔特征向量记录,并将该数据包所映射的所有桶中的值减去最小计数桶值。
(3.3)当一个数据包到达,它的(IP,协议)对会被提取出来作为key,提取的key被用作一个哈希函数的输入,每个数据包的(源IP,协议)和(目的IP,协议)会被分别提取出来映射一次,扫描检测sketch可以同时处理TCP和UDP数据包,尽管它们的源和目的地址可能都是相同的,但是协议上的差异会使它们被映射到sketch的不同桶中,因此极少发生冲突;
(3.4)哈希函数输出的128位值被划分成d个部分,每个部分代表sketch二维数组中每行的一个地址,该地址位置上的桶会更新相应的计数器和哈希表。当处理不同协议的数据包时,扫描检测sketch的桶会更新计数器和哈希表的不同组合,如表2所示,在处理TCP数据包时,sketch中的Ss,Ds,Sp,Dp,HDip,HDpt被更新。在处理UDP数据包时,sketch中的Sp,Dp,HDip,HDpt被更新;
(3.5)当一个数据包接收和发送的数据包总和达到阈值θ,执行提取操作,提取出的特征向量记录是机器学习模型训练的基础。
表2扫描检测sketch中桶的组成
进一步的,所述步骤(4)中,具体包含以下子步骤:
(4.1)对sketch提取后的特征向量进行聚类。在经sketch提取特征后,可以得到所有抽样后流量的特征向量记录,然而这些记录中只有一部分的端口扫描流量被标注,所以考虑使用K-means算法对特征向量记录进行聚类,由于K-means算法可以将具有相似特征的对象聚合到同一个簇中,因此,已知扫描流所在簇中的所有流量都可以被视为端口扫描流量。
(4.2)验证并标注聚类后的结果。鉴于聚类结果可能存在少量误差,为了使训练集的标签更准确,本方案根据3条规则对已知扫描流所在簇中的所有流量进行了验证,规则如下:i)如果一个IP地址产生至少20个流向不同IP同一个端口的流,并且每个流不超过10个分组,则该IP地址是水平扫描的扫描器;ii)如果一个IP地址产生向另一个IP的至少20个不同端口发送流,并且每个流不超过10个分组,则它是垂直扫描的扫描器;iii)如果一个IP地址同时执行了上述两种扫描,则它是混合扫描的扫描器。经验证后,可以对聚类结果进行标注,进而得到具有完整标签的训练集数据。
进一步的,所述步骤(5)中,使用的有监督机器学习算法为决策树算法,选择该算法一方面是因为决策树算法可以在短时间内对大型数据源进行可行有效的分类。另一方面是因为步骤(3)中所选特征具有数量少、区分性强的特点,使用决策树算法便可以达到较好的分类效果。
进一步的,所述步骤(6)中,具体包含以下子步骤:
(6.1)获取另外两段公开数据集踪迹作为测试集,分别用来验证模型检测快速端口扫描和慢速端口扫描的性能;
(6.2)设置抽样比,对获取的数据进行系统抽样;
(6.3)使用扫描检测sketch对抽样后的流量进行特征提取;
(6.4)使用步骤(5)中训练的模型进行端口扫描检测,输出检测结果。
与现有技术相比,本发明的技术方案具有以下优点:
(1)本发明提出了一种用于扫描检测的sketch,该sketch中每个桶包含4个计数器和2个哈希表,其中哈希表用于记录目的IP和目的端口的分散度,在此基础上能区分出水平扫描、垂直扫描和混合扫描,具有较好的应用前景。
(2)本发明将抽样技术和sketch结合使用,减少了高速网络流量处理的资源消耗。经实验证明,当在抽样率设为1/32时,即使对于一个持续超过50天的慢速端口扫描攻击,本发明仅需16384MB的内存即可准确地检测出来,因此本发明具有较好的实用性。
(3)本发明结合无监督的K-means聚类算法实现了训练集的建立,这种方式大大减少了人工标注的代价,更具可行性。
附图说明
图1为本发明的的总体架构图;
图2为本发明设计的扫描检测sketch的结构图;
图3为执行更新哈希表操作的示意图;
图4为sketch冲突率随使用率变化的数据分析图。
具体实施方式
以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
具体实施例:本发明提供的一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法,其总体架构如图1所示,包括如下步骤:
步骤(1)获取一段在主干网节点持续采集一段时间的高速网络流量数据,其中含有部分端口扫描流量;
步骤(2)设置抽样比为1/μ,对获取的公开数据集进行系统抽样;
步骤(3)使用扫描检测sketch对抽样后的TCP和UDP流量进行特征提取;
步骤(4)采用K-means算法对流量特征进行聚类,并基于规则对已知扫描流所在簇中的流量进行验证并标注,进而得到具有完整标签的训练集;
步骤(5)使用有监督机器学习算法对步骤(4)得到的训练集进行模型训练,得到分类模型;
步骤(6)使用另外两段公开数据集数据作为测试集,分别对模型检测快速端口扫描和慢速端口扫描的性能进行测试。
本发明的一个实施例中,步骤(1)中,获取MAWI工作组于2021年4月10日收集的公开数据集,此公开数据集包含了在高速网络上持续收集900秒得到的70,856,552个数据包。尽管MAWI提供了异常流量的标签文档,但是调研结果显示,该文档并不完整,因此不能被当做基础事实。本实施例中仅将该文档当做参考,并通过聚类建立具有完整标签的基础事实。
本发明的一个实施例中,步骤(2)中,设置抽样比为1/32,对获取的公开数据集进行系统抽样。
本发明的一个实施例中,步骤(3)中,所使用的扫描检测sketch详细信息以及提取特征的具体步骤如下:
(3.1)基于TCP扫描的特点,所选择的TCP流量特征为:IP地址发送和接收的数据包数目之比、IP地址发送和接收的带有SYN标志的数据包数目之比、TCP数据包的目的IP分散度以及TCP数据包的目的端口分散度。基于UDP扫描的特点,所选择的UDP流量特征为:IP地址发送和接收的数据包数目之比、UDP数据包的目的IP分散度以及UDP数据包的目的端口分散度。表1总结了所选取的流量特征及其含义。
表1流量特征及含义
(3.2)根据所选择的特征,设计了扫描检测sketch用于特征提取,扫描检测sketch是在Count-Min sketch的基础上改进而来的,它由d行w列的二维数组桶组成,每个桶包含4个计数器和2个哈希表,用于存储一个数据包的多个特征,其中哈希表实际上是一个16位的比特数组,比特值是0或1,初始值全为0,扫描检测sketch支持两种基本操作:更新操作和提取操作,其中更新操作包括两个子操作,即更新计数器操作和更新哈希表操作。更新计数器操作即将被映射的桶中的计数器执行加1操作,更新哈希表操作的具体步骤如下:将当前数据包的端口号或目的IP地址提取出来作为key,再将key用哈希函数映射到相应的哈希表中,被映射到的比特位从原始的0置为1,如果被映射的比特已经被置为1,则保持不变。因此哈希表中1的分布情况体现了key的分散度;提取操作是指,当一个IP地址接收和发送的数据包数目总和达到阈值θ时,当前key所映射的d个桶中,计数器达到该阈值的桶中的所有值被提取出来作为一笔特征向量记录,并将该数据包所映射的所有桶中的值减去最小计数桶值。
(3.3)当一个数据包到达,它的(IP,协议)对会被提取出来作为key,提取的key被用作一个哈希函数的输入,每个数据包的(源IP,协议)和(目的IP,协议)会被分别提取出来映射一次,扫描检测sketch可以同时处理TCP和UDP数据包,尽管它们的源和目的地址可能都是相同的,但是协议上的差异会使它们被映射到sketch的不同桶中,因而极少发生冲突;
(3.4)哈希函数输出的128位值被划分成d个部分,每个部分代表sketch二维数组中每行的一个地址,该地址位置上的桶会更新相应的计数器和哈希表。当处理不同协议的数据包时,扫描检测sketch的桶会更新计数器和哈希表的不同组合,如表2所示,在处理TCP数据包时,sketch中的Ss,Ds,Sp,Dp,HDip,HDpt被更新。在处理UDP数据包时,sketch中的Sp,Dp,HDip,HDpt被更新;
(3.5)当一个数据包接收和发送的数据包总和达到阈值θ,执行提取操作,提取出的特征向量记录是机器学习模型训练的基础。
表2扫描检测sketch中桶的组成
本发明的一个实施例中,步骤(4)中,具体包括如下过程:
(1)使用K-means算法对抽样后流量特征进行聚类,聚类的最佳簇数可以使用常用的寻找最佳k值的方法得到;
(2)根据MAWI提供的异常流量文档定位已知的扫描流所在的簇;
(3)将扫描流所在簇中的所有流量提取出来,根据规则进行验证,剔除少数非扫描流,并对验证后的流量打上标签。
本发明的一个实施例中,阈值θ被设定为50,检测TCP扫描的部分训练集数据如表3所示,检测UDP扫描的部分训练集数据如表4所示。协议字段为6代表为TCP数据包的记录,协议字段为17代表为UDP数据包的记录。本方法可以具体区分水平扫描、垂直扫描、混合扫描,Label为1代表为水平扫描流量,Label为2代表为垂直扫描流量,Label为3代表为混合扫描流量,Label为0则表示为正常流量。
表3 TCP端口扫描流量分类部分训练集数据
表4 UDP端口扫描流量分类部分训练集数据
协议 | IP | Sp | Dp | HDip | HDpt | Label |
17 | 92.240.95.163 | 0 | 50 | 3 | 1 | 0 |
17 | 75.112.26.171 | 0 | 50 | 3 | 1 | 0 |
17 | 203.178.135.1 | 47 | 3 | 4 | 13 | 0 |
17 | 203.178.132.69 | 44 | 6 | 6 | 16 | 0 |
17 | 133.227.49.188 | 50 | 0 | 3 | 16 | 0 |
17 | 92.240.95.163 | 1 | 49 | 3 | 1 | 0 |
17 | 45.62.18.26 | 50 | 0 | 16 | 1 | 1 |
17 | 45.62.18.26 | 50 | 0 | 16 | 1 | 1 |
17 | 51.247.147.123 | 50 | 0 | 16 | 1 | 1 |
17 | 51.247.147.123 | 50 | 0 | 16 | 1 | 1 |
17 | 51.247.147.123 | 50 | 0 | 16 | 1 | 1 |
17 | 71.6.22.21 | 50 | 0 | 16 | 1 | 1 |
17 | 10.123.123.10 | 50 | 0 | 1 | 16 | 2 |
17 | 10.123.123.10 | 50 | 0 | 1 | 16 | 2 |
17 | 10.123.123.10 | 50 | 0 | 1 | 16 | 2 |
17 | 10.123.123.10 | 50 | 0 | 1 | 16 | 2 |
17 | 116.111.83.40 | 50 | 0 | 1 | 16 | 2 |
17 | 104.94.29.245 | 50 | 0 | 16 | 16 | 3 |
17 | 104.94.29.245 | 50 | 0 | 16 | 16 | 3 |
17 | 104.94.29.245 | 50 | 0 | 16 | 16 | 3 |
17 | 104.94.29.245 | 50 | 0 | 16 | 16 | 3 |
17 | 104.94.29.245 | 50 | 0 | 16 | 16 | 3 |
17 | 104.94.29.245 | 50 | 0 | 16 | 16 | 3 |
本发明的一个实施例中,步骤(5)中,根据步骤(4)构造好的训练集,使用决策树方法训练分类模型,用于检测端口扫描攻击;
本发明的一个实施例中,步骤(6)中,具体包括如下过程:
(1)获取另外两段MAWI公开数据集流量,设为数据A和数据B,其中数据A捕获于2020年6月10日,持续时间为900秒,数据B捕获于2019年4月9日,持续时间为24小时。本实施例中,使用Nmap产生不同速度的端口扫描流量,并将快扫描流量插入数据A中,将慢扫描流量插入到数据B中,改造后的两段数据被用作测试集,数据A用于测试模型检测快速端口扫描的性能,数据B用于测试模型检测慢速端口扫描的性能。
(2)设置抽样比,对获取的公开数据集进行系统抽样;
(3)使用扫描检测sketch对抽样后的流量进行特征提取;
(4)将提取的特征记录输入训练好的模型中进行检测,模型将输出流量的检测结果。
本发明的一个实施例中,通过实验分析扫描检测sketch可持续使用的时间,以证明本发明具有较强的实用性。考虑到所有基于sketch的方法都需要在sketch使用一段时间后清空sketch,否则就会导致频繁的哈希冲突,造成检测结果出现较大差错。因此,本实施例中分析了随着sketch使用率的增加,sketch中发生冲突的概率变化,结果如图4所示。可见当sketch使用率在1/10时,sketch的冲突率约为1/10000,这个冲突率是能被接受的。基于此,计算在抽样率为1/32时,本发明提出的扫描检测sketch可以持续使用多久才被清空一次,计算结果如表5所示。可见当抽样率为1/32时,仅需16384MB的内存大小,扫描检测sketch即可监测持续时间为56.98天的高速网络流量,具有较强的实用性。
表5 1/32抽样率下sketch可持续使用的时间
Sketch列数 | Sketch使用内存大小(MB) | 可持续使用时间(day) |
224 | 512 | 1.78 |
225 | 1024 | 3.56 |
227 | 4096 | 14.25 |
229 | 16384 | 56.98 |
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。
Claims (5)
1.一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法,其特征在于,该方法包括以下步骤:
步骤(1)获取一段在主干网节点持续采集一段时间的高速网络流量数据,其中含有部分端口扫描流量;
步骤(2)设置抽样比为1/μ,对获取的公开数据集进行系统抽样;
步骤(3)使用扫描检测sketch对抽样后的TCP和UDP流量进行特征提取;
步骤(4)采用K-means算法对流量特征进行聚类,并基于规则对已知扫描流所在簇中的流量进行验证并标注,进而得到具有完整标签的训练集;
步骤(5)使用有监督机器学习算法对步骤(4)得到的训练集进行模型训练,得到分类模型;
步骤(6)使用另外两段公开数据集数据作为测试集,分别对模型检测快速端口扫描和慢速端口扫描的性能进行测试;
所述步骤(3)中,所使用的扫描检测sketch详细信息以及提取特征的具体步骤如下:
(3.1)基于TCP端口扫描的特点,所选择的TCP流量特征为:IP地址发送和接收的数据包数目之比、IP地址发送和接收的带有SYN标志的数据包数目之比、TCP数据包的目的IP分散度以及TCP数据包的目的端口分散度;基于UDP端口扫描的特点,所选择的UDP流量特征为:IP地址发送和接收的数据包数目之比、UDP数据包的目的IP分散度以及UDP数据包的目的端口分散度;
(3.2)根据所选择的特征,设计了扫描检测sketch用于特征提取,扫描检测sketch是在Count-Min sketch的基础上改进而来的,它由d行w列的二维数组桶组成,每个桶包含4个计数器和2个哈希表,用于存储一个数据包的多个特征,其中哈希表实际上是一个16位的比特数组,比特值是0或1,初始值全为0,扫描检测sketch支持两种基本操作:更新操作和提取操作,其中更新操作包括两个子操作,即更新计数器操作和更新哈希表操作,更新计数器操作即将被映射的桶中的计数器执行加1操作,更新哈希表操作的具体步骤如下:将当前数据包的端口号或目的IP地址提取出来作为key,再将key用哈希函数映射到相应的哈希表中,被映射到的比特位从原始的0置为1,如果被映射的比特已经被置为1,则保持不变;因此哈希表中1的分布情况体现了key的分散度;提取操作是指,当一个IP地址接收和发送的数据包数目总和达到阈值θ时,当前key所映射的d个桶中,计数器达到该阈值的桶中的所有值被提取出来作为一笔特征向量记录,并将该数据包所映射的所有桶中的值减去最小计数桶值;
(3.3)当一个数据包到达,它的(IP,协议)对会被提取出来作为key,提取的key被用作一个哈希函数的输入,每个数据包的(源IP,协议)和(目的IP,协议)会被分别提取出来映射一次,扫描检测sketch同时处理TCP和UDP数据包;
(3.4)哈希函数输出的128位值被划分成d个部分,每个部分代表sketch二维数组中每行的一个地址,该地址位置上的桶会更新相应的计数器和哈希表;
(3.5)当一个IP接收和发送的数据包总和达到阈值θ,执行提取操作,提取出的特征向量记录是机器学习模型训练的基础。
2.根据权利要求1所述的一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法,其特征在于,所述步骤(1)中,获取公开数据集流量的方法如下:
(1.1)访问公开数据集官网,获取在主干网节点上持续采集一段时间的高速网络流量;
(1.2)公开数据集官方文档中仅提供了部分端口扫描流量的信息,步骤(4)中采用聚类算法找出公开数据集中所有的端口扫描流量并标注,以将其作为用于模型训练的数据。
3.根据权利要求1所述的一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法,其特征在于,所述步骤(2)中,系统抽样具体过程如下:设置抽样比为1/μ,随机选取一个起点抽取数据包,后续每隔μ个包抽取一个数据包,得到抽样后的流量。
4.根据权利要求1所述的一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法,其特征在于,所述步骤(4)中,具体包含以下子步骤:
(4.1)对sketch提取后的特征向量进行聚类,在经sketch提取特征后,得到所有抽样后流量的特征向量记录;
(4.2)验证并标注聚类后的结果。
5.根据权利要求1所述的一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法,其特征在于,所述步骤(6)中,具体包含以下子步骤:
(6.1)获取另外两段公开数据集踪迹作为测试集,分别用来验证模型检测快速端口扫描和慢速端口扫描的性能;
(6.2)设置抽样比,对获取的数据进行系统抽样;
(6.3)使用扫描检测sketch对抽样后的流量进行特征提取;
(6.4)使用步骤(5)中训练的模型进行端口扫描检测,输出检测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111124600.5A CN113872962B (zh) | 2021-09-24 | 2021-09-24 | 一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111124600.5A CN113872962B (zh) | 2021-09-24 | 2021-09-24 | 一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113872962A CN113872962A (zh) | 2021-12-31 |
CN113872962B true CN113872962B (zh) | 2024-02-06 |
Family
ID=78994046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111124600.5A Active CN113872962B (zh) | 2021-09-24 | 2021-09-24 | 一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113872962B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801475B (zh) * | 2023-02-14 | 2023-04-28 | 江西师范大学 | 一种基于双重扫描算法的ddos攻击检测方法及系统 |
CN116781431A (zh) * | 2023-08-24 | 2023-09-19 | 华南理工大学 | 一种基于流量特征的api接口异常行为监测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468632A (zh) * | 2014-12-31 | 2015-03-25 | 北京奇虎科技有限公司 | 防御漏洞攻击的方法、设备及系统 |
CN113114694A (zh) * | 2021-04-17 | 2021-07-13 | 东南大学 | 一种面向高速网络分组抽样数据采集场景的DDoS攻击检测方法 |
CN113242233A (zh) * | 2021-05-08 | 2021-08-10 | 北京交通大学 | 一种多分类的僵尸网络检测装置 |
-
2021
- 2021-09-24 CN CN202111124600.5A patent/CN113872962B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104468632A (zh) * | 2014-12-31 | 2015-03-25 | 北京奇虎科技有限公司 | 防御漏洞攻击的方法、设备及系统 |
CN113114694A (zh) * | 2021-04-17 | 2021-07-13 | 东南大学 | 一种面向高速网络分组抽样数据采集场景的DDoS攻击检测方法 |
CN113242233A (zh) * | 2021-05-08 | 2021-08-10 | 北京交通大学 | 一种多分类的僵尸网络检测装置 |
Non-Patent Citations (1)
Title |
---|
Slow port scanning detection;Hua Wu 等;《2011 7th International Conference on Information Assurance and Security (IAS)》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113872962A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112738015B (zh) | 一种基于可解释卷积神经网络cnn与图检测的多步攻击检测方法 | |
CN111371735B (zh) | 僵尸网络检测方法、系统及存储介质 | |
CN113114694B (zh) | 一种面向高速网络分组抽样数据采集场景的DDoS攻击检测方法 | |
CN113872962B (zh) | 一种面向高速网络抽样数据采集场景的慢速端口扫描检测方法 | |
CN110611640A (zh) | 一种基于随机森林的dns协议隐蔽通道检测方法 | |
US10440035B2 (en) | Identifying malicious communication channels in network traffic by generating data based on adaptive sampling | |
CN101635658B (zh) | 网络失窃密行为的异常检测方法及系统 | |
CN113904795B (zh) | 一种基于网络安全探针的流量快速精确检测方法 | |
CN111262849A (zh) | 一种基于流表信息的网络异常流量行为识别阻断的方法 | |
CN110071934B (zh) | 用于网络异常检测的局部敏感性计数摘要方法及系统 | |
Kong et al. | Identification of abnormal network traffic using support vector machine | |
CN114021135A (zh) | 一种基于R-SAX的LDoS攻击检测与防御方法 | |
CN113328985A (zh) | 一种被动物联网设备识别方法、系统、介质及设备 | |
Patcha et al. | Network anomaly detection with incomplete audit data | |
CN106878314A (zh) | 基于可信度的网络恶意行为检测方法 | |
CN113821793A (zh) | 一种基于图卷积神经网络的多阶段攻击场景构建方法及系统 | |
CN110493253B (zh) | 一种基于树莓派设计的家用路由器的僵尸网络分析方法 | |
CN109067778B (zh) | 一种基于蜜网数据的工控扫描器指纹识别方法 | |
CN111371727A (zh) | 一种针对ntp协议隐蔽通信的检测方法 | |
Berthier et al. | An evaluation of connection characteristics for separating network attacks | |
CN111274235B (zh) | 一种未知协议的数据清洗和协议字段特征提取方法 | |
CN106790245B (zh) | 一种基于云服务的实时僵尸网络检测方法 | |
Atmojo et al. | A New Approach for ARP Poisoning Attack Detection Based on Network Traffic Analysis | |
Lee et al. | Monsieur poirot: Detecting botnets using re-identification algorithm and nontrivial feature selection technique | |
CN114006725B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |