[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN118972139A - 异常流量检测方法、装置、设备及存储介质 - Google Patents

异常流量检测方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN118972139A
CN118972139A CN202411155621.7A CN202411155621A CN118972139A CN 118972139 A CN118972139 A CN 118972139A CN 202411155621 A CN202411155621 A CN 202411155621A CN 118972139 A CN118972139 A CN 118972139A
Authority
CN
China
Prior art keywords
address
source
flow
detected
time window
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
Application number
CN202411155621.7A
Other languages
English (en)
Inventor
段赟
宋文宇
邓博仁
刘东鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Technology Innovation Center
China Telecom Corp Ltd
Original Assignee
China Telecom Technology Innovation Center
China Telecom Corp Ltd
Filing date
Publication date
Application filed by China Telecom Technology Innovation Center, China Telecom Corp Ltd filed Critical China Telecom Technology Innovation Center
Publication of CN118972139A publication Critical patent/CN118972139A/zh
Pending legal-status Critical Current

Links

Abstract

本申请涉及网络安全领域,提供了一种异常流量检测方法、装置、设备及存储介质。该方法利用CDN资源的缓存命中率曲线在域前置攻击场景中产生波动变化的特点,将一个源IP地址关联的待检测流量中影响缓存命中率的流量特征,与该源IP地址在各滑动时间窗口的缓存命中率相结合,基于一个源IP地址的连续多个特征序列在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系,预测该源IP地址在下一个滑动时间窗口内发起域前置攻击的概率,在兼顾低资源消耗与高精度检测的需求的前提下,短时间内对一批网络流量进行检测,实现对域前置攻击场景中异常IP地址的快速定位与精准打击。

Description

异常流量检测方法、装置、设备及存储介质
技术领域
本申请涉及网络安全领域,提供了一种异常流量检测、装置、设备及存储介质。
背景技术
随着信息和通讯技术的进步,随着互联网连接点的不断增加,网络安全威胁也在不断增加。域前置是一种利用超文本传输安全协议(Hyper Text Transfer Protocol overSecure Socket Layer,HTTPS)协议及内容分发网络(Content Delivery Network,CDN)服务特性,隐匿真实通信目标的网络审查规避技术。
其原理是在不同通信层使用不同的域名,攻击者在检测器可见的安全传输层协议(Transport Layer Security,TLS)的服务器名称指示(Server Name Indication,SNL)扩展字段中声明一个合法域名,以通过网络审查,而在检测器不可见的HTTPS请求头的Host字段中指定请求实际连接的非法域名,以躲避网络审查,连接到被屏蔽的非法站点。
目前,部署HTTPS流量解密设备采集各个服务器的服务器日志,一份服务器日志中记录了一段时间内各客户端与服务器进行数据交换时产生的多条网络流量;针对各网络流量,分别执行以下操作:HTTPS流量解密一条网络流量的HTTPS请求头,获得请求头中Host字段的值,当该流量的SNI扩展字段的值与Host字段的值不相等时,判定这条网络流量为发起域前置攻击的异常流量。
但采用上述方式检测网络环境中的海量网络流量时,会消耗大量的计算资源与带宽资源,上述方式不再适用于不断发展壮大的网络环境。
发明内容
本申请实施例提供了一种异常流量检测、装置、设备及存储介质,以解决检测海量流量时消耗计算资源与带宽资源的问题。
第一方面,本申请实施例提供了一种异常流量检测方法,包括:
采集包含多个待检测流量的内容分发日志,将关联同一源网际协议IP地址的待检测流量划分为一组,得到至少一个待检测流量组;
针对各待检测流量组,分别执行以下操作:基于设定的滑动时间窗口,将一个待检测流量组划分为连续多个流量序列;分别各流量序列进行特征提取与预处理,得到一个源IP地址在各滑动时间窗口的特征序列,一个特征序列包含所述一个源IP地址在一个滑动时间窗口内的多维流量特征与缓存命中率;基于所述一个源IP地址的连续多个特征序列在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系,预测所述一个源IP地址在下一个滑动时间窗口内发起域前置攻击的概率,并在预测概率值超过设定阈值时,将所述一个源IP地址关联的待检测流量作为异常流量。
可选的,所述分别各流量序列进行特征提取与预处理,得到一个源IP地址在各滑动时间窗口的特征序列,其中,针对一个流量序列执行以下操作:
对所述一个流量序列包含的多个待检测流量进行时间编码与请求编码,获得所述一个源IP地址在所述一个时间窗口内的多个时间特征与请求特征;
基于所述多个待检测流量的缓存命中状态与所述一个源IP地址发起的请求总数,获得所述一个源IP地址在所述一个滑动时间窗口内的缓存命中率;
对所述多个时间特征、所述请求特征与所述缓存命中率进行归一化处理,得到所述一个源IP地址在所述一个滑动时间窗口的特征序列。
可选的,所述对所述一个流量序列包含的多个待检测流量进行时间编码与请求编码,获得所述一个源IP地址在所述一个时间窗口内的多个时间特征与请求特征,包括:
分别对所述一个流量序列中多个待检测流量的请求时间戳进行时间编码,得到所述一个源IP地址在所述一个滑动时间窗口内的多个时间特征;
对所述多个待检测流量进行请求编码,得到所述一个源IP地址在一个滑动时间窗口内的请求特征。
可选的,所述分别对所述一个流量序列中多个待检测流量的请求时间戳进行时间编码,得到所述一个源IP地址在所述一个滑动时间窗口内的多个时间特征,包括:
按照时间编码规则,分别对所述一个流量序列中多个待检测流量的请求时间戳进行编码,得到各自的原始时间特征;
按照标记编码规则,分别对所述一个流量序列中多个待检测时间的请求时间戳进行编码,得到各自的附加时间特征。
可选的,所述对所述多个待检测流量进行请求编码,得到所述一个源IP地址在一个滑动时间窗口内的请求特征,包括:
基于所述一个源IP地址在所述一个滑动时间窗口内关联的待检测流量,统计所述一个源IP地址在所述一个滑动时间窗口内发起的请求总数;
基于各待检测流量的请求资源的资源类型,统计所述一个源IP地址在所述一个滑动时间窗口内请求的资源类型总数;
基于所述各待检测流量的响应状态码,统计所述一个源IP地址在所述一个滑动时间窗口内除表征请求成功处理以外的其他响应状态码的状态码占比;
将所述一个源IP地址在所述一个滑动时间窗口内的请求总数、请求的资源类型总数与状态码占比,作为所述一个源IP地址在所述一个滑动时间窗口内的请求特征。
第二方面,本申请实施例还提供了一种异常流量检测装置,包括:
流量采集单元,用于采集包含多个待检测流量的内容分发日志,将关联同一源网际协议IP地址的待检测流量划分为一组,得到至少一个待检测流量组;
流量分析单元,用于针对各待检测流量组,分别执行以下操作:基于设定的滑动时间窗口,将一个待检测流量组划分为连续多个流量序列;分别各流量序列进行特征提取与预处理,得到一个源IP地址在各滑动时间窗口的特征序列,一个特征序列包含所述一个源IP地址在一个滑动时间窗口内的多维流量特征与缓存命中率;基于所述一个源IP地址的连续多个特征序列在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系,预测所述一个源IP地址在下一个滑动时间窗口内发起域前置攻击的概率,并在预测概率值超过设定阈值时,将所述一个源IP地址关联的待检测流量作为异常流量。
可选的,所述流量分析单元针对一个流量序列执行以下操作:
对所述一个流量序列包含的多个待检测流量进行时间编码与请求编码,获得所述一个源IP地址在所述一个时间窗口内的多个时间特征与请求特征;
基于所述多个待检测流量的缓存命中状态与所述一个源IP地址发起的请求总数,获得所述一个源IP地址在所述一个滑动时间窗口内的缓存命中率;
对所述多个时间特征、所述请求特征与所述缓存命中率进行归一化处理,得到所述一个源IP地址在所述一个滑动时间窗口的特征序列。
可选的,所述流量分析单元用于:
分别对所述一个流量序列中多个待检测流量的请求时间戳进行时间编码,得到所述一个源IP地址在所述一个滑动时间窗口内的多个时间特征;
对所述多个待检测流量进行请求编码,得到所述一个源IP地址在一个滑动时间窗口内的请求特征。
可选的,所述流量分析单元用于:
按照时间编码规则,分别对所述一个流量序列中多个待检测流量的请求时间戳进行编码,得到各自的原始时间特征;
按照标记编码规则,分别对所述一个流量序列中多个待检测时间的请求时间戳进行编码,得到各自的附加时间特征。
可选的,所述流量分析单元用于:
基于所述一个源IP地址在所述一个滑动时间窗口内关联的待检测流量,统计所述一个源IP地址在所述一个滑动时间窗口内发起的请求总数;
基于各待检测流量的请求资源的资源类型,统计所述一个源IP地址在所述一个滑动时间窗口内请求的资源类型总数;
基于所述各待检测流量的响应状态码,统计所述一个源IP地址在所述一个滑动时间窗口内除表征请求成功处理以外的其他响应状态码的状态码占比;
将所述一个源IP地址在所述一个滑动时间窗口内的请求总数、请求的资源类型总数与状态码占比,作为所述一个源IP地址在所述一个滑动时间窗口内的请求特征。
第三方面,本申请实施例还提供了一种计算机设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述任意一种异常流量检测方法的步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,其包括程序代码,当程序产品在计算机设备上运行时,所述程序代码用于使所述计算机设备执行上述任意一种异常流量检测方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种异常流量检测方法、装置、设备及存储介质,该方法包括:采集包含多个待检测流量的内容分发日志,将关联同一源网际协议IP地址的待检测流量划分为一组,得到至少一个待检测流量组;针对各待检测流量组,分别执行以下操作:基于设定的滑动时间窗口,将一个待检测流量组划分为连续多个流量序列;分别各流量序列进行特征提取与预处理,得到一个源IP地址在各滑动时间窗口的特征序列,一个特征序列包含该源IP地址在一个滑动时间窗口内的多维流量特征与缓存命中率;再基于一个源IP地址的连续多个特征序列在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系,预测该源IP地址在下一个滑动时间窗口内发起域前置攻击的概率,并在预测概率值超过设定阈值时,将该源IP地址关联的待检测流量作为异常流量。
本申请利用CDN资源的缓存命中率曲线在域前置攻击场景中产生波动变化的特点,将一个源IP地址关联的待检测流量中影响缓存命中率的流量特征,与该源IP地址在各滑动时间窗口的缓存命中率相结合,基于一个源IP地址的连续多个特征序列在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系,预测该源IP地址在下一个滑动时间窗口内发起域前置攻击的概率。相较于相关技术下使用的比较网络流量中SNI扩展字段与Host字段的值是否相等的检测手段,本申请提供的检测方法在兼顾低资源消耗与高精度检测的需求的前提下,短时间内对一批网络流量进行检测,实现对域前置攻击场景中异常IP地址的快速定位与精准打击。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1A为本申请实施例提供的检测异常流量的流程示意图;
图1B为本申请实施例提供的客户端通过DNS与CDN访问服务器的逻辑示意图;
图1C为本申请实施例提供的DNS请求域名对应的IP地址的逻辑示意图;
图1D为本申请实施例提供的基于滑动时间窗口划分一个待检测流量组的逻辑示意图;
图1E为本申请实施例提供的获得一个源IP地址在一个滑动时间窗口的特征序列的流程示意图;
图1F为本申请实施例提供的不同场景下的缓存命中率曲线示意图;
图1G为本申请实施例提供的训练LSTM网络的逻辑示意图;
图1H为本申请实施例提供的LSTM的网络结构示意图;
图2A为本申请实施例提供的应用于实际场景中进行异常流量检测的简易流程示意图;
图2B为本申请实施例提供的应用于实际场景中进行异常流量检测的完整流程示意图;
图3为本申请实施例提供的一种异常流量检测装置的结构示意图;
图4为本申请实施例中提供的一种计算机设备的组成结构示意图;
图5为本申请实施例中的一个计算装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
以下对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
1、域前置(Domain Fronting):是一种利用HTTPS协议及CDN服务特性,隐匿真实通信目标的网络审查规避技术。其原理是在不同通信层使用不同的域名,攻击者在检测器可见的TLS的SNL扩展中声明一个合法域名,以通过网络审查,而在检测器不可见的HTTPS请求头的Host字段中指定实际请求连接的非法域名,以躲避网络审查,连接到被屏蔽的非法站点。
2、CDN:是一种分布式网络架构,通过将内容分发到部署于各地的服务器节点上,使用户能够更快地访问和获取所需的内容,以提高内容传输速度、降低网络延迟、减轻服务器负载、提高网站可靠性和抵御攻击的网络架构。
3、SNI:是TLS协议的扩展字段,用于在建立加密通信连接时,指示客户端要连接的服务器的域名。
4、Host字段:在HTTP协议中,客户端在发送HTTP请求时,会在请求头中包含一个Host字段,该字段用于指定请求要连接的服务器,Host字段的值通常是服务器的域名,如“Host:example.com”。
5、响应状态码:是HTTP响应的一部分,用于告知客户端关于其发出请求的处理结果。响应状态码由三位数字组成,分别为五个类别,每个类别代表了不同的响应类型。
其中,1xx表示接收的请求正在处理,2xx表示请求已成功被服务器接受、理解并处理,3xx表示客户端采取进一步的操作才能完成请求,4xx表示客户端的请求有误,服务器无法处理,5xx表示服务器正在处理请求的过程中发生了错误。
6、长短期记忆(Long Short-Term Memory,LSTM)网络:是一种时间递归神经网络,旨在解决长序列训练过程中的梯度消失和梯度爆炸问题,广泛应用于文本翻译、图像分析、文档摘要、语音识别、图像识别、合成音乐等领域中。
下面对本申请实施例的设计思想进行简要介绍:
随着信息和通讯技术的进步,随着互联网连接点的不断增加,网络安全威胁也在不断增加。域前置是一种利用HTTPS协议及CDN服务特性,隐匿真实通信目标的网络审查规避技术。
其原理是在不同通信层使用不同的域名,攻击者在检测器可见的TLS的SNL扩展字段中声明一个合法域名,以通过网络审查,而在检测器不可见的HTTPS请求头的Host字段中指定请求实际连接的非法域名,以躲避网络审查,连接到被屏蔽的非法站点。
目前,部署HTTPS流量解密设备采集各个服务器的服务器日志,一份服务器日志中记录了一段时间内各客户端与服务器进行数据交换时产生的多条网络流量;针对各网络流量,分别执行以下操作:HTTPS流量解密一条网络流量的HTTPS请求头,获得请求头中Host字段的值,当该流量的SNI扩展字段的值与Host字段的值不相等时,判定这条网络流量为发起域前置攻击的异常流量。
但采用上述方式检测网络环境中的海量网络流量时,会消耗大量的计算资源与带宽资源,上述方式不再适用于不断发展壮大的网络环境。
有鉴于此,本申请实施例提供了一种异常流量检测方法、装置、设备及存储介质。该方法具体包括:采集包含多个待检测流量的内容分发日志,将关联同一源网际协议IP地址的待检测流量划分为一组,得到至少一个待检测流量组;针对各待检测流量组,分别执行以下操作:基于设定的滑动时间窗口,将一个待检测流量组划分为连续多个流量序列;分别各流量序列进行特征提取与预处理,得到一个源IP地址在各滑动时间窗口的特征序列,一个特征序列包含该源IP地址在一个滑动时间窗口内的多维流量特征与缓存命中率;再基于一个源IP地址的连续多个特征序列在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系,预测该源IP地址在下一个滑动时间窗口内发起域前置攻击的概率,并在预测概率值超过设定阈值时,将该源IP地址关联的待检测流量作为异常流量。
本申请利用CDN资源的缓存命中率曲线在域前置攻击场景中产生波动变化的特点,将一个源IP地址关联的待检测流量中影响缓存命中率的流量特征,与该源IP地址在各滑动时间窗口的缓存命中率相结合,基于一个源IP地址的连续多个特征序列在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系,预测该源IP地址在下一个滑动时间窗口内发起域前置攻击的概率。相较于相关技术下使用的比较网络流量中SNI扩展字段与Host字段的值是否相等的检测手段,本申请提供的检测方法在兼顾低资源消耗与高精度检测的需求的前提下,短时间内对一批网络流量进行检测,实现对域前置攻击场景中异常IP地址的快速定位与精准打击。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
结合图1A示出的流程示意图,具体介绍如何采用本申请实施例提供的异常流量检测方法,检测网络环境中是否存在发起域前置攻击的异常流量。
S101:采集包含多个待检测流量的内容分发日志,将关联同一源网际协议IP地址的待检测流量划分为一组,得到至少一个待检测流量组。
结合图1B示出的逻辑示意图,先介绍下客户端通过域名系统(Domain NameSystem,DNS)与CDN访问服务器的过程。
(1)用户请求:由于计算机网络是基于IP地址进行数据传输,而非基于域名,因此,当客户端(如浏览器)获取到用户输入的域名时,会先查找客户端缓存、本地hosts文件与DNS缓存,没有找到的话,再触发生成一个DNS查询请求,由本地DNS服务器根据该请求寻找域名对应的IP地址。
(2)DNS解析:如图1C所示,本地DNS服务器依次请求根域名服务器,获取顶级域名服务器的IP地址,再请求顶级域名服务器,获取权威域名服务器的IP地址。权威DNS服务器返回该域名映射的一个或多个IP地址。在使用CDN的情况下,DNS还会通过一种叫做DNS负载均衡的技术,返回距离用户最近的服务器IP地址。
(3)CDN边缘节点选择:CDN网络结构通常为中心节点、区域节点和边缘节点,为了在保证一定命中率的情况下节约CDN的存储空间,所有内容都保存在中心节点,而区域节点和边缘节点通常只存储一部分热门内容。
客户端使用从DNS得到的IP地址,与CDN的中心节点建立连接。CDN服务根据用户的地理位置、网络状况等因素,将用户的请求重定向到最优的CDN边缘节点,由边缘节点为用户提供服务,以便快速响应用户的请求。
(4)内容传输:客户端使用从中心节点得到的IP地址,与选定的边缘节点建立连接。若所需内容已经在该节点上,边缘节点直接向客户端提供内容,大大减少了数据传输的延迟。若所需内容不在边缘节点上,则将用户的请求重定向至上一级的区域节点,直至追溯到源服务器,并将内容拉取到选定的边缘节点中,再将内容返回给客户端,确保客户端与服务器之间的交互实时性。
通过这一系列步骤,DNS帮助客户端找到了服务器的地址,而CDN则进一步优化了内容的分发过程,提高了访问速度和内容加载速度,减轻了源服务器的压力。
CDN提供内容分发服务时,会将基于一个时间段内所有客户端的访问请求产生的多个网络流量记录在内容分发日志(即CDN日志)中,再在指定的时间间隔内将日志文件推送到云存储服务上。
通过云服务商提供的应用程序接口(Application Programming Interface,API),定期采集内容分发日志。这些日志文件中记录了多条网络流量,一条网络是基于一个CDN节点上的请求详情生成的,包含了请求时间戳、源IP地址、请求方法、请求的统一资源定位符(Universal Resource Locator,URL)、缓存命中情况、由源IP地址请求访问的目标服务器反馈的响应状态码等数据,是网络监控、故障排查、安全分析及优化网络性能等方面的重要依据。
其中,一条待检测流量包含以下信息:
(1)请求时间戳:记录数据包传输的具体时间。
(2)源IP地址:发起通信的客户端或终端设备的IP地址。
(3)目的IP地址:接收通信的服务器或目标设备的IP地址。
(4)端口号:分别记录源端口和目的端口,用于标识通信两端的应用程序或服务。
(5)协议类型:表明数据传输使用的协议,如传输控制协议(TransmissionControl Protocol,TCP)、用户数据协议(User Datagram Protocol,UDP)、HTTP、HTTPS等。
(6)数据包大小:单个数据包的字节数。
(7)数据方向:表明数据是流入(下载)还是流出(上传)。
(8)TCP状态:在TCP连接中,包括同步序列号(Synchronize Sequence Numbers,SYN)、确认(Acknowledgement,ACK)、终止(Finish,FIN)等标志位,指示连接的建立、确认或终止等状态。
(9)HTTP相关信息:请求方法、URL路径、HTTP版本、响应状态码等。
(10)其他元数据:可能还包括TCP序列号、确认号等底层通信细节,以及标记数据包是否为新连接。
S102:针对各待检测流量组,分别执行以下操作:基于设定的滑动时间窗口,将一个待检测流量组划分为连续多个流量序列;分别各流量序列进行特征提取与预处理,得到一个源IP地址在各滑动时间窗口的特征序列,一个特征序列包含该源IP地址在一个滑动时间窗口内的多维流量特征与缓存命中率;再基于一个源IP地址的连续多个特征序列在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系,预测该源IP地址在下一个滑动时间窗口内发起域前置攻击的概率,并在预测概率值超过设定阈值时,将该源IP地址关联的待检测流量作为异常流量。
结合图1D示出的逻辑示意图,滑动时间窗口沿设定方向移动设定步长,将一个待检测流量组中请求时间戳位于同一滑动时间窗口的待检测流量划分到一个序列中,得到连续多个流量序列。
本申请引入滑动时间窗口机制,对源IP地址的网络行为进行动态检测,构建源IP地址在各滑动时间窗口的特征序列,一个特征序列包含该源IP地址在一个滑动时间窗口内的多维流量特征与缓存命中率。
其中,结合图1E示出的流程示意图,针对其中一个流量序列执行以下操作:
S1021:对一个流量序列包含的多个待检测流量进行时间编码与请求编码,获得一个源IP地址在一个时间窗口内的多个时间特征与请求特征。
(1)分别对该流量序列中多个待检测流量的请求时间戳进行时间编码,得到该源IP地址在一个滑动时间窗口内的多个时间特征。本申请提供了两种时间编码方式,一种是采用时间编码规则,对请求时间戳的年、月、日、小时分别编码,将请求时间戳转化为统一格式的数字编码,另一种是采用标记编码规则,标记请求时间戳是否为周末、节假日等特殊时间节点。
具体地,按照时间编码规则,分别对一个流量序列中多个待检测流量的请求时间戳进行编码,得到各自的原始时间特征。
时间编码规则以设定年份为基数,将请求时间戳的年份与设定年份之间的差值作为请求时间戳的年份编码Y。一年12个月,按月份编码请求时间戳的月份,得到请求时间戳的月份编码M。一个月31天,按天数编码请求时间戳的日期,得到请求时间戳的日期编码D。一天24小时,以2个小时为基数,将请求时间戳的结束时间对应的编码小时段作为小时编码T。
例如,请求时间戳为“2000年1月2号的03:00到04:59”,对其编码得到的原始时间特征“Y00M01D02T03”。
除了原始时间特征外,还可以按照标记编码规则,分别对一个流量序列中多个待检测时间的请求时间戳进行编码,标记请求时间戳是否为周末、节假日等特殊时间节点,得到各自的附加时间特征。
例如,1表示请求时间戳这天是周末,2表示请求时间戳这天是节假日,0表示请求时间戳这天是工作日或者非节假日。
(2)对多个待检测流量进行请求编码,得到该源IP地址在一个滑动时间窗口内的请求特征。
本申请从请求总数、资源多样性与响应状态码三方面,构建一个源IP地址在一个滑动时间窗口内的请求特征。
具体地,基于一个源IP地址在一个滑动时间窗口内关联的待检测流量,统计该源IP地址在一个滑动时间窗口内发起的请求总数。
基于各待检测流量的请求资源(即请求的URL)的资源类型,统计该源IP地址在一个滑动时间窗口内请求的资源类型总数,资源类型包括png、mp4、css等。
基于各待检测流量的响应状态码,统计该源IP地址在一个滑动时间窗口内除表征请求成功处理以外的其他响应状态码的状态码占比。在HTTP协议中,2xx表示请求已成功被服务器接受、理解并处理,因此,是统计另外四种响应状态码在这个滑动时间窗口的状态码占比。
最后,将一个源IP地址在一个滑动时间窗口内的请求总数、请求的资源类型总数与状态码占比,作为该源IP地址在一个滑动时间窗口内的请求特征。
S1022:基于多个待检测流量的缓存命中状态与源IP地址发起的请求总数,获得该源IP地址在一个滑动时间窗口内的缓存命中率。
基于归属同一源IP地址的多个待检测流量中记录的缓存命中情况,统计该源IP地址在一个滑动时间窗口内的缓存命中总数,如公式1所示,基于源IP地址在一个滑动时间窗口内的缓存命中总数与源IP地址发起的请求总数,计算出源IP地址在一个滑动时间窗口内的缓存命中率。
S1023:对多个时间特征、请求特征与缓存命中率进行归一化处理,得到该源IP地址在一个滑动时间窗口的特征序列。
归一化处理是数据预处理中的一个重要步骤,旨在调整数据的尺度,使其落入特定的范围内,便于比较和分析。常见的归一化处理方法有最小-最大规范化(Min-MaxScaling)、Z-Score标准化(Standardization)、小数定标规范化(Decimal Scaling)、最大绝对值规范化(Max Absolute Scaling)、TanH转换、对数变换(LogarithmicTransformation)等,可根据数据的特性及后续分析或建模的需求,来选择合适的归一化方法。
例如,对表1示出的多条网络流量进行特征提取与预处理,得到表2示出的特征序列。
表1
表2
以时间为横轴,以CDN资源的缓存命中率为纵轴,图1F示出了不同模式下的缓存命中率曲线变化。在正常访问场景中,CDN资源的缓存命中率曲线通常保持稳定在一个较高的水平,可能会有周期性的轻微下降和恢复,但整体来看波动不大。而在域前置攻击场景中,由于客户端请求访问的资源内容很少被其他客户端请求访问,可能CDN节点中未存储相关资源内容,导致域前置攻击场景中的缓存命中率较低,进而导致该场景下的缓存命中率曲线波动较大。由于域前置攻击的突发性和针对性,也会让缓存命中率曲线形成陡峭的下降峰值或不规则峰值。
本申请利用CDN资源的缓存命中率曲线在域前置攻击场景中产生波动变化的特点,将一个源IP地址关联的待检测流量中影响缓存命中率的流量特征,与该源IP地址在各滑动时间窗口的缓存命中率相结合,使用能够捕捉到时间序列数据中远距离依赖关系的基于循环神经网络(Recurrent Neural Network,RNN)的时间序列分析模型,学习到一个源IP地址的连续多个特征序列在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系,再基于该关联关系预测该源IP地址在下一个滑动时间窗口内发起域前置攻击的概率。当模型输出的预测概率值超过设定阈值时,说明神经网络预测该源IP地址的行为模式高度疑似域前置攻击,触发警报,生成域前置攻击告警,提醒管理人员对该源IP地址及其关联的网络流量、访问请求进行重点监控。
用于解决长期依赖关系的时间序列分析模型有LSTM网络、门控循环单元、Transformer网络、深度残差网络等,这些神经网络通过不同机制的网络结构,增强了对序列数据长期依赖性的学习能力,是处理语音识别、机器翻译、文本生成等任务时的常用网络。
如图1G所示,以LSTM网络为例,对训练样本集进行特征提取与预处理,得到时间连续的多个特征序列。为保证时间连续性,将这些时间连续的多个特征序列切割为训练序列、验证序列和测试序列,依次将上述三种序列输入到LSTM网络中,训练网络学习到样本源IP地址的缓存内容命中率、多维特征在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系,优化LSTM网络的模型参数,得到训练完毕的LSTM网络。
如图1H所示,LSTM内部有三个门结构,遗忘门、输入门与输出门,在t时刻,LSTM也有三个输入,t时刻的网络输入值Xt、(t-1)时刻的网络输出值ht-1与(t-1)时刻的单元状态Ct-1。遗忘门控制(t-1)时刻的单元状态Ct-1的遗忘程度,决定了(t-1)时刻的单元状态Ct-1有多少可以保留到t时刻的单元状态Ct中,输入门决定t时刻的网络输入值Xt有多少可以保留到t时刻的单元状态Ct中。由于遗忘门的控制,t时刻的单元状态Ct中可以保存很久很久之前的信息,由于输入门的控制,又可以避免当前无关紧要的内容进入t时刻的单元状态Ct的记忆中。输出门控制t时刻的单元状态Ct的过滤程度,决定t时刻的单元状态Ct有多少输出到t时刻的网络输出值ht中。
结合图2A~2B示出的示意图,给出将本申请方法应用于实际场景中的实现过程。
S201:通过云服务商提供的API,定期采集包含多个待检测流量的内容分发日志,将关联同一源IP地址的待检测流量划分为一组,得到至少一个待检测流量组。
S202:针对各待检测流量组,分别执行以下操作:基于设定的滑动时间窗口,将一个待检测流量组划分为连续多个流量序列;分别各流量序列进行特征提取与归一化处理,得到一个源IP地址在各滑动时间窗口的特征序列,一个特征序列包含该源IP地址在一个滑动时间窗口内的多维流量特征与缓存命中率。
S203:将关联同一源IP地址的多个特征序列输入到基于RNN的时间序列分析模型中,预测该源IP地址在下一个滑动时间窗口内发起域前置攻击的概率;其中,时间序列分析模型是基于训练样本集,训练模型学习到样本源IP地址的缓存内容命中率、多维特征在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系。
S204:判断预测概率值是否超过设定阈值,若是,执行步骤205;否则,执行步骤206。
S205:将该源IP地址关联的待检测流量作为异常流量,触发警报,生成域前置攻击告警。
S206:将该源IP地址关联的待检测流量作为正常流量。
S207:判断各源IP地址关联的待检测流量是否均检测完毕,若是,跳转至步骤201;否则,跳转至步骤203。
与上述方法实施例基于同一发明构思,本申请实施例还提供了一种异常流量检测装置的结构示意图。如图4所示,异常流量检测装置300可以包括:
流量采集单元301,用于采集包含多个待检测流量的内容分发日志,将关联同一源网际协议IP地址的待检测流量划分为一组,得到至少一个待检测流量组;
流量分析单元302,用于针对各待检测流量组,分别执行以下操作:基于设定的滑动时间窗口,将一个待检测流量组划分为连续多个流量序列;分别各流量序列进行特征提取与预处理,得到一个源IP地址在各滑动时间窗口的特征序列,一个特征序列包含所述一个源IP地址在一个滑动时间窗口内的多维流量特征与缓存命中率;基于所述一个源IP地址的连续多个特征序列在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系,预测所述一个源IP地址在下一个滑动时间窗口内发起域前置攻击的概率,并在预测概率值超过设定阈值时,将所述一个源IP地址关联的待检测流量作为异常流量。
可选的,所述流量分析单元302针对一个流量序列执行以下操作:
对所述一个流量序列包含的多个待检测流量进行时间编码与请求编码,获得所述一个源IP地址在所述一个时间窗口内的多个时间特征与请求特征;
基于所述多个待检测流量的缓存命中状态与所述一个源IP地址发起的请求总数,获得所述一个源IP地址在所述一个滑动时间窗口内的缓存命中率;
对所述多个时间特征、所述请求特征与所述缓存命中率进行归一化处理,得到所述一个源IP地址在所述一个滑动时间窗口的特征序列。
可选的,所述流量分析单元302用于:
分别对所述一个流量序列中多个待检测流量的请求时间戳进行时间编码,得到所述一个源IP地址在所述一个滑动时间窗口内的多个时间特征;
对所述多个待检测流量进行请求编码,得到所述一个源IP地址在一个滑动时间窗口内的请求特征。
可选的,所述流量分析单元302用于:
按照时间编码规则,分别对所述一个流量序列中多个待检测流量的请求时间戳进行编码,得到各自的原始时间特征;
按照标记编码规则,分别对所述一个流量序列中多个待检测时间的请求时间戳进行编码,得到各自的附加时间特征。
可选的,所述流量分析单元302用于:
基于所述一个源IP地址在所述一个滑动时间窗口内关联的待检测流量,统计所述一个源IP地址在所述一个滑动时间窗口内发起的请求总数;
基于各待检测流量的请求资源的资源类型,统计所述一个源IP地址在所述一个滑动时间窗口内请求的资源类型总数;
基于所述各待检测流量的响应状态码,统计所述一个源IP地址在所述一个滑动时间窗口内除表征请求成功处理以外的其他响应状态码的状态码占比;
将所述一个源IP地址在所述一个滑动时间窗口内的请求总数、请求的资源类型总数与状态码占比,作为所述一个源IP地址在所述一个滑动时间窗口内的请求特征。
在介绍了本申请示例性实施方式的异常流量检测方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的计算机设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种计算机设备,参阅图4所示,计算机设备400可以至少包括处理器401、以及存储器402。其中,存储器402存储有程序代码,当程序代码被处理器401执行时,使得处理器401执行上述任意一种异常流量检测方法的步骤。
在一些可能的实施方式中,根据本申请的计算装置可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的异常流量检测方法中的步骤。例如,处理器可以执行如图1A中所示的步骤。
下面参照图5来描述根据本申请的这种实施方式的计算装置500。图5的计算装置500仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,计算装置500以通用计算装置的形式表现。计算装置500的组件可以包括但不限于:上述至少一个处理单元501、上述至少一个存储单元502、连接不同系统组件(包括存储单元502和处理单元501)的总线503。
总线503表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元502可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)5021和/或高速缓存存储单元5022,还可以进一步包括只读存储器(ROM)5023。
存储单元502还可以包括具有一组(至少一个)程序模块5024的程序/实用工具5025,这样的程序模块5024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算装置500也可以与一个或多个外部设备504(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置500交互的设备通信,和/或与使得该计算装置500能与一个或多个其它计算装置进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口505进行。并且,计算装置500还可以通过网络适配器506与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器506通过总线503与用于计算装置500的其它模块通信。应当理解,尽管图中未示出,可以结合计算装置500使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
与上述方法实施例基于同一发明构思,本申请提供的异常流量检测方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的异常流量检测方法中的步骤,例如,计算机设备可以执行如图1A中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

1.一种异常流量检测方法,其特征在于,包括:
采集包含多个待检测流量的内容分发日志,将关联同一源网际协议IP地址的待检测流量划分为一组,得到至少一个待检测流量组;
针对各待检测流量组,分别执行以下操作:基于设定的滑动时间窗口,将一个待检测流量组划分为连续多个流量序列;分别各流量序列进行特征提取与预处理,得到一个源IP地址在各滑动时间窗口的特征序列,一个特征序列包含所述一个源IP地址在一个滑动时间窗口内的多维流量特征与缓存命中率;基于所述一个源IP地址的连续多个特征序列在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系,预测所述一个源IP地址在下一个滑动时间窗口内发起域前置攻击的概率,并在预测概率值超过设定阈值时,将所述一个源IP地址关联的待检测流量作为异常流量。
2.如权利要求1所述的方法,其特征在于,所述分别各流量序列进行特征提取与预处理,得到一个源IP地址在各滑动时间窗口的特征序列,其中,针对一个流量序列执行以下操作:
对所述一个流量序列包含的多个待检测流量进行时间编码与请求编码,获得所述一个源IP地址在所述一个时间窗口内的多个时间特征与请求特征;
基于所述多个待检测流量的缓存命中状态与所述一个源IP地址发起的请求总数,获得所述一个源IP地址在所述一个滑动时间窗口内的缓存命中率;
对所述多个时间特征、所述请求特征与所述缓存命中率进行归一化处理,得到所述一个源IP地址在所述一个滑动时间窗口的特征序列。
3.如权利要求2所述的方法,其特征在于,所述对所述一个流量序列包含的多个待检测流量进行时间编码与请求编码,获得所述一个源IP地址在所述一个时间窗口内的多个时间特征与请求特征,包括:
分别对所述一个流量序列中多个待检测流量的请求时间戳进行时间编码,得到所述一个源IP地址在所述一个滑动时间窗口内的多个时间特征;
对所述多个待检测流量进行请求编码,得到所述一个源IP地址在一个滑动时间窗口内的请求特征。
4.如权利要求3所述的方法,其特征在于,所述分别对所述一个流量序列中多个待检测流量的请求时间戳进行时间编码,得到所述一个源IP地址在所述一个滑动时间窗口内的多个时间特征,包括:
按照时间编码规则,分别对所述一个流量序列中多个待检测流量的请求时间戳进行编码,得到各自的原始时间特征;
按照标记编码规则,分别对所述一个流量序列中多个待检测时间的请求时间戳进行编码,得到各自的附加时间特征。
5.如权利要求3所述的方法,其特征在于,所述对所述多个待检测流量进行请求编码,得到所述一个源IP地址在一个滑动时间窗口内的请求特征,包括:
基于所述一个源IP地址在所述一个滑动时间窗口内关联的待检测流量,统计所述一个源IP地址在所述一个滑动时间窗口内发起的请求总数;
基于各待检测流量的请求资源的资源类型,统计所述一个源IP地址在所述一个滑动时间窗口内请求的资源类型总数;
基于所述各待检测流量的响应状态码,统计所述一个源IP地址在所述一个滑动时间窗口内除表征请求成功处理以外的其他响应状态码的状态码占比;
将所述一个源IP地址在所述一个滑动时间窗口内的请求总数、请求的资源类型总数与状态码占比,作为所述一个源IP地址在所述一个滑动时间窗口内的请求特征。
6.一种异常流量检测装置,其特征在于,包括:
流量采集单元,用于采集包含多个待检测流量的内容分发日志,将关联同一源网际协议IP地址的待检测流量划分为一组,得到至少一个待检测流量组;
流量分析单元,用于针对各待检测流量组,分别执行以下操作:基于设定的滑动时间窗口,将一个待检测流量组划分为连续多个流量序列;分别各流量序列进行特征提取与预处理,得到一个源IP地址在各滑动时间窗口的特征序列,一个特征序列包含所述一个源IP地址在一个滑动时间窗口内的多维流量特征与缓存命中率;基于所述一个源IP地址的连续多个特征序列在连续多个滑动时间窗口内的变化趋势与流量类型之间的关联关系,预测所述一个源IP地址在下一个滑动时间窗口内发起域前置攻击的概率,并在预测概率值超过设定阈值时,将所述一个源IP地址关联的待检测流量作为异常流量。
7.如权利要求6所述的装置,其特征在于,所述流量分析单元针对一个流量序列执行以下操作:
对所述一个流量序列包含的多个待检测流量进行时间编码与请求编码,获得所述一个源IP地址在所述一个时间窗口内的多个时间特征与请求特征;
基于所述多个待检测流量的缓存命中状态与所述一个源IP地址发起的请求总数,获得所述一个源IP地址在所述一个滑动时间窗口内的缓存命中率;
对所述多个时间特征、所述请求特征与所述缓存命中率进行归一化处理,得到所述一个源IP地址在所述一个滑动时间窗口的特征序列。
8.如权利要求7所述的装置,其特征在于,所述流量分析单元用于:
分别对所述一个流量序列中多个待检测流量的请求时间戳进行时间编码,得到所述一个源IP地址在所述一个滑动时间窗口内的多个时间特征;
对所述多个待检测流量进行请求编码,得到所述一个源IP地址在一个滑动时间窗口内的请求特征。
9.如权利要求8所述的装置,其特征在于,所述流量分析单元用于:
按照时间编码规则,分别对所述一个流量序列中多个待检测流量的请求时间戳进行编码,得到各自的原始时间特征;
按照标记编码规则,分别对所述一个流量序列中多个待检测时间的请求时间戳进行编码,得到各自的附加时间特征。
10.如权利要求8所述的装置,其特征在于,所述流量分析单元用于:
基于所述一个源IP地址在所述一个滑动时间窗口内关联的待检测流量,统计所述一个源IP地址在所述一个滑动时间窗口内发起的请求总数;
基于各待检测流量的请求资源的资源类型,统计所述一个源IP地址在所述一个滑动时间窗口内请求的资源类型总数;
基于所述各待检测流量的响应状态码,统计所述一个源IP地址在所述一个滑动时间窗口内除表征请求成功处理以外的其他响应状态码的状态码占比;
将所述一个源IP地址在所述一个滑动时间窗口内的请求总数、请求的资源类型总数与状态码占比,作为所述一个源IP地址在所述一个滑动时间窗口内的请求特征。
11.一种计算机设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~5中任一项所述方法的步骤。
12.一种计算机可读存储介质,其特征在于,其包括程序代码,当所述程序代码在计算机设备上运行时,所述程序代码用于使所述计算机设备执行权利要求1~5中任一项所述方法的步骤。
CN202411155621.7A 2024-08-21 异常流量检测方法、装置、设备及存储介质 Pending CN118972139A (zh)

Publications (1)

Publication Number Publication Date
CN118972139A true CN118972139A (zh) 2024-11-15

Family

ID=

Similar Documents

Publication Publication Date Title
US10560465B2 (en) Real time anomaly detection for data streams
CN111277570A (zh) 数据的安全监测方法和装置、电子设备、可读介质
US8321551B2 (en) Using aggregated DNS information originating from multiple sources to detect anomalous DNS name resolutions
US10581886B1 (en) Computer system anomaly detection
RU2671991C2 (ru) Система и способ сбора информации для обнаружения фишинга
CN111030888B (zh) 域名系统dns容量测量方法、装置、设备及介质
CN109905288B (zh) 一种应用服务分类方法及装置
US9703967B1 (en) System and method to anonymize data transmitted to a destination computing device
CN112632129A (zh) 一种码流数据管理方法、装置及存储介质
US11372937B1 (en) Throttling client requests for web scraping
CN110933115B (zh) 基于动态session的分析对象行为异常检测方法及装置
CN107103014A (zh) 历史推送信息的重现方法、装置和系统
CN108900554B (zh) Http协议资产检测方法、系统、设备及计算机介质
CN111913859A (zh) 一种异常行为检测方法和装置
CN107528812B (zh) 一种攻击检测方法及装置
US10057155B2 (en) Method and apparatus for determining automatic scanning action
EP4351087A1 (en) Traffic detection method and apparatus, and device and readable storage medium
Yu et al. Behavior Analysis based DNS Tunneling Detection and Classification with Big Data Technologies.
CN112765103A (zh) 一种文件解析方法、系统、装置及设备
CN1976299A (zh) 用于对应用日志配置设置进行管理的方法和系统
CN112929369B (zh) 一种分布式实时DDoS攻击检测方法
CN117749800B (zh) 新能源发电侧实现边缘数据存储与传输的方法和相关装置
CN113608946A (zh) 基于特征工程和表示学习的机器行为识别方法
CN118972139A (zh) 异常流量检测方法、装置、设备及存储介质
CN110737691B (zh) 用于处理访问行为数据的方法和装置

Legal Events

Date Code Title Description
PB01 Publication