WO2024000903A1 - 一种流量检测方法、装置、设备及可读存储介质 - Google Patents
一种流量检测方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- WO2024000903A1 WO2024000903A1 PCT/CN2022/123294 CN2022123294W WO2024000903A1 WO 2024000903 A1 WO2024000903 A1 WO 2024000903A1 CN 2022123294 W CN2022123294 W CN 2022123294W WO 2024000903 A1 WO2024000903 A1 WO 2024000903A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- traffic
- sequence
- upstream
- uplink
- cycle
- Prior art date
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 108
- 230000005540 biological transmission Effects 0.000 claims abstract description 110
- 238000004891 communication Methods 0.000 claims abstract description 56
- 230000002159 abnormal effect Effects 0.000 claims abstract description 53
- 238000011144 upstream manufacturing Methods 0.000 claims description 175
- 239000006185 dispersion Substances 0.000 claims description 36
- 238000005096 rolling process Methods 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 14
- 238000000638 solvent extraction Methods 0.000 abstract 1
- 238000004422 calculation algorithm Methods 0.000 description 64
- 230000009466 transformation Effects 0.000 description 23
- 230000000737 periodic effect Effects 0.000 description 19
- 239000013598 vector Substances 0.000 description 13
- 230000006399 behavior Effects 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 238000013112 stability test Methods 0.000 description 4
- 230000003542 behavioural effect Effects 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 238000011895 specific detection Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Images
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Environmental & Geological Engineering (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种流量检测方法、装置、设备及可读存储介质。该方案针对目标主机与其他设备之间的通信流量,先按照预设时长划分通信流量中的同路径流量,得到不同传输时间段内的流量组,然后统计每个流量组中的流量传输特征集,最后基于相同流量传输特征集的统计结果判断同路径流量是否为异常流量。其中,以目标主机与其他设备之间的通信流量作为检测对象,提升了检测的全面性,还能够检测出通信流量的真实传输行为,因此可以降低误判率,提升了恶意流量的检测准确性。
Description
本申请要求于2022年06月30日提交至中国专利局、申请号为202210762423.1、发明名称为“一种流量检测方法、装置、设备及可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及计算机技术领域,特别涉及一种流量检测方法、装置、设备及可读存储介质。
通常情况下,恶意软件一般与C2(Command & Control Server,C&C)服务器采用心跳上线的方式通信,恶意软件会周期性地发送心跳报文给C2服务器,C2服务器也会按照相应周期转发恶意报文到被攻击主机,可见C2服务器访问被攻击主机的报文一般具有周期性特点。由此,可以检测访问被攻击主机的流量是否有周期性,来确定相应流量是否恶意。但当前使用的周期性检测算法无法同时适应较大周期和较小周期的计算。也即:当前的周期性检测算法所检测的周期不够准确。并且,如果仅因为流量具有周期性就判定流量恶意,难免会产生误判。也即:容易将有周期性的正常流量误判为恶意流量。
因此,如何提升恶意流量的检测准确性,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种流量检测方法、装置、设备及可读存储介质,以提升恶意流量的检测准确性。其具体方案如下:
第一方面,本申请提供了一种流量检测方法,包括:
获取目标主机与其他设备之间的通信流量;
按照预设时长划分所述通信流量中的同路径流量,得到不同传输时间段内的流量组;
统计每个流量组中的流量传输特征集;
基于相同流量传输特征集的统计结果判断所述同路径流量是否为异常流量。
可选地,任一流量组中的流量传输特征集包括以下任一项或组合:上下行数据包个数之和、上行数据包个数、下行数据包个数、上行数据包大小、下行数据包大小、上行数据包的传输间隔、下行数据包的传输间隔。
可选地,还包括:
获取所述同路径流量中的上行流量的证书信息;所述上行流量为:其他设备发往所述目标主机的流量;
若所述证书信息不符合预设安全条件,则执行所述按照预设时长划分所述通信流量中的同路径流量,得到不同传输时间段内的流量组;统计每个流量组中的流量传输特征集;基于相同流量传输特征集的统计结果判断所述同路径流量是否为异常流量的步骤。
可选地,所述证书信息不符合预设安全条件,包括:
所述证书信息中的证书为自签名、和/或所述证书信息中的证书采用免费方式加密和/或所述证书信息中的证书未通过所述目标主机的认证。
可选地,所述基于相同流量传输特征集的统计结果判断所述同路径流量是否为异常流量,包括:
将相同流量传输特征集的个数与流量传输特征集总个数的比值确定为所述统计结果;
若所述统计结果大于预设第一阈值,则确定所述同路径流量为异常流量;否则,确定所述同路径流量不是异常流量。
可选地,还包括:
针对所述同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;所述上行流量为:其他设备发往所述目标主机的流量;
基于所述次数序列确定所述上行流量是否具有上行周期;
在有所述上行周期的情况下,基于所述上行周期判断所述上行流量是否为异常流量。
可选地,还包括:
汇总所述同路径流量的判断结果和所述上行流量的判断结果,得到综合判断结果。
可选地,还包括:
针对所述同路径流量,通过滚动时间窗口统计相应时间窗口内每次通信的下行流量大小和/或上行流量大小,得到上行流量大小序列和/或下行流量大小序列;
若所述上行流量大小序列和/或所述下行流量大小序列中的元素离散程度不大于离散程度阈值,则执行所述针对所述同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;所述上行流量为:其他设备发往所述目标主机的流量;基于所述次数序列确定所述上行流量是否具有上行周期;在有所述上行周期的情况下,基于所述上行周期判断所述上行流量是否为异常流量的步骤。
可选地,还包括:
若所述上行流量中的各流量具有相似性,则执行所述针对所述同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;所述上行流量为:其他设备发往所述目标主机的流量;基于所述次数序列确定所述上行流量是否具有上行周期;在有所述上行周期的情况下,基于所述上行周期判断所述上行流量是否为异常流量的步骤。
可选地,所述上行流量中的各流量具有相似性,包括:
分别计算所述上行流量中每个流量的流量指纹;
对所述上行流量中各流量的流量指纹进行聚类,得到多个簇;
若任一簇中的流量占比大于预设比例阈值,则确定所述上行流量中的各流量具有相似性。
可选地,所述对所述上行流量中各流量的流量指纹进行聚类,包括:
将所述上行流量中每个流量的流量指纹分别作为变换对象,并执行下述步骤:计算当前变换对象中各组成部分对当前变换对象的重要程度值,将当前变换对象中的各组成部分变换为相应的重要程度值,以将当前变换对象变换为词向量;
对变换得到的所有词向量进行聚类。
可选地,所述基于所述次数序列确定所述上行流量是否具有上行周期, 包括:
将所述次数序列中的元素按照数值大小降序排列,得到降序序列;
在所述降序序列中选择预设位置的元素;
若所选元素不大于预设第二阈值,则确定与所述次数序列对应的周期检测算法为第一算法,并利用所述第一算法检测所述次数序列,以确定所述上行流量是否具有上行周期;否则,确定与所述次数序列对应的周期检测算法为第二算法,并利用所述第二算法检测所述次数序列,以确定所述上行流量是否具有上行周期;
其中,所述第一算法适用于计算的周期大于所述第二算法适用于计算的周期。
可选地,所述利用所述第一算法检测所述次数序列,包括:
调小所述次数序列中的极大值,并通过滑动平均滤波方式对调小后的次数序列进行平滑处理,得到目标序列;
基于所述目标序列中的各元素绘制波动曲线,并统计所述波动曲线中的峰值和低谷值,得到峰值序列和低谷值序列;
删除所述峰值序列中的首元素和尾元素,得到峰值新序列;
删除所述低谷值序列中的首元素和尾元素,得到低谷值新序列;
若所述峰值新序列和所述低谷值新序列中的元素个数相等,则使所述峰值新序列和所述低谷值新序列中的元素对位相减,得到对位元素差序列;使所述峰值新序列中相邻的后一位置元素减去前一位置元素,得到峰值差序列;使所述低谷值新序列中相邻的后一位置元素减去前一位置元素,得到低谷值差序列;若所述峰值新序列和所述低谷值新序列中的元素个数不相等,则确定所述上行流量不具有上行周期;
若所述对位元素差序列、所述峰值差序列和所述低谷值差序列中的元素离散程度均不大于离散程度阈值,则基于所述对位元素差序列中各元素的均值和所述目标序列中各元素的均值计算所述上行周期,并确定所述上行流量具有上行周期;若所述对位元素差序列、所述峰值差序列和所述低谷值差序列中任一个的元素离散程度大于离散程度阈值,则确定所述上行流量不具有上行周期。
可选地,所述调小所述次数序列中的极大值,包括:
确定所述降序序列中排列在第Q个位置的目标元素;Q为上九分位数所处位置;
将所述次数序列中大于所述目标元素的元素确定为所述极大值,并将所述极大值修改为所述目标元素。
可选地,所述利用所述第二算法检测所述次数序列,包括:
获取所述降序序列中排列在第E个位置的元素e以及排列在第F个位置的元素f;
删除所述次数序列中未落入区间[e,f]内的元素,并计算剩余元素的均值;
将所述时间窗口的时间长度与所述均值的比值确定为所述上行周期,并确定所述上行流量具有上行周期。
可选地,还包括:
记录所述异常流量中的上行流量的源IP、目的IP以及上行流量的上行周期,并为所述源IP和/或所述上行流量添加异常标识。
第二方面,本申请提供了一种流量检测装置,包括:
获取模块,用于获取目标主机与其他设备之间的通信流量;
划分模块,用于按照预设时长划分所述通信流量中的同路径流量,得到不同传输时间段内的流量组;
统计模块,用于统计每个流量组中的流量传输特征集;
检测模块,用于基于相同流量传输特征集的统计结果判断所述同路径流量是否为异常流量。
可选地,任一流量组中的流量传输特征集包括以下任一项或组合:上下行数据包个数之和、上行数据包个数、下行数据包个数、上行数据包大小、下行数据包大小、上行数据包的传输间隔、下行数据包的传输间隔。
可选地,还包括:
证书检测模块,用于获取同路径流量中的上行流量的证书信息;上行流量为:其他设备发往目标主机的流量;若证书信息不符合预设安全条件,则执行按照预设时长划分通信流量中的同路径流量,得到不同传输时间段内的流量组;统计每个流量组中的流量传输特征集;基于相同流量传输特征集的统计结果判断同路径流量是否为异常流量的步骤。
可选地,证书信息不符合预设安全条件,包括:
证书信息中的证书为自签名、和/或证书信息中的证书采用免费方式加密和/或证书信息中的证书未通过目标主机的认证。
可选地,检测模块具体用于:
若相同流量传输特征集的个数与流量传输特征集总个数的比值大于预设第一阈值,则确定同路径流量为异常流量;否则,确定同路径流量不是异常流量。
可选地,还包括:
周期检测模块,用于针对同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;上行流量为:其他设备发往目标主机的流量;基于次数序列确定上行流量是否具有上行周期;在有上行周期的情况下,基于上行周期判断上行流量是否为异常流量。
可选地,还包括:
汇总模块,用于汇总同路径流量的判断结果和上行流量的判断结果,得到综合判断结果。
可选地,还包括:
离散程度确定模块,用于针对同路径流量,通过滚动时间窗口统计相应时间窗口内每次通信的下行流量大小和/或上行流量大小,得到上行流量大小序列和/或下行流量大小序列;若上行流量大小序列和/或下行流量大小序列中的元素离散程度不大于离散程度阈值,则执行针对同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;基于次数序列确定上行流量是否具有上行周期;在有上行周期的情况下,基于上行周期判断上行流量是否为异常流量的步骤。
可选地,还包括:
相似性检测模块,用于若上行流量中的各流量具有相似性,则执行针对同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;基于次数序列确定上行流量是否具有上行周期;在有上行周期的情况下,基于上行周期判断上行流量是否为异常流量的步骤。
可选地,相似性检测模块具体用于:
分别计算上行流量中每个流量的流量指纹;
对上行流量中各流量的流量指纹进行聚类,得到多个簇;
若任一簇中的流量占比大于预设比例阈值,则确定上行流量中的各流量具有相似性。
可选地,相似性检测模块具体用于:
将上行流量中每个流量的流量指纹分别作为变换对象,并执行下述步骤:计算当前变换对象中各组成部分对当前变换对象的重要程度值,将当前变换对象中的各组成部分变换为相应的重要程度值,以将当前变换对象变换为词向量;对变换得到的所有词向量进行聚类。
可选地,周期检测模块具体用于:
将次数序列中的元素按照数值大小降序排列,得到降序序列;
在所述降序序列中选择预设位置的元素;若所选元素不大于预设第二阈值,则确定与次数序列对应的周期检测算法为第一算法,并利用第一算法检测次数序列,以确定上行流量是否具有上行周期;否则,确定与次数序列对应的周期检测算法为第二算法,并利用第二算法检测次数序列,以确定上行流量是否具有上行周期;其中,第一算法适用于计算的周期大于第二算法适用于计算的周期。
可选地,周期检测模块具体用于:
调小次数序列中的极大值,并通过滑动平均滤波方式对调小后的次数序列进行平滑处理,得到目标序列;
基于目标序列中的各元素绘制波动曲线,并统计波动曲线中的峰值和低谷值,得到峰值序列和低谷值序列;
删除峰值序列中的首元素和尾元素,得到峰值新序列;
删除低谷值序列中的首元素和尾元素,得到低谷值新序列;
若峰值新序列和低谷值新序列中的元素个数相等,则使峰值新序列和低谷值新序列中的元素对位相减,得到对位元素差序列;使峰值新序列中相邻的后一位置元素减去前一位置元素,得到峰值差序列;使低谷值新序列中相邻的后一位置元素减去前一位置元素,得到低谷值差序列;若峰值新序列和低谷值新序列中的元素个数不相等,则确定上行流量不具有上行周期;
若对位元素差序列、峰值差序列和低谷值差序列中的元素离散程度均不大于离散程度阈值,则基于对位元素差序列中各元素的均值和目标序列中各元素的均值计算上行周期,并确定上行流量具有上行周期;若对位元素差序列、峰值差序列和低谷值差序列中任一个的元素离散程度大于离散程度阈值,则确定上行流量不具有上行周期。
可选地,调小次数序列中的极大值,包括:
确定降序序列中排列在第Q个位置的目标元素;Q为上九分位数所处位置;
将次数序列中大于目标元素的元素确定为极大值,并将极大值修改为目标元素。
可选地,周期检测模块具体用于:
获取降序序列中排列在第E个位置的元素e以及排列在第F个位置的元素f;
删除次数序列中未落入区间[e,f]内的元素,并计算剩余元素的均值;
将时间窗口的时间长度与均值的比值确定为上行周期。
可选地,还包括:
记录模块,用于记录异常流量中的上行流量的源IP、目的IP以及上行流量的上行周期,并为源IP和/或上行流量添加异常标识。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的流量检测方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的流量检测方法。
第五方面,本申请提供了一种计算机程序,该计算机程序在计算机上运行时,使得计算机可以执行前述公开的流量检测方法。
通过以上方案可知,本申请提供了一种流量检测方法,包括:获取目标主机与其他设备之间的通信流量;按照预设时长划分所述通信流量中的同路径流量,得到不同传输时间段内的流量组;统计每个流量组中的流量传输特征集;基于相同流量传输特征集的统计结果判断所述同路径流量是否为异常流量。
可见,本申请针对目标主机与其他设备之间的通信流量,先按照预设时长划分通信流量中的同路径流量,得到不同传输时间段内的流量组,然后统计每个流量组中的流量传输特征集,最后基于相同流量传输特征集的统计结果判断同路径流量是否为异常流量。由于流量传输特征集是流量真实可信的通信行为,因此本申请基于目标主机与其他设备在不同时间段内的通信流量传输特征集判断异常流量,不仅同时以通信流量都作为检测对象,提升了检测的全面性,还能够检测出通信流量的真实传输行为,因此可以降低误判率,不容易将正常流量误判为恶意流量,提升了恶意流量的检测准确性。
相应地,本申请提供的一种流量检测装置、设备及可读存储介质,也同样具有上述技术效果。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种流量检测方法流程图;
图2为本申请公开的一种多个设备与目标主机的通信示意图;
图3为本申请公开的另一种流量检测方法流程图;
图4为本申请公开的又一种流量检测方法流程图;
图5为本申请公开的一种流量检测装置示意图;
图6为本申请公开的一种电子设备示意图;
图7为本申请公开的另一种电子设备示意图。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的 范围。
当前使用的周期性检测算法无法同时适应较大周期和较小周期的计算。也即:当前的周期性检测算法所检测的周期不够准确。并且,如果仅因为流量具有周期性就判定流量恶意,容易将有周期性的正常流量误判为恶意流量。为此,本申请提供了一种流量检测方案,能够检测出通信流量的真实传输行为,提升恶意流量的检测准确性。
参见图1所示,本申请实施例公开了一种流量检测方法,包括:
S101、获取目标主机与其他设备之间的通信流量。
S102、按照预设时长划分通信流量中的同路径流量,得到不同传输时间段内的流量组。
其中,S101获取的流量是:一段时间内的“多个设备发往目标主机以及目标主机发往多个设备”的流量,因此该流量中的同路径流量就是:某一个设备发往目标主机的流量以及该目标主机返回此设备的流量,故同路径流量包括:属于同一传输路径上的上行流量以及下行流量。具体的,目标主机与其他设备之间的通信示意图可以参照图2,图2中各条传输路径上的通信流量总和就是S101获取的流量。其中,该流量可以是HTTP报文、TLS(Transport Layer Security)流量等。TLS是一种安全传输层协议,用于保障数据传输的保密性和数据完整性。
S103、统计每个流量组中的流量传输特征集。
S104、基于相同流量传输特征集的统计结果判断同路径流量是否为异常流量。
针对图2中任一条传输路径上的通信流量,可以按照预设时长(如一个小时)划分该流量。例如:将早上8点至下午13点这一时间段在该条传输路径上传输的通信流量,按照每1个小时划分,可得到4个传输时间段,则有4个流量组。那么统计每个流量组中的流量传输特征集,可得到4个流量传输特征集。在一种实施方式中,任一流量组中的流量传输特征集包括以下任一项或组合:上下行数据包个数之和、上行数据包个数、下行数据包个数、上行数据包大小、下行数据包大小、上行数据包的传输间隔、下行数据包的传输间隔。因此一个流量传输特征集可以是一组数字。如果 这4组数字中,有2组相同,那么可基于“相同流量传输特征集的个数2”判断同路径流量是否为异常流量。
需要说明的是,如果多个流量组的流量传输特征集相同,说明同一传输路径上的通信流量在不同传输时间段内具有相同的传输特征,而C2恶意流量一般也具有明显的传输规律,因此可以基于相同流量传输特征集的个数确定同路径流量是否为C2异常流量。在一种实施方式中,基于相同流量传输特征集的统计结果判断同路径流量是否为异常流量,包括:若相同流量传输特征集的个数与流量传输特征集总个数的比值大于预设第一阈值,则确定同路径流量为异常流量;否则,确定同路径流量不是异常流量。
在确定同路径流量为异常流量之后,还包括:记录异常流量中的上行流量的源IP、目的IP以及上行流量的上行周期,并为源IP和/或上行流量添加异常标识,以便后续对有异常标识的流量进一步具体分析,如:判别其中的具体恶意行为是什么。
可见,本申请针对目标主机与其他设备之间的通信流量,先按照预设时长划分通信流量中的同路径流量,得到不同传输时间段内的流量组,然后统计每个流量组中的流量传输特征集,最后基于相同流量传输特征集的统计结果判断同路径流量是否为异常流量。由于流量传输特征集是流量真实可信的通信行为,因此本申请基于目标主机与其他设备在不同时间段内的通信流量传输特征集判断异常流量,不仅同时以通信流量都作为检测对象,提升了检测的全面性,还能够检测出通信流量的真实传输行为,因此可以降低误判率,不容易将正常流量误判为恶意流量,提升了恶意流量的检测准确性。
基于上述实施例,需要说明的是,在划分流量组之前,可以先对目标主机与其他设备之间的通信流量中属于同一传输路径的流量中的上行流量的证书信息进行检测,以确定其他设备的证书是否安全。因此在一种实施方式中,还包括:获取同路径流量中的上行流量的证书信息;上行流量为:其他设备发往目标主机的流量;若证书信息不符合预设安全条件,则执行按照预设时长划分通信流量中的同路径流量,得到不同传输时间段内的流量组;统计每个流量组中的流量传输特征集;基于相同流量传输特征集的 统计结果判断同路径流量是否为异常流量的步骤。在一种实施方式中,证书信息不符合预设安全条件,包括:证书信息中的证书为自签名、和/或证书信息中的证书采用免费方式加密和/或证书信息中的证书未通过目标主机的认证。其中,从上行流量中可以解析获得证书信息,如果证书发行方CN和主题CN相同,就是自签名证书。如果证书发行方的O是"Let's Encrypt",则证书采用的是免费加密方式。如果SNI(Server Name Indication)在SAN(多域名证书)中,则为通过目标主机浏览器认证的,否则不是。SNI是提交请求的时候从ClientHello获取的,SAN是从证书中解析获得的。
基于上述实施例,需要说明的是,由于C2服务器访问被攻击主机的报文一般具有周期性特点,因此还可以通过检测上行流量是否具有周期性来确定流量是否异常。因此在一种实施方式中,还包括:针对同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;上行流量为:其他设备发往目标主机的流量;基于次数序列确定上行流量是否具有上行周期;在有上行周期的情况下,基于上行周期判断上行流量是否为异常流量。
若基于相同流量传输特征集的统计结果得到同路径流量的判断结果,并且还基于上行周期得到上行流量的判断结果,那么可以汇总同路径流量的判断结果和上行流量的判断结果,得到综合判断结果,从而据此综合判断结果判别流量是否异常。
针对同路径流量中的上行流量,通过滚动时间窗口可以统计在每次时间窗口内的流量出现次数,从而可得到一个次数序列。例如:假设时间窗口为30秒,窗口每次滚动2秒,那么在第0秒至第29秒内,可以统计得到一个流量出现次数,在第2秒至第31秒内,又可以统计得到一个流量出现次数,其他以此类推。如此可获得一个次数序列{x
1,x
2,……,x
n},x
1即:第0秒至第29秒内统计得到的一个流量出现次数。其中,一个时间窗口内的流量出现次数即:该时间窗口内的通信次数,具体可以用上行数据的发送次数表示。
在一种实施方式中,还可以针对同路径流量中的通信流量进行上行流量大小和/或下行流量大小的记录,以确定上行流量大小和/或下行流量大小 的离散程度。当上行流量大小和/或下行流量大小的离散程度较大时,认为上行流量大小和/或下行流量大小具有周期性的概率较小,反之,认为上行流量大小和/或下行流量大小具有周期性的概率较大。具体的,针对同路径流量,通过滚动时间窗口统计相应时间窗口内每次通信的下行流量大小和/或上行流量大小,得到上行流量大小序列和/或下行流量大小序列;若上行流量大小序列和/或下行流量大小序列中的元素离散程度不大于离散程度阈值,则执行针对同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;基于次数序列确定上行流量是否具有上行周期;在有上行周期的情况下,基于上行周期判断上行流量是否为异常流量的步骤。
其中,离散程度阈值可以为序列中各元素的均值与预设比例r的乘积。序列中的元素离散程度可以用序列中各元素的标准差表示。
为了避免针对无周期特性的同路径流量进行周期检测,在统计次数序列之前,先判断上行流量中的各流量是否具有相似性。如果上行流量中的各流量具有相似性,那么这些流量具备周期性的概率较大;反之,这些流量具备周期性的概率较小。因此在一种实施方式中,若上行流量中的各流量具有相似性,则执行针对所述同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;基于次数序列确定上行流量是否具有上行周期;在有上行周期的情况下,基于上行周期判断上行流量是否为异常流量的步骤。
在一种实施方式中,上行流量中的各流量具有相似性,包括:分别计算上行流量中每个流量的流量指纹;对上行流量中各流量的流量指纹进行聚类,得到多个簇;若任一簇中的流量占比大于预设比例阈值,则确定上行流量中的各流量具有相似性。假设对S个流量指纹聚类获得3个簇:a、b、c,且a簇中包括A个流量指纹,b簇中包括B个流量指纹,c簇中包括C个流量指纹,那么a簇中的流量占比为:A/S,b簇中的流量占比为:B/S,c簇中的流量占比为:C/S,因此将A/S、B/S、C/S分别与预设比例阈值对比,在其中任一个比值大于预设比例阈值的情况下,说明上行流量中的大部分流量都具有相似性,因此可以认为上行流量中的各流量具有相似性。其中,可以采用DBSCAN等算法实现聚类。DBSCAN是一种基于 高密度连通区域的聚类算法,能够将足够高密度的区域划分为簇,并在噪声数据中找到任意形状的簇。
当流量为HTTP报文时,一个流量的流量指纹包括请求头指纹和请求体指纹;请求头指纹包括:指定域值的局部敏感哈希值。具体的,请求头指纹可以包括以下任一项或组合:请求参数总长度的对数、请求参数的数量、请求参数的平均长度的对数、uri的长度的对数、uri目录层级数、文件扩展名、请求方法类型、HTTP的版本、HTTP各个请求头头域域名的缩写、部分请求头头域域名缩写和部分请求头头域域值的局部敏感hash。计算局部敏感hash的部分请求头可以包括以下任一项或组合:Connection、Accept-Encoding、Content-Encoding、Cache-Control、Te、Accept-Charset、Content-Type、Accept、Accept-Language、User-Agent等。请求头指纹中的这些特征以空格为间隔进行记录。具体的,请求体指纹包括以下任一项或组合:请求体的熵、请求体的长度的对数等。请求体指纹中的这些特征以空格为间隔进行记录。
在一种实施方式中,对上行流量中各流量的流量指纹进行聚类,包括:将上行流量中每个流量的流量指纹分别作为变换对象,并执行下述步骤:计算当前变换对象中各组成部分对当前变换对象的重要程度值,将当前变换对象中的各组成部分变换为相应的重要程度值,以将当前变换对象变换为词向量;对变换得到的所有词向量进行聚类。
其中,可以采用TF-IDF算法将一个流量指纹变换为词向量。具体的,当流量为HTTP报文时,可以将流量指纹中的hash值按字符拆分,将流量指纹中的其他特征按照空格进行拆分,如此则可得到一个流量指纹的各组成部分,针对每个组成部分计算相应重要程度值,然后将每个组成部分映射为相应的重要程度值,那么映射得到的这一组数据即为一个流量指纹变换得到的词向量。TF-IDF是一种用于信息检索与文本挖掘的常用加权技术,能够评估一字词对于一个文件集或一个语料库中的一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
在TF-IDF中,文档频率(TF)指的是:某一个给定的词在该文件中 出现的频率,通过对词数的归一化,以防止它偏向长的文件。针对某一特定文档中的词语,TF计算公式为:
其中n
i,j是词语t
i在文件d
j中出现的词数,而分母则是在文件d
j中所有词语出现的次数之和。逆文档频率(IDF)是一个词语普遍重要性的度量。某一特定词语的IDF计算公式为:
其中,|D|是语料库中的文件总数,|{j:t
i∈d
j}|表示语料库中包含词语t
i的文件数目。TF-IDF
i,j=TF
i,j*IDF
i。基于TF和IDF可确定出一个给定的词对文件的重要程度。据此原理可以变换流量指纹为词向量。
基于上述实施例,需要说明的是,本实施例可以给某一次数序列选择出合适的周期检测算法,具体可以基于次数序列中的特定元素进行确定。因此在一种实施方式中,基于次数序列确定上行流量是否具有上行周期,包括:将次数序列中的元素按照数值大小降序排列,得到降序序列;在所述降序序列中选择预设位置的元素;若所选元素不大于预设第二阈值,则确定与次数序列对应的周期检测算法为第一算法,并利用第一算法检测次数序列,以确定上行流量是否具有上行周期;否则,确定与次数序列对应的周期检测算法为第二算法,并利用第二算法检测次数序列,以确定上行流量是否具有上行周期;其中,第一算法适用于计算的周期大于第二算法适用于计算的周期。其中,预设位置如上四分位数所在位置,那么可以在降序序列中选择上四分位数与预设第二阈值进行比较。
需要说明的是,周期小即通信频繁,周期大即通信不频繁。那么第一算法适用于检测通信不频繁的流量,而第二算法适用于检测通信频繁的流量。具体的,如果次数序列中的各个元素的数值均比较大,说明通信频繁,故选择适用于检测较小周期的第二算法;反之,如果次数序列中的各个元素的数值均比较小,说明通信不是很频繁,故选择适用于检测较大周期的 第一算法。因此第一算法也可称为慢周期检测算法,第二算法可称为快周期检测算法。
在一种实施方式中,利用第一算法计算上行周期,包括:调小次数序列中的极大值,并通过滑动平均滤波方式对调小后的次数序列进行平滑处理,得到目标序列;基于目标序列中的各元素绘制波动曲线,并统计波动曲线中的峰值和低谷值,得到峰值序列和低谷值序列;删除峰值序列中的首元素和尾元素,得到峰值新序列;删除低谷值序列中的首元素和尾元素,得到低谷值新序列;若峰值新序列和低谷值新序列中的元素个数相等,则使峰值新序列和低谷值新序列中的元素对位相减,得到对位元素差序列;使峰值新序列中相邻的后一位置元素减去前一位置元素,得到峰值差序列;使低谷值新序列中相邻的后一位置元素减去前一位置元素,得到低谷值差序列;若峰值新序列和低谷值新序列中的元素个数不相等,则确定上行流量不具有上行周期;若对位元素差序列、峰值差序列和低谷值差序列中的元素离散程度均不大于离散程度阈值,则基于对位元素差序列中各元素的均值和目标序列中各元素的均值计算上行周期,并确定上行流量具有上行周期;若对位元素差序列、峰值差序列和低谷值差序列中任一个的元素离散程度大于离散程度阈值,则确定上行流量不具有上行周期。在一种实施方式中,调小次数序列中的极大值,包括:确定降序序列中排列在第Q个位置的目标元素;Q为上九分位数所处位置;将次数序列中大于目标元素的元素确定为极大值,并将极大值修改为目标元素。
其中,基于对位元素差序列中各元素的均值和目标序列中各元素的均值计算上行周期,包括:计算对位元素差序列中各元素的均值除以目标序列中各元素的均值,得到上行周期。
在一种示例中,第一算法(慢周期检测算法)的具体检测过程包括:
(1)针对次数序列X={x
1,x
2,……,x
n},求上九分位点,将此上九分位点作为目标元素,然后将次数序列X中大于目标元素的元素调整为目标元素。
(2)针对调整后的X,通过滑动平均滤波方式进行平滑处理,由此可得到一个新序列,即:目标序列。通过此目标序列画出的波形图会更为平滑、规整。由于均值滤波会受个别差异很大的值的影响,无法剔除一些特 别大差异的异常值,所以添加了步骤(1)。
其中,滑动平均滤波可以把连续采样得到的序列变成一个新序列,具体过程是:设定一个大小为w的滑动窗口,将序列X中的元素依次逐个进入滑动窗口w,每次滑动窗口中新增一个元素且滑动窗口中的元素个数不超过w,那么计算滑动窗口中各元素的均值,并记录此均值。如果滑动窗口中新增了一个元素且滑动窗口中的元素个数为w+1,那么去掉滑动窗口中开头的一个元素,使滑动窗口中的元素个数为w,然后计算滑动窗口中各元素的均值并记录。
基于上述原理,针对次数序列X={x
1,x
2,……,x
n},各均值为:
但是,如此一来,均值的个数会大于n,为了与原始次数序列的长度保持一致,选择各均值中间的n个均值组成目标序列。例如:针对上述各均值,先去掉头部的一个均值,然后看均值个数是否为n,不是的话再去掉尾部的一个均值,然后看均值个数是否为n,如此重复,直至剩余n个均值。
(3)基于目标序列中的各元素绘制波动曲线,并统计得到峰值序列A和低谷值序列B。A={a
1,a
2,...,a
n-1,a
n},B={b
1,b
2,...,b
n-1,b
n},其中a
1,a
2,...,a
n-1,a
n按时间先后排列,b
1,b
2,...,b
n-1,b
n按时间先后排列。
(4)为了保证最后输出的周期的完整性,去掉峰值序列和低谷值序列中的首尾元素,得到峰值新序列A
s和低谷值新序列B
s。As={a
2,...,a
i,...,a
n-1},Bs={b
2,...,b
j,...,b
n-1}。
(5)判断A
s和B
s中的元素个数是否相等,相等则可以计算出周期,不相等则认为不能计算出周期,此时可以输出相应流量没有周期性的提示信息。可见,周期检测算法可以输出:是否有周期性这一判定结果以及在有周期性的情况下,输出周期。
(6)在可以计算周期时,将A
s和B
s对位相减,得到对位元素差序列C;将A
s中各元素逐位相减,得到峰值差序列E;将B
s中各元素逐位相减,得到低谷值差序列F。C={c
2,...,c
k,...,c
n-1},c
k=a
k-b
k,a
k∈As,b
k∈Bs。 E={a
3-a
2,...,a
i-a
i-1,...,a
n-a
n-1},F参照E即可获得。
(7)判断C、E、F的离散程度,如果C、E、F的离散程度均不大于离散程度阈值,则取C的均值除以滑动平均滤波后的X的均值,作为估测的周期。否则,认为流量没有周期性。
其中,离散程度阈值可以为C、E或F中各元素的均值与预设比例r的乘积。C、E、F的离散程度可以用标准差表示。也即:判断C的离散程度时,离散程度阈值取C中各元素的均值与预设比例r的乘积。判断E的离散程度时,离散程度阈值取E中各元素的均值与预设比例r的乘积。判断F的离散程度时,离散程度阈值取F中各元素的均值与预设比例r的乘积。
在一种实施方式中,利用第二算法计算上行周期,包括:获取降序序列中排列在第E个位置的元素e以及排列在第F个位置的元素f;删除次数序列中未落入区间[e,f]内的元素,并计算剩余元素的均值;将时间窗口的时间长度与均值的比值确定为上行周期。,并确定上行流量具有周期性。元素e为:上四分位数。元素f为:下四分位数。
在一种示例中,第二算法(快周期检测算法)的具体检测过程包括:
(1)针对次数序列X={x
1,x
2,……,x
n},求上四分位点p和下四分位点q。
(2)删除次数序列X中未落入区间[p,q](即区间[e,f])内的元素,并计算剩余元素的均值。
(3)用滚动时间窗口的时间长度T除以均值作为访问周期,并确定流量具有周期性。
请参见图3,下述实施例以HTTP流量为例介绍本申请。图3所示方案具体包括以下过程。
1、读取日志。
将访问目标主机的HTTP流量作为日志文件进行读取。
2、计算流量的指纹。
HTTP流量的指纹由请求头指纹和请求体指纹构成,指纹是由其中各个元素按照空格为分隔符组合的字符串。请求头指纹组成:请求参数总长 度的对数、请求参数的数量、请求参数的平均长度的对数、uri的长度的对数、uri目录层级数、文件扩展名、请求方法类型、HTTP的版本、HTTP各个请求头头域域名的缩写、部分请求头头域域名缩写和部分请求头头域域值的局部敏感hash。计算局部敏感hash的部分请求头可以包括以下任一项或组合:Connection、Accept-Encoding、Content-Encoding、Cache-Control、Te、Accept-Charset、Content-Type、Accept、Accept-Language、User-Agent。请求体指纹组成:请求体的熵、请求体的长度的对数。当然,请求头指纹和请求体指纹也可以包括其他信息。
3、进行滚动时间窗口的流量特征统计。
针对HTTP流量,以源IP、目的IP(目标主机的IP)、目的端口、host指定一条传输路径,对该传输路径上的流量进行滚动时间窗口,以统计每次时间窗口内流量出现的次数。
4、针对固定源IP、目的IP、目的端口、host下的流量的流量指纹,为了衡量其指纹间的相似性,将指纹构建成向量空间模型。具体可以使用TF-IDF算法来转换指纹。
5、对流量指纹的词向量使用DBSCAN进行聚类分析,判断指纹是否趋于一致(即具有相似度),如果趋于一致,则进行步骤6,否则直接结束。
6、针对趋于一致的同一传输路径上的流量所得的次数序列X,计算上四分位点,如果上四分位点大于某个阈值,则采用快周期检测算法进行检测;否则,采用慢周期检测算法检测检测。检测后,生成相应的报告。
可见,本实施例可有效识别HTTP信标行为,并通过快慢周期检测算法准确识别信标周期,周期检测的比较准确。
请参见图4,下述实施例以TLS流量为例介绍本申请。图4所示方案具体包括以下过程。
1、读取日志文件。
将目标主机与其他设备之间的TLS流量作为日志文件进行读取。
2、进行滚动时间窗口的流量特征统计。
针对TLS日志文件,以源IP、目的IP(目标主机的IP)、目的端口、host指定一条传输路径,对该传输路径上的上行流量进行滚动时间窗口, 以统计每次时间窗口内上行流量出现的次数,得到次数序列。同时,对该传输路径上的流量进行滚动时间窗口,以统计每次时间窗口内流量出现下行流量大小和上行流量大小。其中,由于上行流量大小和下行流量大小的数值总是在不停的变化,为了减少统计量,将上下行流量的大小进行分桶。
3、基于统计的下行流量大小和上行流量大小对上下行流量进行平稳性检验,如果通过平稳性检验,则进行步骤4,否则直接结束。其中,对上下行流量进行平稳性检验即:判断统计的下行流量大小和上行流量大小的离散程度,若上下行流量中任一方向的流量大小的离散程度较小,则认为通过平稳性检验;否则,认为不能通过平稳性检验。
4、通过平稳性检验后,使用不同的周期检测算法对次数序列进行周期检测。针对次数序列X,计算上四分位点,如果上四分位点大于某个阈值,则采用快周期检测算法进行检测;否则,采用慢周期检测算法检测。
5、对原始日志提取证书特征和行为特征;
证书特征主要包括:同一传输路径上的上行流量里的证书是否是自签名的,证书是否采用免费的加密方式,证书是否是通过浏览器认证的等。
行为特征主要包括:同一传输路径上的上下行流量在不同时间段的传输特征(即信标行为)。传输特征包括以下任一项或组合:上下行数据包个数之和、上行数据包个数、下行数据包个数、上行数据包大小、下行数据包大小、上行数据包的传输间隔、下行数据包的传输间隔。
6、对证书进行安全性检测,证书是自签名的,采用免费加密方式的,未通过浏览器认证的则比较可疑,否则是安全的。
7、对信标行为进行检测。如果同一传输路径上的上下行流量在不同时间段的传输特征波动比较小,则比较可疑,否则比较安全。
8、综合步骤6和步骤7的检测结果,发现疑似的信标流量数据,并与步骤4检测到的数据的周期结合,生成报告。
可见,本实施例可有效识别TLS信标行为,不仅利用周期检测信标,还利用证书特征和行为特征来丰富信标的检测流程,提高信标检出准确性。同时,快慢周期检测算法,识别出的周期准确度优于一般的周期性检测算法。
下面对本申请实施例提供的一种流量检测装置进行介绍,下文描述的一种流量检测装置与上文描述的一种流量检测方法可以相互参照。
参见图5所示,本申请实施例公开了一种流量检测装置,包括:
获取模块501,用于获取目标主机与其他设备之间的通信流量;
划分模块502,用于按照预设时长划分通信流量中的同路径流量,得到不同传输时间段内的流量组;
统计模块503,用于统计每个流量组中的流量传输特征集;
检测模块504,用于基于相同流量传输特征集的统计结果判断同路径流量是否为异常流量。
在一种实施方式中,任一流量组中的流量传输特征集包括以下任一项或组合:上下行数据包个数之和、上行数据包个数、下行数据包个数、上行数据包大小、下行数据包大小、上行数据包的传输间隔、下行数据包的传输间隔。
在一种实施方式中,还包括:
证书检测模块,用于获取同路径流量中的上行流量的证书信息;上行流量为:其他设备发往目标主机的流量;若证书信息不符合预设安全条件,则执行按照预设时长划分通信流量中的同路径流量,得到不同传输时间段内的流量组;统计每个流量组中的流量传输特征集;基于相同流量传输特征集的统计结果判断同路径流量是否为异常流量的步骤。
在一种实施方式中,证书信息不符合预设安全条件,包括:
证书信息中的证书为自签名、和/或证书信息中的证书采用免费方式加密和/或证书信息中的证书未通过目标主机的认证。
在一种实施方式中,检测模块具体用于:
若相同流量传输特征集的个数与流量传输特征集总个数的比值大于预设第一阈值,则确定同路径流量为异常流量;否则,确定同路径流量不是异常流量。
在一种实施方式中,还包括:
周期检测模块,用于针对同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;上行流量为:其他设备发往目标主机的流量;基于次数序列确定上行流量是否具有上行周 期;在有上行周期的情况下,基于上行周期判断上行流量是否为异常流量。
在一种实施方式中,还包括:
汇总模块,用于汇总同路径流量的判断结果和上行流量的判断结果,得到综合判断结果。
在一种实施方式中,还包括:
离散程度确定模块,用于针对同路径流量,通过滚动时间窗口统计相应时间窗口内每次通信的下行流量大小和/或上行流量大小,得到上行流量大小序列和/或下行流量大小序列;若上行流量大小序列和/或下行流量大小序列中的元素离散程度不大于离散程度阈值,则执行针对同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;基于次数序列确定上行流量是否具有上行周期;在有上行周期的情况下,基于上行周期判断上行流量是否为异常流量的步骤。
在一种实施方式中,还包括:
相似性检测模块,用于若上行流量中的各流量具有相似性,则执行针对同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;基于次数序列确定上行流量是否具有上行周期;在有上行周期的情况下,基于上行周期判断上行流量是否为异常流量的步骤。
在一种实施方式中,相似性检测模块具体用于:
分别计算上行流量中每个流量的流量指纹;
对上行流量中各流量的流量指纹进行聚类,得到多个簇;
若任一簇中的流量占比大于预设比例阈值,则确定上行流量中的各流量具有相似性。
在一种实施方式中,相似性检测模块具体用于:
将上行流量中每个流量的流量指纹分别作为变换对象,并执行下述步骤:计算当前变换对象中各组成部分对当前变换对象的重要程度值,将当前变换对象中的各组成部分变换为相应的重要程度值,以将当前变换对象变换为词向量;
对变换得到的所有词向量进行聚类。
在一种实施方式中,周期检测模块具体用于:
将次数序列中的元素按照数值大小降序排列,得到降序序列;
在所述降序序列中选择预设位置的元素;若所选元素不大于预设第二阈值,则确定与次数序列对应的周期检测算法为第一算法,并利用第一算法检测次数序列,以确定上行流量是否具有上行周期;否则,确定与次数序列对应的周期检测算法为第二算法,并利用第二算法检测次数序列,以确定上行流量是否具有上行周期;其中,第一算法适用于计算的周期大于第二算法适用于计算的周期。
在一种实施方式中,周期检测模块具体用于:
调小次数序列中的极大值,并通过滑动平均滤波方式对调小后的次数序列进行平滑处理,得到目标序列;
基于目标序列中的各元素绘制波动曲线,并统计波动曲线中的峰值和低谷值,得到峰值序列和低谷值序列;
删除峰值序列中的首元素和尾元素,得到峰值新序列;
删除低谷值序列中的首元素和尾元素,得到低谷值新序列;
若峰值新序列和低谷值新序列中的元素个数相等,则使峰值新序列和低谷值新序列中的元素对位相减,得到对位元素差序列;使峰值新序列中相邻的后一位置元素减去前一位置元素,得到峰值差序列;使低谷值新序列中相邻的后一位置元素减去前一位置元素,得到低谷值差序列;若峰值新序列和低谷值新序列中的元素个数不相等,则确定上行流量不具有上行周期;
若对位元素差序列、峰值差序列和低谷值差序列中的元素离散程度均不大于离散程度阈值,则基于对位元素差序列中各元素的均值和目标序列中各元素的均值计算上行周期,并确定上行流量具有上行周期;若对位元素差序列、峰值差序列和低谷值差序列中任一个的元素离散程度大于离散程度阈值,则确定上行流量不具有上行周期。
在一种实施方式中,调小次数序列中的极大值,包括:
确定降序序列中排列在第Q个位置的目标元素;Q为上九分位数所处位置;
将次数序列中大于目标元素的元素确定为极大值,并将极大值修改为目标元素。
在一种实施方式中,周期检测模块具体用于:
获取降序序列中排列在第E个位置的元素e以及排列在第F个位置的元素f;
删除次数序列中未落入区间[e,f]内的元素,并计算剩余元素的均值;
将时间窗口的时间长度与均值的比值确定为上行周期。
在一种实施方式中,还包括:
记录模块,用于记录异常流量中的上行流量的源IP、目的IP以及上行流量的上行周期,并为源IP和/或上行流量添加异常标识。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种流量检测装置,能够检测出通信流量的真实传输行为,提升恶意流量的检测准确性。
下面对本申请实施例提供的一种电子设备进行介绍,下文描述的一种电子设备与上文描述的一种流量检测方法及装置可以相互参照。
参见图6所示,本申请实施例公开了一种电子设备,包括:
存储器601,用于保存计算机程序;
处理器602,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
请参考图7,图7为本实施例提供的另一种电子设备示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在电子设备301上执行存储介质330中的一系列指令操作。
电子设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一 个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
在图7中,应用程序342可以是执行流量检测方法的程序,数据344可以是执行流量检测方法所需的或产生的数据。
上文所描述的流量检测方法中的步骤可以由电子设备的结构实现。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种流量检测方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的流量检测方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见 即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
- 一种流量检测方法,其特征在于,包括:获取目标主机与其他设备之间的通信流量;按照预设时长划分所述通信流量中的同路径流量,得到不同传输时间段内的流量组;统计每个流量组中的流量传输特征集;基于相同流量传输特征集的统计结果判断所述同路径流量是否为异常流量。
- 根据权利要求1所述的流量检测方法,其特征在于,任一流量组中的流量传输特征集包括以下任一项或组合:上下行数据包个数之和、上行数据包个数、下行数据包个数、上行数据包大小、下行数据包大小、上行数据包的传输间隔、下行数据包的传输间隔。
- 根据权利要求1所述的流量检测方法,其特征在于,所述基于相同流量传输特征集的统计结果判断所述同路径流量是否为异常流量,包括:将相同流量传输特征集的个数与流量传输特征集总个数的比值确定为所述统计结果;若所述统计结果大于预设第一阈值,则确定所述同路径流量为异常流量;否则,确定所述同路径流量不是异常流量。
- 根据权利要求1所述的流量检测方法,其特征在于,还包括:针对所述同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;所述上行流量为:其他设备发往所述目标主机的流量;基于所述次数序列确定所述上行流量是否具有上行周期;在有所述上行周期的情况下,基于所述上行周期判断所述上行流量是否为异常流量。
- 根据权利要求4所述的流量检测方法,其特征在于,还包括:汇总所述同路径流量的判断结果和所述上行流量的判断结果,得到综合判断结果。
- 根据权利要求4所述的流量检测方法,其特征在于,还包括:针对所述同路径流量,通过滚动时间窗口统计相应时间窗口内每次通 信的下行流量大小和/或上行流量大小,得到上行流量大小序列和/或下行流量大小序列;若所述上行流量大小序列和/或所述下行流量大小序列中的元素离散程度不大于离散程度阈值,则执行所述针对所述同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;所述上行流量为:其他设备发往所述目标主机的流量;基于所述次数序列确定所述上行流量是否具有上行周期;在有所述上行周期的情况下,基于所述上行周期判断所述上行流量是否为异常流量的步骤。
- 根据权利要求4所述的流量检测方法,其特征在于,还包括:若所述上行流量中的各流量具有相似性,则执行所述针对所述同路径流量中的上行流量,通过滚动时间窗口统计相应时间窗口内的流量出现次数,得到次数序列;所述上行流量为:其他设备发往所述目标主机的流量;基于所述次数序列确定所述上行流量是否具有上行周期;在有所述上行周期的情况下,基于所述上行周期判断所述上行流量是否为异常流量的步骤。
- 一种流量检测装置,其特征在于,包括:获取模块,用于获取目标主机与其他设备之间的通信流量;划分模块,用于按照预设时长划分所述通信流量中的同路径流量,得到不同传输时间段内的流量组;统计模块,用于统计每个流量组中的流量传输特征集;检测模块,用于基于相同流量传输特征集的统计结果判断所述同路径流量是否为异常流量。
- 一种电子设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的流量检测方法。
- 一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的流量检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP22932490.0A EP4351087A1 (en) | 2022-06-30 | 2022-09-30 | Traffic detection method and apparatus, and device and readable storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210762423.1A CN115086060B (zh) | 2022-06-30 | 2022-06-30 | 一种流量检测方法、装置、设备及可读存储介质 |
CN202210762423.1 | 2022-06-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024000903A1 true WO2024000903A1 (zh) | 2024-01-04 |
Family
ID=83257733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/123294 WO2024000903A1 (zh) | 2022-06-30 | 2022-09-30 | 一种流量检测方法、装置、设备及可读存储介质 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4351087A1 (zh) |
CN (1) | CN115086060B (zh) |
WO (1) | WO2024000903A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086060B (zh) * | 2022-06-30 | 2023-11-07 | 深信服科技股份有限公司 | 一种流量检测方法、装置、设备及可读存储介质 |
CN115314268B (zh) * | 2022-07-27 | 2023-12-12 | 天津市国瑞数码安全系统股份有限公司 | 基于流量指纹和行为的恶意加密流量检测方法和系统 |
CN116485819B (zh) * | 2023-06-21 | 2023-09-01 | 青岛大学附属医院 | 一种耳鼻喉检查图像分割方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160191560A1 (en) * | 2014-11-03 | 2016-06-30 | Vectra Networks, Inc. | System for implementing threat detection using daily network traffic community outliers |
CN109391599A (zh) * | 2017-08-10 | 2019-02-26 | 蓝盾信息安全技术股份有限公司 | 一种基于https流量特征分析的僵尸网络通讯信号的检测系统 |
CN113612657A (zh) * | 2021-07-31 | 2021-11-05 | 南京云利来软件科技有限公司 | 一种异常http连接的检测方法 |
CN115086060A (zh) * | 2022-06-30 | 2022-09-20 | 深信服科技股份有限公司 | 一种流量检测方法、装置、设备及可读存储介质 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101741862B (zh) * | 2010-01-22 | 2012-07-18 | 西安交通大学 | 基于数据包序列特征的irc僵尸网络检测系统和检测方法 |
KR101420301B1 (ko) * | 2012-09-05 | 2014-07-17 | 주식회사 시큐아이 | DDoS 공격 검출 방법 및 장치 |
US8973139B2 (en) * | 2012-11-29 | 2015-03-03 | At&T Intellectual Property I, L.P. | Detecting altered applications using network traffic data |
US10440035B2 (en) * | 2015-12-01 | 2019-10-08 | Cisco Technology, Inc. | Identifying malicious communication channels in network traffic by generating data based on adaptive sampling |
CN105847283A (zh) * | 2016-05-13 | 2016-08-10 | 深圳市傲天科技股份有限公司 | 一种基于信息熵方差分析的异常流量检测方法 |
CN111641585B (zh) * | 2016-12-29 | 2023-11-10 | 华为技术有限公司 | 一种DDoS攻击检测方法及设备 |
CN108234524B (zh) * | 2018-04-02 | 2020-08-21 | 广州广电研究院有限公司 | 网络数据异常检测的方法、装置、设备及存储介质 |
CN110798426A (zh) * | 2018-08-01 | 2020-02-14 | 深信服科技股份有限公司 | 一种洪水类DoS攻击行为的检测方法、系统及相关组件 |
CN110166418B (zh) * | 2019-03-04 | 2020-11-13 | 腾讯科技(深圳)有限公司 | 攻击检测方法、装置、计算机设备和存储介质 |
CN109921950B (zh) * | 2019-03-28 | 2021-08-06 | 北京奇艺世纪科技有限公司 | 一种网络带宽需求预测方法、装置及电子设备 |
CN110086811B (zh) * | 2019-04-29 | 2022-03-22 | 深信服科技股份有限公司 | 一种恶意脚本检测方法及相关装置 |
CN110225037B (zh) * | 2019-06-12 | 2021-11-30 | 广东工业大学 | 一种DDoS攻击检测方法和装置 |
CN110324260B (zh) * | 2019-06-21 | 2020-10-09 | 北京邮电大学 | 一种基于流量识别的网络功能虚拟化智能调度方法 |
CN112152962B (zh) * | 2019-06-26 | 2022-10-28 | 北京观成科技有限公司 | 一种威胁检测方法及系统 |
CN110650060A (zh) * | 2019-10-16 | 2020-01-03 | 中国联合网络通信集团有限公司 | 流量告警的处理方法、设备及存储介质 |
CN111092852B (zh) * | 2019-10-16 | 2023-04-07 | 平安科技(深圳)有限公司 | 基于大数据的网络安全监控方法、装置、设备及存储介质 |
CN111459778B (zh) * | 2020-03-12 | 2024-05-07 | 平安科技(深圳)有限公司 | 运维系统异常指标检测模型优化方法、装置及存储介质 |
CN111797394B (zh) * | 2020-06-24 | 2021-06-08 | 广州大学 | 基于stacking集成的APT组织识别方法、系统及存储介质 |
CN111885086B (zh) * | 2020-08-05 | 2022-10-21 | 杭州安恒信息技术股份有限公司 | 恶意软件心跳检测方法、装置、设备及可读存储介质 |
CN112218320A (zh) * | 2020-09-28 | 2021-01-12 | 贵州力创科技发展有限公司 | 一种移动通信数据流量异常监测系统及方法 |
CN112965791B (zh) * | 2021-03-29 | 2022-06-07 | 北京三快在线科技有限公司 | 定时任务检测方法、装置、设备及存储介质 |
CN113489744B (zh) * | 2021-07-27 | 2022-05-10 | 哈尔滨工业大学 | 一种基于霍克斯多元过程建模的物联网攻击模式识别方法 |
CN113726783B (zh) * | 2021-08-31 | 2023-03-24 | 北京知道创宇信息技术股份有限公司 | 异常ip地址识别方法、装置、电子设备及可读存储介质 |
CN113965390A (zh) * | 2021-10-26 | 2022-01-21 | 杭州安恒信息技术股份有限公司 | 一种恶意加密流量检测方法、系统及相关装置 |
-
2022
- 2022-06-30 CN CN202210762423.1A patent/CN115086060B/zh active Active
- 2022-09-30 WO PCT/CN2022/123294 patent/WO2024000903A1/zh unknown
- 2022-09-30 EP EP22932490.0A patent/EP4351087A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160191560A1 (en) * | 2014-11-03 | 2016-06-30 | Vectra Networks, Inc. | System for implementing threat detection using daily network traffic community outliers |
CN109391599A (zh) * | 2017-08-10 | 2019-02-26 | 蓝盾信息安全技术股份有限公司 | 一种基于https流量特征分析的僵尸网络通讯信号的检测系统 |
CN113612657A (zh) * | 2021-07-31 | 2021-11-05 | 南京云利来软件科技有限公司 | 一种异常http连接的检测方法 |
CN115086060A (zh) * | 2022-06-30 | 2022-09-20 | 深信服科技股份有限公司 | 一种流量检测方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP4351087A1 (en) | 2024-04-10 |
CN115086060B (zh) | 2023-11-07 |
CN115086060A (zh) | 2022-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2024000903A1 (zh) | 一种流量检测方法、装置、设备及可读存储介质 | |
CN107483488B (zh) | 一种恶意Http检测方法及系统 | |
CN107302547B (zh) | 一种web业务异常检测方法及装置 | |
CN111382430B (zh) | 用于对计算机系统的对象进行分类的系统和方法 | |
EP2725512B1 (en) | System and method for malware detection using multi-dimensional feature clustering | |
CN111382434B (zh) | 用于检测恶意文件的系统和方法 | |
Zhang et al. | Proword: An unsupervised approach to protocol feature word extraction | |
US11888874B2 (en) | Label guided unsupervised learning based network-level application signature generation | |
WO2018148591A1 (en) | System for describing and tracking the creation and evolution of digital files | |
CN113556343B (zh) | 基于浏览器指纹识别的DDoS攻击防御方法及设备 | |
Zhang et al. | Toward unsupervised protocol feature word extraction | |
Naik et al. | A ransomware detection method using fuzzy hashing for mitigating the risk of occlusion of information systems | |
CN112788007A (zh) | 基于卷积神经网络的DDoS攻击检测方法 | |
Pathak et al. | Study on decision tree and KNN algorithm for intrusion detection system | |
CN112839017A (zh) | 一种网络攻击检测方法及其装置、设备和存储介质 | |
WO2024000904A1 (zh) | 一种流量检测方法、装置、设备及可读存储介质 | |
Elekar | Combination of data mining techniques for intrusion detection system | |
Bista et al. | DDoS attack detection using heuristics clustering algorithm and naïve bayes classification | |
Haghighat et al. | Payload attribution via character dependent multi-bloom filters | |
KR102258965B1 (ko) | HTTP 프로토콜의 메쏘드 필드 정보와 content-type 필드 정보를 이용해 웹 공격 유형 범위를 분류하는 방법 및 장치 | |
CN114760083A (zh) | 一种攻击检测文件的发布方法、装置及存储介质 | |
Mahmood et al. | A scalable sampling scheme for clustering in network traffic analysis | |
Lee et al. | Malicious Traffic Compression and Classification Technique for Secure Internet of Things | |
Agarwal et al. | Identifying Anomalous HTTP Traffic with Association Rule Mining | |
CN111835696B (zh) | 一种检测异常请求个体的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ENP | Entry into the national phase |
Ref document number: 2022932490 Country of ref document: EP Effective date: 20231102 |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22932490 Country of ref document: EP Kind code of ref document: A1 |