CN113067804B - 网络攻击的检测方法、装置、电子设备及存储介质 - Google Patents
网络攻击的检测方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113067804B CN113067804B CN202110274827.1A CN202110274827A CN113067804B CN 113067804 B CN113067804 B CN 113067804B CN 202110274827 A CN202110274827 A CN 202110274827A CN 113067804 B CN113067804 B CN 113067804B
- Authority
- CN
- China
- Prior art keywords
- network address
- flow
- false alarm
- time period
- traffic
- 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
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
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- 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/06—Management of faults, events, alarms or notifications
- H04L41/0681—Configuration of triggering conditions
-
- 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/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种网络攻击的检测方法、装置、电子设备及计算机可读存储介质;涉及云技术以及人工智能技术,方法包括:在多个待防护的网络地址中,识别出至少一个告警网络地址;在所述至少一个告警网络地址中,识别出至少一个误告警网络地址;基于所述误告警网络地址在第一时间段的流量变化规律,确定所述误告警网络地址在第二时间段的流量范围,其中,所述第一时间段早于所述第二时间段;根据误告警网络地址在第二时间段的流量范围,确定第二时间段中的待检测时间点的预测流量阈值;将误告警网络地址在所述待检测时间点的流量与预测流量阈值进行比较,以获得网络攻击检测的结果。通过本申请,能够提高网络攻击检测的效率和准确性。
Description
技术领域
本申请涉及云技术和人工智能技术,尤其涉及一种网络攻击的检测方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法和技术及应用***。网络安全是人工智能的重要应用方向,例如,结合云技术实现针对各种网络地址进行安全防护。
以网络攻击检测为例,网络攻击是指将多个计算机联合起来作为攻击平台,采用合理的服务请求来占用大量服务资源,从而使合法用户无法得到服务的响应。
相关技术通常是基于静态阈值对网络地址的流量进行检测,当流量超过静态阈值时确定受到网络攻击而发出告警。这种方式检测准确性较低,容易产生大流量误报(或称误告警)或小流量漏报的情况。对此,相关技术尚无有效解决方案。
发明内容
本申请实施例提供一种网络攻击的检测方法、装置、电子设备及计算机可读存储介质,能够提高网络攻击检测的效率和准确性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种网络攻击的检测方法,包括:
在多个待防护的网络地址中,识别出至少一个告警网络地址;
在所述至少一个告警网络地址中,识别出至少一个误告警网络地址;
基于所述误告警网络地址在第一时间段的流量变化规律,确定所述误告警网络地址在第二时间段的流量范围,其中,所述第一时间段早于所述第二时间段;
基于所述误告警网络地址在所述第二时间段的流量范围,对所述误告警网络地址在所述第二时间段的流量进行网络攻击检测。
本申请实施例提供一种网络攻击的检测装置,包括:
第一识别模块,用于在多个待防护的网络地址中,识别出至少一个告警网络地址;
第二识别模块,用于在所述至少一个告警网络地址中,识别出至少一个误告警网络地址;
确定模块,用于基于所述误告警网络地址在第一时间段的流量变化规律,确定所述误告警网络地址在第二时间段的流量范围,其中,所述第一时间段早于所述第二时间段;
检测模块,用于根据所述误告警网络地址在所述第二时间段的流量范围,确定所述第二时间段中的待检测时间点的预测流量阈值;将所述误告警网络地址在所述待检测时间点的流量与所述预测流量阈值进行比较,以获得网络攻击检测的结果。
在上述方案中,所述第一识别模块,还用于在所述多个待防护的网络地址中,识别出满足预检测条件的至少一个目标网络地址;其中,所述预检测条件包括以下之一:未获得所述目标网络地址在所述第二时间段的流量基线;已经获得所述目标网络地址的流量基线,但所述目标网络地址的流量基线超出有效期;针对每个所述目标网络地址执行以下预检测处理:获取所述目标网络地址对应的静态流量阈值;当所述目标网络地址的流量超过对应的静态流量阈值时,将所述目标网络地址确定为所述告警网络地址。
在上述方案中,所述第二识别模块,还用于针对每个所述告警网络地址执行以下操作:获取所述告警网络地址在所述第一时间段的告警量;获取针对所述告警网络地址的网络攻击的发送流量和接收流量、以及针对所述网络攻击的丢弃流量;基于所述告警量、所述发送流量、所述接收流量、以及所述丢弃流量,对所述告警网络地址进行误告警识别处理,以确定所述告警网络地址是否是所述误告警网络地址。
在上述方案中,所述第二识别模块,还用于获取所述告警网络地址在所述第一时间段的告警数据,其中,所述告警数据包括多个类型的网络攻击、以及对应每个类型的网络攻击的告警量;将所述多个类型的网络攻击中针对传输层协议发起的网络攻击所对应的告警量进行加和处理,并将加和结果确定为所述告警网络地址在所述第一时间段的告警量。
在上述方案中,所述第二识别模块,还用于当所述告警量大于告警量阈值、所述接收流量大于接收流量阈值、第一加和结果和第二加和结果之间的比值不小于比例阈值、且所述丢弃流量等于丢弃流量阈值时,确定所述告警网络地址是所述误告警网络地址;当满足以下条件至少之一时,确定所述告警网络地址不是所述误告警网络地址:所述告警量不大于告警量阈值,所述接收流量不大于接收流量阈值,第一加和结果和第二加和结果之间的比值小于比例阈值,所述丢弃流量不等于丢弃流量阈值;其中,所述第一加和结果为所述发送流量和第一预设值之间的加和,所述第二加和结果为所述接收流量和第二预设值之间的加和。
在上述方案中,所述确定模块,还用于获取所述误告警网络地址在所述第一时间段的多个流量,其中,所述多个流量与所述第一时间段中的多个时间点一一对应;将所述多个流量按照对应的时间点的先后顺序组合为观察值序列;根据所述观察值序列,确定所述误告警网络地址在所述第二时间段中的流量基线;根据置信区间对所述流量基线进行区间估计处理,以获得所述误告警网络地址在所述第二时间段的流量范围。
在上述方案中,所述确定模块,还用于对所述观察值序列进行差分平稳处理,以获得差分平稳序列;对所述差分平稳序列进行序列预测处理,以获得自相关系数和偏自相关系数;通过所述自相关系数构建所述差分平稳序列的自回归模型;通过所述偏自相关系数构建所述差分平稳序列的移动平均模型;将所述自回归模型中包括的项和所述移动平均模型中包括的项进行加和处理,并根据加和结果确定多个流量基值;其中,所述多个流量基值与所述第二时间段中的多个时间点一一对应;将所述多个流量基值按照对应的时间点的先后顺序进行拟合处理,得到所述流量基线。
在上述方案中,所述确定模块,还用于确定所述流量基线中包含的多个流量基值对应的标准差,其中,所述多个流量基值与所述第二时间段中的多个时间点一一对应;确定对应所述置信区间的置信系数,并确定所述置信系数和所述标准差之间的乘积;针对所述流量基线中的每个所述流量基值执行以下处理,以获得与所述多个流量基值一一对应的多个预测流量阈值:确定所述乘积和所述流量基值之间的加和,并将加和结果确定为对应所述流量基值的预测流量阈值;其中,所述多个预测流量阈值与所述第二时间段中的多个时间点一一对应。
在上述方案中,所述确定模块,还用于获取所述误告警网络地址在所述第一时间段中的流量变化数据;调用神经网络模型执行以下处理:提取所述流量变化数据的特征向量,将所述特征向量映射为分别对应多个候选流量范围的概率;将最大概率所对应的候选流量范围,确定为所述误告警网络地址在所述第二时间段的流量范围;其中,所述神经网络模型是基于所述误告警网络地址的历史流量变化数据、以及针对所述历史流量变化数据的标注数据进行训练得到,所述标注数据包括针对所述历史流量变化数据进行网络攻击检测的结果。
在上述方案中,所述检测模块,还用于当所述误告警网络地址在所述待检测时间点的流量超过所述预测流量阈值时,确定所述误告警网络地址在所述待检测时间点受到网络攻击;当所述误告警网络地址在所述待检测时间点的流量不超过所述预测流量阈值时,确定所述误告警网络地址在所述待检测时间点未受到网络攻击。
在上述方案中,所述网络攻击的检测装置还包括:防护模块,用于当所述网络攻击检测的结果表征所述误告警网络地址在所述待检测时间点受到网络攻击时,调用防护设备使所述误告警网络地址的流量流经所述防护设备,以使所述防护设备对所述误告警网络地址的流量中包括的网络攻击流量进行过滤处理。
在上述方案中,所述防护设备对所述误告警网络地址的流量中包括的网络攻击流量进行过滤处理的方式,包括:获取所述误告警网络地址待接收的数据包;提取所述数据包中的指纹特征,并将所述指纹特征与数据库中的攻击特征进行比对,以确定所述指纹特征和所述攻击特征之间的相似度;当所述相似度超过相似度阈值时,丢弃所述数据包;当所述相似度不超过相似度阈值时,将所述数据包发送至所述误告警网络地址。
本申请实施例提供一种电子设备,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本申请实施例提供的网络攻击的检测方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于被处理器执行时,实现本申请实施例提供的网络攻击的检测方法。
本申请实施例具有以下有益效果:
针对出现误告警的网络地址,通过对其在第一时间段的流量变化规律预测在第二时间段的流量范围,并基于在第二时间段的流量范围,对其在第二时间段的流量进行网络攻击检测,检测过程中耗费的时间和计算资源较少,能够避免出现检测的空窗期,从而提高检测的准确性。
附图说明
图1是本申请实施例中提供的网络攻击的检测方法的流程示意图;
图2A和图2B是本申请实施例提供的网络攻击的检测***100的架构示意图;
图3是本申请实施例提供的检测服务器400的结构示意图;
图4是本申请实施例提供的网络攻击的检测方法的流程示意图;
图5是本申请实施例提供的网络攻击的检测方法的流程示意图;
图6是本申请实施例提供的网络攻击的检测方法的流程示意图;
图7是本申请实施例提供的网络攻击的检测方法的应用场景示意图;
图8是本申请实施例提供的网络攻击的检测***的框架结构示意图;
图9是本申请实施例提供的网络攻击的检测方法的流程示意图;
图10是本申请实施例提供的网络攻击的检测方法的应用场景示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)网络攻击(Cyber Attacks):是指针对计算机信息***、基础设施、计算机网络或个人计算机设备的,任何类型的进攻动作。对于计算机和计算机网络来说,破坏、揭露、修改、使软件或服务失去功能、在没有得到授权的情况下偷取或访问任何一计算机的数据,都会被视为于计算机和计算机网络中的攻击。网络攻击的类型包括:分布式拒绝服务(DDoS,Distributed Denial of Service)、浏览器攻击、暴力破解攻击、恶意软件攻击等。
2)DDoS:属于一种网络攻击,通过以下方式实现:利用分布式的客户端,向服务提供者发起大量看似合法的请求,消耗或者长期占用大量资源,从而达到拒绝服务的目的。DDoS的攻击方式有很多种,最基本的DDoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应,另外还可以通过短时间内发送海量数据包阻塞互联网数据中心(IDC,Internet Data Center)上游链路带宽,造成正常业务流量陡降,从而达到拒绝服务的目的。
3)DDoS的攻击检测:是DDoS攻击防御的基础,一个优秀的检测***除了能够产生告警给网络管理员处理之外,还需要能够准确的提供当前攻击的详细信息,例如,攻击的类型、攻击流量大小(或请求数)。DDoS攻击检测方法主要是通过对网络中的数据类型(例如,协议、标志位、应用层特征(GET/POST))进行统计,当统计结果偏离原有模型、阈值时,则认为攻击发生。
4)DDoS检测误报:或称DDoS检测误告警,即将非网络攻击误判为网络攻击。
5)时间序列预测算法:是一种回归预测方法,属于定量预测,其基本原理是:一方面承认事物发展的延续性,运用过去的时间序列数据进行统计分析,推测出事物的发展趋势;另一方面充分考虑到由于偶然因素影响而产生的随机性,为了消除随机波动产生的影响,利用历史数据进行统计分析,并对数据进行适当处理,进行趋势预测。
6)告警网络地址,是指基于静态阈值对网络地址进行网络攻击检测时,确定受到网络攻击(并发出告警)的网络地址。由于是基于静态阈值对网络地址进行网络攻击检测的,因此会出现误检测的情况,即告警网络地址实际上可能并未受到网络攻击、但是基于静态阈值的检测结果却表征受到网络攻击,这种情况下的告警网络地址称为误告警网络地址。
相关技术中网络攻击检测一般是基于静态阈值进行检测,即基于网际互连协议(IP,Internet Protocol)统计特定时间窗内的流量,当流量超过设定的静态阈值时确定受到网络攻击而发出告警。这种方式比较简单,但是不灵活,所有业务或者特定业务都是设定相同的静态阈值,容易产生大流量误报或者小流量漏报的情况。为了解决基于静态阈值进行检测带来的误报问题,申请人发现可以采用通过AI算法来提升检测准确率。
参见图1,图1是本申请实施例中提供的网络攻击的检测方法的流程示意图,本申请实施例在检测过程中分为实时检测阶段和离线数据分析阶段。离线数据分析阶段是采集待防护的网络地址多天的历史流量样本,并对历史流量样本进行数据预处理后进行多维特征提取,并基于提取后的特征训练流量模型,以获得训练后的流量模型,进而生成动态阈值。实时检测阶段采集待防护的网络地址的实时流量,并对实时流量进行数据预处理后进行多维特征提取,并在多维特征提取后关联离线数据分析阶段生成的流量模型,以基于流量模型生成的动态阈值判断是否受到网络攻击并发送告警。本申请实施例需要学习待防护的网络地址多天的历史流量,在生成流量模型之前无法生成动态阈值判断是否受到网络攻击并发送告警。
在一些实施例中,可以通过离线数据分析阶段对每个待防护的网络地址最近多天(例如3天)的流量进行计算和分析,最终获得待防护的网络地址的流量模型以及计算出相关维度的流量统计值信息(包括最大值、最小值、均值、方差)存储在后台数据库(DB,DataBase)中供实时检测阶段关联调用。
在一些实施例中,可以对待防护的网络地址采集4个维度的流量数据,分别包括:源网络地址分布(即发送数据包的设备的网络地址分布情况)、包长(即数据包长度)、协议流量分布、传输控制协议(TCP,Transmission Control Pro tocol)标志位流量。其中,协议流量是指待防护的网络地址有哪几种协议的流量,例如,TCP协议的流量、用户数据包协议(UDP,User Datagram Protocol)的流量等。TCP协议有6个标记位(包括URG、ACK、PSH、RST、SYN、FI N,TCP),TCP标志位流量就是统计这6个标记位流量的分布情况。
在一些实施例中,数据预处理包括数据去脏和数据平滑。数据去脏是将采集到的数据进行降噪处理,例如,过滤非公司IP流量、过滤网络混杂流量、过滤网络攻击流量。数据平滑是去掉毛刺点、将缺失的部分用最近一段时间(例如20分钟)内的最大值来补齐。
申请人进一步分析发现,上述的动态阈值生成方案依赖对待防护的网络地址多天的历史流量进行学习,时间跨度大,对于新上线的待防护的网络地址往往会出现因历史流量学习不及时而导致无动态阈值,在没有动态阈值的情况下检测准确性较低,容易出现持续误告警的情况。
针对上述技术问题,本申请实施例还提供一种网络攻击的检测方法,能够提高网络攻击检测的效率和准确性。下面说明本申请实施例提供的网络攻击的检测方法的示例性应用,本申请实施例提供的网络攻击的检测方法可以由服务器实施。
接下来,以由服务器实施为例,参见图2A,图2A是本申请实施例提供的网络攻击的检测***100的架构示意图。其中,网络攻击的检测***100包括:业务服务器200、防护设备300、以及检测服务器400,将分别进行说明。
业务服务器200是用于提供网络服务的服务器,用于向检测服务器400发送第一时间段的流量和第二时间段的流量,其中,第一时间段是早于第二时间段的任意一个时间段,二者可以是间隔的,也可以相邻的,长度可以是相等的(例如均为1天或1小时),也可以是不等的。
防护设备300,用于接收检测服务器400发送的告警信息,以根据告警信息对业务服务器200受到的网络攻击进行防护,例如,将业务服务器200中待接收的流量中包括的网络攻击流量进行过滤处理。
检测服务器400,用于接收业务服务器200发送的第一时间段的流量和第二时间段的流量;基于第一时间段的流量变化规律,确定业务服务器200在第二时间段的流量范围;还用于基于业务服务器200在第二时间段的流量范围,对业务服务器200在第二时间段的流量进行网络攻击检测,当确定业务服务器200受到网络攻击时,向防护设备300发送告警信息,以使防护设备300将业务服务器200中待接收的流量中包括的网络攻击流量进行过滤处理。
本申请实施例可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源。
作为示例,检测服务器400可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
本申请实施例还可以通过区块链技术来实现,参见图2B,图2B是本申请实施例提供的网络攻击的检测***100的架构示意图。图2B中,可以通过多个检测服务器(图2B中示例性示出检测服务器601和602)对业务服务器200进行网络攻击检测。
在一些实施例中,检测服务器和防护设备可以加入区块链网络500而成为其中的一个节点。区块链网络500的类型是灵活多样的,例如可以为公有链、私有链或联盟链中的任意一种。以公有链为例,任何业务主体的电子设备,都可以在不需要授权的情况下接入区块链网络500,以作为区块链网络500的共识节点,例如检测服务器601映射为区块链网络500中的共识节点500-1,检测服务器602映射为区块链网络500中的共识节点500-2,防护设备300映射为区块链网络500中的共识节点500-3。
以区块链网络500为联盟链为例,检测服务器601、检测服务器602和防护设备300在获得授权后可以接入区块链网络500而成为节点。检测服务器601和检测服务器602接收到业务服务器200发送的第一时间段的流量和第二时间段的流量后,可以通过执行智能合约的方式对业务服务器200进行网络攻击检测,以获得业务服务器200是否受到网络攻击的检测结果,并分别将检测结果发送至区块链网络500中进行共识。当共识通过、且检测结果表征业务服务器200受到网络攻击时,调用防护设备300对业务服务器200受到的网络攻击进行防护。可见,通过区块链网络中的多个节点对检测结果进行共识确认后再进行防护,通过共识机制避免了受到个别服务器错误识别的影响,进一步提高了网络攻击检测的可靠性和准确性。
接下来说明上述的检测服务器的结构。参见图3,图3是本申请实施例提供的检测服务器400的结构示意图,图3所示的检测服务器400包括:至少一个处理器410、存储器440和至少一个网络接口420。检测服务器400中的各个组件通过总线***430耦合在一起。可理解,总线***430用于实现这些组件之间的连接通信。总线***430除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线***430。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器440包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Onl y Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器440旨在包括任意适合类型的存储器。存储器440可选地包括在物理位置上远离处理器410的一个或多个存储设备。
在一些实施例中,存储器440能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***441,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块442,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,UniversalSerial Bus)等。
在一些实施例中,本申请实施例提供的网络攻击的检测装置可以采用软件方式实现,图3示出了存储在存储器440中的网络攻击的检测装置443,其可以是程序和插件等形式的软件,包括以下软件模块:第一识别模块4431、第二识别模块4432、确定模块4433、以及检测模块4434。这些模块是可以是逻辑功能模块,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
下面,以由图3中的检测服务器400执行本申请实施例提供的网络攻击的检测方法为例说明。参见图4,图4是本申请实施例提供的网络攻击的检测方法的流程示意图,将结合图4示出的步骤进行说明。
在步骤S101中,在多个待防护的网络地址中,识别出至少一个告警网络地址。
在一些实施例中,可以在多个待防护的网络地址中,识别出满足预检测条件的至少一个目标网络地址;其中,预检测条件包括以下之一:未获得目标网络地址在第二时间段的流量基线;已经获得目标网络地址的流量基线,但目标网络地址的流量基线超出有效期;针对每个目标网络地址执行以下预检测处理:获取目标网络地址对应的静态流量阈值(即上述的静态阈值);当目标网络地址的流量超过对应的静态流量阈值时,将目标网络地址确定为告警网络地址。
作为示例,有效期和静态流量阈值可以是缺省值,也可以是运维人员或检测服务器自动设定的值。
本申请实施例通过静态流量阈值对未学习到流量基线或流量基线超出有效期的网络地址进行预检测处理,以确定告警网络地址,能够提高后续在告警网络地址中识别出误告警网络地址的效率,从而提高检测的效率。
在步骤S102中,在至少一个告警网络地址中,识别出至少一个误告警网络地址。
对于步骤S101来说,由于告警网络地址是根据对应的静态流量阈值对目标网络地址进行网络攻击检测的,但是针对不同时段的网络攻击的流量是动态变化的,因此识别出的告警网络地址中包括部分误告警网络地址,因此有必要识别出误告警网络地址。识别误告警网络地址的原因是,如果网络地址真的是受到网络攻击,检测到并发出告警是符合预期的,而网络地址未受到网络攻击却持续告警是不符合预期的,因此需要先识别出误告警网络地址,再进行网络攻击检测来消除误告警。非误告警网络地址无需进行后续网络攻击检测,因为它的告警是正确的,就可以确定这个网络地址确实受到网络攻击,也就无需再去对它进行网络攻击检测,从而能够节约检测资源。
在一些实施例中,参见图5,图5是本申请实施例提供的网络攻击的检测方法的流程示意图,基于图4,步骤S102可以包括步骤S1021至步骤S1023。需要说明的是,步骤S1021至步骤S1023是针对每个告警网络地址所执行的操作。
在步骤S1021中,获取告警网络地址在第一时间段的告警量。
在一些实施例中,获取告警网络地址在第一时间段的告警数据,其中,告警数据包括多个类型的网络攻击、以及对应每个类型的网络攻击的告警量;将多个类型的网络攻击中针对传输层协议发起的网络攻击所对应的告警量进行加和处理,并将加和结果确定为告警网络地址在第一时间段的告警量。
作为示例,网络攻击的类型包括针对传输层协议所发起的网络攻击(例如确认字符(ACK,Acknowledge Character)流量(Flood)和UDP Flood)、以及针对应用层协议所发起的网络攻击(例如超文本传输协议(HTTP,Hypertex t Transfer Protocol)Flood)等。
举例来说,UDP Flood和ACK Flood是网络攻击检测中最易产生误告警的类型,在误告警判断中,可以将UDP Flood和ACK Flood所对应的告警量进行加和处理,并将加和结果确定为告警网络地址在第一时间段的告警量。
以第一时间段的告警数据包括UDP Flood、ACK Flood和HTTP Flood类型的网络攻击为例,对应UDP Flood的告警量是120MB、对应ACK Flood的告警量是150MB、对应HTTPFlood的告警量是200MB,第一时间段的告警量是120MB+150MB=270MB。
由于针对传输层协议发起的网络攻击是网络攻击检测中最易产生误告警的类型,因此本申请实施例仅统计针对传输层协议发起的网络攻击所对应的告警量,能够提高检测误告警网络地址的效率。
在步骤S1022中,获取针对告警网络地址的网络攻击的发送流量(或称流出流量)和接收流量(或称流入流量)、以及针对网络攻击的丢弃流量。
在一些实施例中,获取告警网络地址的防护日志,对防护日志进行解析,以获得针对告警网络地址的网络攻击的发送流量和接收流量、以及针对网络攻击的丢弃流量。
作为示例,针对告警网络地址的网络攻击的接收流量是指对告警网络地址进行网络攻击时流入告警网络地址的所有数据包的大小;针对告警网络地址的网络攻击的发送流量是指对告警网络地址进行网络攻击时告警网络地址响应流入的数据包所发出的所有数据包的大小;针对网络攻击的丢弃流量是指针对告警网络地址进行防护的过程中所丢弃(或称过滤)的流量。
在步骤S1023中,基于告警量、发送流量、接收流量、以及丢弃流量,对告警网络地址进行误告警识别处理,以确定告警网络地址是否是误告警网络地址。
在一些实施例中,当告警量大于告警量阈值、接收流量大于接收流量阈值、第一加和结果和第二加和结果之间的比值不小于比例阈值、且丢弃流量等于丢弃流量阈值时,确定告警网络地址是误告警网络地址;当满足以下条件至少之一时,确定告警网络地址不是误告警网络地址:告警量不大于告警量阈值,接收流量不大于接收流量阈值,第一加和结果和第二加和结果之间的比值小于比例阈值,丢弃流量不等于丢弃流量阈值。
作为示例,第一加和结果为发送流量和第一预设值之间的加和,第二加和结果为接收流量和第二预设值之间的加和。第一预设值和第二预设值可以是正实数。
举例来说,选取告警网络地址的T(T是正实数)秒时间窗检测粒度的告警数据;基于告警类型和告警网络地址统计距离当前时间点N(N是正实数)分钟内的告警量cnt;判断告警量cnt是否大于M(M=N×60/T×90%,M向下取整),告警量cnt大于M时继续执行;获取距离当前时间点t(0≤t≤N)分钟内的告警网络地址的防护日志,对防护日志进行解析,以获得针对告警网络地址的网络攻击的发送流量flow_out和接收流量flow_in、以及防护过程的丢弃流量anti_drop_flow;当满足flow_in>0、(flow_out+1)/(flow_in+1)≥0.99、且anti_drop_flow=0时,确定未丢包,即确定告警网络地址是误告警网络地址。本申请实施例基于告警数据和防护日志,在告警网络地址中识别出误告警网络地址,能够提高检测误告警网络地址的准确性。
在步骤S103中,基于误告警网络地址在第一时间段的流量变化规律,确定误告警网络地址在第二时间段的流量范围。
这里,第一时间段是早于第二时间段的任意一个时间段,二者可以是间隔的,也可以相邻的,长度可以是相等的(例如均为1天或1小时),也可以是不等的。
在一些实施例中,参见图6,图6是本申请实施例提供的网络攻击的检测方法的流程示意图,基于图4,步骤S103可以包括步骤S1031至步骤S1034。
在步骤S1031中,获取误告警网络地址在第一时间段的多个流量。
在一些实施例中,多个流量与第一时间段中的多个时间点一一对应。第一时间段中的多个时间点可以按照时间的先后顺序依次间隔相同的时间段,也可以间隔不同的时间段。
举例来说,当第一时间段(20秒)中包括时间点00:00:00、00:00:05、00:00:10、00:00:15、00:00:20时,分别采集误告警网络地址在时间点00:00:00、00:00:05、00:00:10、00:00:15、00:00:20的实时流量。
在步骤S1032中,将多个流量按照对应的时间点的先后顺序组合为观察值序列。
作为示例,当第一时间段中对应时间点00:00:00的流量是22M、对应时间点00:00:05的流量是14M、对应时间点00:00:10的流量是16M、对应时间点00:00:15的流量是20M、以及对应时间点00:00:20的流量是25M时,观察值序列为{22,14,16,20,25}。
在步骤S1033中,根据观察值序列,确定误告警网络地址在第二时间段中的流量基线。
在一些实施例中,对观察值序列进行差分平稳处理,以获得差分平稳序列;对差分平稳序列进行序列预测处理,以获得自相关系数和偏自相关系数;通过自相关系数构建差分平稳序列的自回归模型;通过偏自相关系数构建差分平稳序列的移动平均模型;将自回归模型中包括的项和移动平均模型中包括的项进行加和处理,并根据加和结果确定多个流量基值;其中,多个流量基值与第二时间段中的多个时间点一一对应;将多个流量基值按照对应的时间点的先后顺序进行拟合处理,得到流量基线。
作为示例,可以通过差分自回归移动平均模型(ARIMA,AutoregressiveIntegrated Moving Average Model)预测误告警网络地址在第二时间段中的流量基线,不仅能够减少计算耗时和计算资源,还能够提高预测的准确性。ARIMA模型是基于时间序列预测算法建立的模型,其核心思想是用自身过去规律预测自身未来规律,模型表示如公式(1)所示:
公式(1)中主要包含三项,分别是:自回归模型的项AR(p),移动平均模型的项MA(q),差分项I(d)。其中,自回归模型描述的是当前值与历史值之间的关系,移动平均模型描述的是自回归部分的误差累计。d是使之成为平稳序列所做的差分次数(或称阶数),d是正整数,p是自回归项数(或称自相关系数),q是移动平均项数(或称偏自相关系数),L是滞后算子(Lag Opera tor)。
通过公式(1)可以确定与第二时间段中的多个时间点一一对应的多个流量基值,从而能够将多个流量基值按照对应的时间点的先后顺序进行拟合处理,得到流量基线。
在另一些实施例中,确定观察值序列中前t个流量的平均值,以作为目标序列的第t个流量基值,其中,t为正整数,目标序列和观察值序列的长度相同;目标序列中的多个流量基值与第二时间段中的多个时间点一一对应。
作为示例,可以通过移动平均法预测误告警网络地址在第二时间段中的流量基线,能够减少计算耗时和计算资源。移动平均法的计算公式如下:
Ft=(At+At-1+...+A1)/t (2)
公式(2)中,At、At-1、...、A1是观察值序列中的流量,Ft是目标序列中的流量基值。
举例来说,当观察值序列是{22,14,16,20,25}时,目标序列是{22,(22+14)/2,(22+14+16)/3,(22+14+16+20)/4,(22+14+16+20+25)/5}={22,18,17.3,18,19.4},目标序列中的元素就是流量基值。
在步骤S1034中,根据置信区间对流量基线进行区间估计处理,以获得误告警网络地址在第二时间段的流量范围。
在一些实施例中,确定流量基线中包含的多个流量基值对应的标准差,其中,多个流量基值与第二时间段中的多个时间点一一对应;确定对应置信区间的置信系数,并确定置信系数和标准差之间的乘积;针对流量基线中的每个流量基值执行以下处理,以获得与多个流量基值一一对应的多个预测流量阈值:确定乘积和流量基值之间的加和,并将加和结果确定为对应流量基值的预测流量阈值;其中,多个预测流量阈值与第二时间段中的多个时间点一一对应。
作为示例,第二时间段中的每个时间点不仅对应一个流量基值,还对应一个预测流量阈值。多个预测流量阈值构成了误告警网络地址在第二时间段的流量范围。对应90%的置信区间的置信系数可以是1.645、对应95%的置信区间的置信系数可以是1.96、对应99%的置信区间的置信系数可以是2.576等。
以95%的置信区间为例,当流量基线中包含的多个流量基值是{22,14,16,20,25}时,标准差是4,置信系数是1.96,置信系数和标准差之间的乘积是7.84,多个预测流量阈值是{22+7.84,14+7.84,16+7.84,20+7.84,25+7.84}={29.84,21.84,23.84,27.84,32.84}。
本申请实施例能够根据时间序列预测算法快速生成误告警网络地址在第二时间段的流量范围,实时性较高,能够解决相关技术中确定流量范围速度慢的问题,从而可解决相关技术中流量范围生成不及时导致的现网持续误告警的问题。
在一些实施例中,步骤S103还可以通过机器学习的方式实现,可以包括获取误告警网络地址在第一时间段中的流量变化数据;调用神经网络模型执行以下处理:提取流量变化数据的特征向量,将特征向量映射为分别对应多个候选流量范围的概率;将最大概率所对应的候选流量范围,确定为误告警网络地址在第二时间段的流量范围。
作为示例,神经网络模型是基于误告警网络地址的历史流量变化数据、以及针对历史流量变化数据的标注数据进行训练得到,标注数据包括针对历史流量变化数据进行网络攻击检测的结果。
作为示例,神经网络模型可以包括各种类型,例如,卷积神经网络(CNN,Convolutional Neural Networks)模型、循环神经网络(RNN,Recurrent Neur alNetwork)模型、以及多层前馈神经网络模型等。可以结合有监督的方式来训练上述神经网络模型,其中,用于训练神经网络模型的损失函数用于表示预测值与实际标注数据之间的差异,损失函数可以是0-1损失函数、感知损失函数或交叉熵损失函数等。
本申请实施例通过神经网络模型确定误告警网络地址在第二时间段的流量范围,能够进一步提高后续网络攻击检测的准确性。
在一些实施例中,在步骤S103之后,还可以将误告警网络地址在第二时间段的流量范围存储到区块链网络中,以使区块链网络中的智能合约根据误告警网络地址在第二时间段的流量范围,响应针对误告警网络地址在第二时间段的流量的网络攻击检测请求。
本申请实施例将误告警网络地址在第二时间段的流量范围进行上链,可以保证上链数据的不可篡改性,进一步提高了网络攻击检测的可靠性和准确性。
在步骤S104中,根据误告警网络地址在第二时间段的流量范围,确定第二时间段中的待检测时间点的预测流量阈值。
在一些实施例中,获取误告警网络地址在待检测时间点的流量,其中,待检测时间点在第二时间段之内;根据误告警网络地址在第二时间段的流量范围,确定对应待检测时间点的预测流量阈值。
在步骤S105中,将误告警网络地址在待检测时间点的流量与预测流量阈值进行比较,以获得网络攻击检测的结果。
在一些实施例中,当误告警网络地址在待检测时间点的流量超过预测流量阈值时,确定误告警网络地址在待检测时间点受到网络攻击;当误告警网络地址在待检测时间点的流量不超过预测流量阈值时,确定误告警网络地址在待检测时间点未受到网络攻击。
作为步骤S104和步骤S105的示例,当第二时间段中对应时间点00:00:00的预测流量阈值是22M、对应时间点00:00:05的预测流量阈值是14M、对应时间点00:00:10的预测流量阈值是16M、对应时间点00:00:15的预测流量阈值是20M、且待检测时间点是00:00:10时,确定对应待检测时间点00:00:10的预测流量阈值是16M;当误告警网络地址在待检测时间点的流量超过16M时,确定误告警网络地址在待检测时间点00:00:10受到网络攻击;当误告警网络地址在待检测时间点的流量不超过16M时,确定误告警网络地址在待检测时间点00:00:10未受到网络攻击。待检测时间点可以是第二时间段中的任意时间点,如此,能够对误告警网络地址在第二时间段中的任意时间点的流量进行网络攻击检测。
在一些实施例中,在步骤S105之后,还可以当网络攻击检测的结果表征误告警网络地址在待检测时间点受到网络攻击时,调用防护设备使误告警网络地址的流量流经防护设备,以使防护设备对误告警网络地址的流量中包括的网络攻击流量进行过滤处理。
作为示例,防护设备对误告警网络地址的流量中包括的网络攻击流量进行过滤处理的方式可以包括:防护设备获取误告警网络地址待接收的数据包;提取数据包中的指纹特征,并将指纹特征与数据库中的攻击特征进行比对,以确定指纹特征和攻击特征之间的相似度;当相似度超过相似度阈值时,丢弃数据包;当相似度不超过相似度阈值时,将数据包发送至误告警网络地址。
举例来说,数据包中的指纹特征包括以下至少之一:消息头、请求参数、请求值、用户数据、请求方式、协议类型和版本、请求资源路径。相似度阈值可以是缺省值,也可以是运维人员或检测服务器自动设定的值,并可以根据检测严格程度自动更新,即检测严格程度越高,则相似度阈值越小,从而避免尽可能避免漏检。网络犯罪分子在发动网络攻击过程中需要借助一些攻击工具,比如僵尸网络等。同时网络犯罪分子为了提高发送数据包的效率,通过攻击工具发送的数据包通常是编写者伪造并固化到攻击工具中的。因此每种攻击工具所发送的数据包都有一些相同的特征存在,那么网络攻击流量的过滤处理过程将会利用这些数据包中的特征作为攻击特征。因此,可以预先将多种攻击工具的攻击特征保存在防护设备的数据库中,然后将误告警网络地址待接收的数据包先进行数据库比对,当数据包中的指纹特征和攻击特征之间的相似度超过相似度阈值时,表征数据包是攻击工具所发送的,因此可以丢弃数据包,从而实现网络攻击流量的高效过滤。
下面,以网络攻击是DDoS攻击为例说明本申请实施例提供的网络攻击的检测方法。
参见图7,图7是本申请实施例提供的网络攻击的检测方法的应用场景示意图,图7中包括业务服务器700和终端800,将结合图7进行说明。
在一些实施例中,终端800用于运行客户端810,用户可以通过客户端810访问各类网络地址,例如视频网络地址或购物网络地址等。客户端810响应用户操作后,根据待访问的网络地址向业务服务器700发送网络请求,业务服务器700响应网络请求,并向客户端810发送响应结果。
以待访问的网络地址是视频网络地址为例,客户端810响应用户的视频观看操作后,向业务服务器700发送视频获取请求;业务服务器700响应视频获取请求,并向客户端810发送相应的视频;客户端810在人机交互界面中呈现视频。
这里的视频网络地址即上述的待防护的网络地址,网络犯罪分子针对视频网络地址发动网络攻击时将会导致合法用户无法在线观看视频,因此,需要针对待防护的网络地址进行网络攻击检测以便及时发现受到网络攻击的网络地址,并进行防护来保证用户正常的网络服务。
针对上述问题,本申请实施例通过引入时间序列预测算法,针对未及时学习到业务流量基线或业务流量基线超过有效期的网络地址,基于当前时刻前的一段时间内的流量进行建模,具体的,可以是通过时间序列预测算法预测未来一段时间的网络地址的流量大小(即业务流量基线),基于预测的流量大小生成动态阈值,并基于动态阈值进行DDoS检测,从而可以提高检测的准确性,及时消除误报(或称误告警),避免DDoS检测告警持续误报。下面,将详细说明本申请实施例提供的方案。
参见图8,图8是本申请实施例提供的网络攻击的检测***的框架结构示意图,图8中包括:检测平台701(可以是图2A中的检测服务器400)、防护平台702(可以是图2A中的防护设备300)、以及联动平台703。
在一些实施例中,检测平台701用于发现受到网络攻击的网络地址,防护平台702用于对受到网络攻击的网络地址的攻击流量进行清洗,而联动平台703是检测平台701和防护平台702之间的桥梁。检测平台701将受到网络攻击的网络地址发送给联动平台703,联动平台703判断受到网络攻击的网络地址的攻击类型和攻击流量大小,并基于在联动平台703侧配置的规则判断该告警是否可以触发防护平台702的加保护;如果检测流量超过联动平台703配置的阈值,联动平台703就会向防护平台702下发指令,以调用防护设备来清洗攻击流量。
作为示例,防护平台702的加保护过程通常是在机房出口的路由器上将受到网络攻击的网络地址的下一跳路由指到防护设备上,如此,受到网络攻击的网络地址的流量就会经过防护设备,防护设备基于防护策略可以对攻击流量进行清洗,丢弃攻击流量,然后将清洗后的流量回吐给下游的网络设备,使得清洗后的流量可以到达受到网络攻击的网络地址所对应的业务服务器。
参见图9,图9是本申请实施例提供的网络攻击的检测方法的流程示意图,下面,结合图8和图9是本申请实施例提供的网络攻击的检测方法的具体实现方式。
在步骤S901中,检测平台701筛选出未学习到业务流量基线或业务流量基线超过有效期的告警网络地址。
在一些实施例中,由于未学习到业务流量基线或业务流量基线超过有效期,因此是基于预设的静态阈值检测出告警网络地址,从而导致检测的准确性较低。
在步骤S902中,检测平台701基于检测的告警量和防护日志,在告警网络地址中识别出误告警网络地址。
在一些实施例中,识别误告警网络地址的原因是因为如果业务真的是受到网络攻击,检测到并发出告警是符合预期的,而网络地址未受到网络攻击却持续告警是不符合预期的,因此需要先识别出误告警网络地址,再生成动态阈值来消除误告警。
在一些实施例中,实时采集告警网络地址各协议成分的流量,比如UDP流量、ACK流量。综合检测告警流量趋势及防护日志(防护日志对告警网络地址的流量进行详细分析,使攻击流量被防护设备丢弃)判断告警网络地址的检测告警是否是误告警。
作为示例,在告警网络地址中识别出误告警网络地址的具体实现方式包括:
(1)选取UDP/ACK无黑特征标记的T秒时间窗检测粒度的告警数据。
其中,UDP/ACK无黑特征标记是指:DDoS攻击有多种攻击类型,UDP Flood和ACKFlood是其中的两种攻击类型,而这两种攻击类型是当前检测中最易产生误告警的类型,在检测告警判断中,对于能够明确判断是攻击的会打上黑特征标记,以标识该告警经过检测判断确认是网络攻击,如果无黑特征标记,说明检测策略也无法明确判断是否是攻击,就不会在检测告警数据中带上黑特征标记。
(2)基于告警类型和告警网络地址统计距离当前时间N分钟内的告警量cnt。
其中,N可以进行配置,N是大于0的实数,此处可以选择5。
(3)判断告警量cnt是否大于M,告警量cnt大于M时继续执行步骤(4)。
其中,M=N×60/T×90%,M向下取整。
(4)获取距离当前时间t分钟内的告警网络地址的防护日志,对防护日志进行解析,以获得针对告警网络地址的分钟粒度的UDP/ACK的发送流量flow_out和接收流量flow_in、以及防护过程的丢弃流量anti_drop_flow。
其中,t可以进行配置,0≤t≤N。
(5)基于发送流量flow_out和接收流量flow_in、以及丢弃流量anti_drop_flow,确定防护对应协议流量是否有丢包,当未丢包时,确定告警网络地址是误告警网络地址。
在一些实施例中,当满足flow_in>0、(flow_out+1)/(flow_in+1)≥0.99、且anti_drop_flow=0时,确定未丢包;当不满足flow_in>0、(flow_out+1)/(fl ow_in+1)≥0.99、且anti_drop_flow=0时,确定丢包。
在步骤S903中,检测平台701针对误告警网络地址当前时刻的前一段时间(比如前10分钟)内的流量进行建模,通过时间序列预测算法预测未来的流量范围,生成动态阈值,并将动态阈值发送至联动平台703。
在一些实施例中,可以通过ARIMA模型预测误告警网络地址未来的流量范围,进而生成动态阈值。ARIMA模型是基于时间序列预测算法建立的模型,其核心思想是用自身过去规律预测自身未来规律,模型表示如公式(3)所示:
公式(3)中主要包含三项,分别是:自回归模型的项AR(p),移动平均模型的项MA(q),差分项I(d)。其中,自回归模型描述的是当前值与历史值之间的关系,移动平均模型描述的是自回归部分的误差累计。d是使之成为平稳序列所做的差分次数,d是正整数,p是自回归项数,q是移动平均项数,L是滞后算子。
作为示例,参见图10,图10是本申请实施例提供的网络攻击的检测方法的应用场景示意图。获取误告警网络地址当前时刻前N分钟的历史流量,输入到ARIMA模型中进行预测,生成未来一段时间T分钟内的多个流量预测值(即上述的流量基值),这些点构成业务流量基线(即图10中标记线③),然后在置信区间为95%的情况下基于业务流量基线可以生成预测流量范围(即图10中灰色的区域),并选择灰色区域中的最大值点作为该误告警网络地址在未来T分钟内的动态阈值来消除误告警。当时间滑动T分钟后再次生成动态阈值,以此类推。
在步骤S904中,联动平台703配置生成的动态阈值用来消除误告警,并将误告警网络地址踢出保护。
本申请实施例能够根据时间序列预测模型快速生成动态阈值(即上述的预测流量阈值),实时性较高,可在较短时间(例如10分钟)内生成动态阈值来消除现网中正在出现的误告警,解决相关技术中生成动态阈值需要多天的流量学习、且动态阈值生成慢的问题,进而可解决相关技术中动态阈值生成不及时导致的现网持续误告警的问题。通过数据分析,本申请实施例针对上述持续误告警场景可以在10分钟内消除误告警,预计可以消除94%的误告警。
在步骤S905中,联动平台703将非误告警网络地址发送至防护平台702,以使防护平台702对非误告警网络地址进行防护。
在一些实施例中,防护平台702可以调用防护设备来清洗非误告警网络地址的攻击流量。
下面结合图3说明本申请实施例提供的网络攻击的检测装置的实施为软件模块的示例性结构。
在一些实施例中,如图3所示,存储在存储器440的网络攻击的检测装置443中的软件模块可以包括:
第一识别模块4431,用于在多个待防护的网络地址中,识别出至少一个告警网络地址;第二识别模块4432,用于在至少一个告警网络地址中,识别出至少一个误告警网络地址;确定模块4433,用于基于误告警网络地址在第一时间段的流量变化规律,确定误告警网络地址在第二时间段的流量范围,其中,第一时间段早于第二时间段;检测模块4434,用于根据误告警网络地址在第二时间段的流量范围,确定第二时间段中的待检测时间点的预测流量阈值;将误告警网络地址在待检测时间点的流量与预测流量阈值进行比较,以获得网络攻击检测的结果。
在上述方案中,第一识别模块4431,还用于在多个待防护的网络地址中,识别出满足预检测条件的至少一个目标网络地址;其中,预检测条件包括以下之一:未获得目标网络地址在第二时间段的流量基线;已经获得目标网络地址的流量基线,但目标网络地址的流量基线超出有效期;针对每个目标网络地址执行以下预检测处理:获取目标网络地址对应的静态流量阈值;当目标网络地址的流量超过对应的静态流量阈值时,将目标网络地址确定为告警网络地址。
在上述方案中,第二识别模块4432,还用于针对每个告警网络地址执行以下操作:获取告警网络地址在第一时间段的告警量;获取针对告警网络地址的网络攻击的发送流量和接收流量、以及针对网络攻击的丢弃流量;基于告警量、发送流量、接收流量、以及丢弃流量,对告警网络地址进行误告警识别处理,以确定告警网络地址是否是误告警网络地址。
在上述方案中,第二识别模块4432,还用于获取告警网络地址在第一时间段的告警数据,其中,告警数据包括多个类型的网络攻击、以及对应每个类型的网络攻击的告警量;将多个类型的网络攻击中针对传输层协议发起的网络攻击所对应的告警量进行加和处理,并将加和结果确定为告警网络地址在第一时间段的告警量。
在上述方案中,第二识别模块4432,还用于当告警量大于告警量阈值、接收流量大于接收流量阈值、第一加和结果和第二加和结果之间的比值不小于比例阈值、且丢弃流量等于丢弃流量阈值时,确定告警网络地址是误告警网络地址;当满足以下条件至少之一时,确定告警网络地址不是误告警网络地址:告警量不大于告警量阈值,接收流量不大于接收流量阈值,第一加和结果和第二加和结果之间的比值小于比例阈值,丢弃流量不等于丢弃流量阈值;其中,第一加和结果为发送流量和第一预设值之间的加和,第二加和结果为接收流量和第二预设值之间的加和。
在上述方案中,确定模块4433,还用于获取误告警网络地址在第一时间段的多个流量,其中,多个流量与第一时间段中的多个时间点一一对应;将多个流量按照对应的时间点的先后顺序组合为观察值序列;根据观察值序列,确定误告警网络地址在第二时间段中的流量基线;根据置信区间对流量基线进行区间估计处理,以获得误告警网络地址在第二时间段的流量范围。
在上述方案中,确定模块4433,还用于对观察值序列进行差分平稳处理,以获得差分平稳序列;对差分平稳序列进行序列预测处理,以获得自相关系数和偏自相关系数;通过自相关系数构建差分平稳序列的自回归模型;通过偏自相关系数构建差分平稳序列的移动平均模型;将自回归模型中包括的项和移动平均模型中包括的项进行加和处理,并根据加和结果确定多个流量基值;其中,多个流量基值与第二时间段中的多个时间点一一对应;将多个流量基值按照对应的时间点的先后顺序进行拟合处理,得到流量基线。
在上述方案中,确定模块4433,还用于确定流量基线中包含的多个流量基值对应的标准差,其中,多个流量基值与第二时间段中的多个时间点一一对应;确定对应置信区间的置信系数,并确定置信系数和标准差之间的乘积;针对流量基线中的每个流量基值执行以下处理,以获得与多个流量基值一一对应的多个预测流量阈值:确定乘积和流量基值之间的加和,并将加和结果确定为对应流量基值的预测流量阈值;其中,多个预测流量阈值与第二时间段中的多个时间点一一对应。
在上述方案中,确定模块4433,还用于获取误告警网络地址在第一时间段中的流量变化数据;调用神经网络模型执行以下处理:提取流量变化数据的特征向量,将特征向量映射为分别对应多个候选流量范围的概率;将最大概率所对应的候选流量范围,确定为误告警网络地址在第二时间段的流量范围;其中,神经网络模型是基于误告警网络地址的历史流量变化数据、以及针对历史流量变化数据的标注数据进行训练得到,标注数据包括针对历史流量变化数据进行网络攻击检测的结果。
在上述方案中,检测模块4434,还用于当误告警网络地址在待检测时间点的流量超过预测流量阈值时,确定误告警网络地址在待检测时间点受到网络攻击;当误告警网络地址在待检测时间点的流量不超过预测流量阈值时,确定误告警网络地址在待检测时间点未受到网络攻击。
在上述方案中,网络攻击的检测装置443还包括:防护模块,用于当网络攻击检测的结果表征误告警网络地址在待检测时间点受到网络攻击时,调用防护设备使误告警网络地址的流量流经防护设备,以使防护设备对误告警网络地址的流量中包括的网络攻击流量进行过滤处理。
在上述方案中,防护设备对误告警网络地址的流量中包括的网络攻击流量进行过滤处理的方式,包括:获取误告警网络地址待接收的数据包;提取数据包中的指纹特征,并将指纹特征与数据库中的攻击特征进行比对,以确定指纹特征和攻击特征之间的相似度;当相似度超过相似度阈值时,丢弃数据包;当相似度不超过相似度阈值时,将数据包发送至误告警网络地址。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的网络攻击的检测方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的网络攻击的检测方法,例如,图4、图5、图6和图9示出的网络攻击的检测方法,计算机包括智能终端和服务器在内的各种计算设备。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标注语言文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,针对出现误告警的网络地址,通过对其在第一时间段的流量变化规律预测在第二时间段的流量范围,并基于在第二时间段的流量范围,对其在第二时间段的流量进行网络攻击检测,检测过程中耗费的时间和计算资源较少,能够避免出现检测的空窗期,从而提高检测的准确性。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (14)
1.一种网络攻击的检测方法,其特征在于,所述方法包括:
在多个待防护的网络地址中,识别出至少一个告警网络地址;
在所述至少一个告警网络地址中,识别出至少一个误告警网络地址;
基于所述误告警网络地址在第一时间段的流量变化规律,确定所述误告警网络地址在第二时间段的流量范围;
其中,所述基于所述误告警网络地址在第一时间段的流量变化规律,确定所述误告警网络地址在第二时间段的流量范围,包括:获取所述误告警网络地址在所述第一时间段的多个流量,其中,所述多个流量与所述第一时间段中的多个时间点一一对应;将所述多个流量按照对应的时间点的先后顺序组合为观察值序列;根据所述观察值序列,确定所述误告警网络地址在所述第二时间段中的流量基线;根据置信区间对所述流量基线进行区间估计处理,以获得所述误告警网络地址在所述第二时间段的流量范围;
其中,所述第一时间段早于所述第二时间段;
根据所述误告警网络地址在所述第二时间段的流量范围,确定所述第二时间段中的待检测时间点的预测流量阈值;
将所述误告警网络地址在所述待检测时间点的流量与所述预测流量阈值进行比较,以获得网络攻击检测的结果。
2.根据权利要求1所述的方法,其特征在于,所述在多个待防护的网络地址中,识别出至少一个告警网络地址,包括:
在所述多个待防护的网络地址中,识别出满足预检测条件的至少一个目标网络地址;
其中,所述预检测条件包括以下之一:
未获得所述目标网络地址在所述第二时间段的流量基线;
已经获得所述目标网络地址的流量基线,但所述目标网络地址的流量基线超出有效期;
针对每个所述目标网络地址执行以下预检测处理:
获取所述目标网络地址对应的静态流量阈值;
当所述目标网络地址的流量超过对应的静态流量阈值时,将所述目标网络地址确定为所述告警网络地址。
3.根据权利要求1所述的方法,其特征在于,所述在所述至少一个告警网络地址中,识别出至少一个误告警网络地址,包括:
针对每个所述告警网络地址执行以下操作:
获取所述告警网络地址在所述第一时间段的告警量;
获取针对所述告警网络地址的网络攻击的发送流量和接收流量、以及针对所述网络攻击的丢弃流量;
基于所述告警量、所述发送流量、所述接收流量、以及所述丢弃流量,对所述告警网络地址进行误告警识别处理,以确定所述告警网络地址是否是所述误告警网络地址。
4.根据权利要求3所述的方法,其特征在于,所述获取所述告警网络地址在所述第一时间段的告警量,包括:
获取所述告警网络地址在所述第一时间段的告警数据,其中,所述告警数据包括多个类型的网络攻击、以及对应每个类型的网络攻击的告警量;
将所述多个类型的网络攻击中针对传输层协议发起的网络攻击所对应的告警量进行加和处理,并将加和结果确定为所述告警网络地址在所述第一时间段的告警量。
5.根据权利要求3所述的方法,其特征在于,所述基于所述告警量、所述发送流量、所述接收流量、以及所述丢弃流量,对所述告警网络地址进行误告警识别处理,以确定所述告警网络地址是否是所述误告警网络地址,包括:
当满足以下全部条件时,确定所述告警网络地址是所述误告警网络地址:所述告警量大于告警量阈值,所述接收流量大于接收流量阈值,第一加和结果和第二加和结果之间的比值不小于比例阈值,所述丢弃流量等于丢弃流量阈值;
当满足以下条件至少之一时,确定所述告警网络地址不是所述误告警网络地址:所述告警量不大于告警量阈值,所述接收流量不大于接收流量阈值,第一加和结果和第二加和结果之间的比值小于比例阈值,所述丢弃流量不等于丢弃流量阈值;
其中,所述第一加和结果为所述发送流量和第一预设值之间的加和,所述第二加和结果为所述接收流量和第二预设值之间的加和。
6.根据权利要求1所述的方法,其特征在于,所述根据所述观察值序列,确定所述误告警网络地址在所述第二时间段中的流量基线,包括:
对所述观察值序列进行差分平稳处理,以获得差分平稳序列;
对所述差分平稳序列进行序列预测处理,以获得自相关系数和偏自相关系数;
通过所述自相关系数构建所述差分平稳序列的自回归模型;
通过所述偏自相关系数构建所述差分平稳序列的移动平均模型;
将所述自回归模型中包括的项和所述移动平均模型中包括的项进行加和处理,并根据加和结果确定多个流量基值;
其中,所述多个流量基值与所述第二时间段中的多个时间点一一对应;
将所述多个流量基值按照对应的时间点的先后顺序进行拟合处理,得到所述流量基线。
7.根据权利要求1所述的方法,其特征在于,所述根据置信区间对所述流量基线进行区间估计处理,以获得所述误告警网络地址在所述第二时间段的流量范围,包括:
确定所述流量基线中包含的多个流量基值对应的标准差,其中,所述多个流量基值与所述第二时间段中的多个时间点一一对应;
确定对应所述置信区间的置信系数,并确定所述置信系数和所述标准差之间的乘积;
针对所述流量基线中的每个所述流量基值执行以下处理,以获得与所述多个流量基值一一对应的多个预测流量阈值:确定所述乘积与所述流量基值之间的加和,并将加和结果确定为对应所述流量基值的预测流量阈值;
其中,所述多个预测流量阈值与所述第二时间段中的多个时间点一一对应。
8.根据权利要求1所述的方法,其特征在于,所述基于所述误告警网络地址在第一时间段的流量变化规律,确定所述误告警网络地址在第二时间段的流量范围,还包括:
获取所述误告警网络地址在所述第一时间段中的流量变化数据;
调用神经网络模型执行以下处理:
提取所述流量变化数据的特征向量,将所述特征向量映射为分别对应多个候选流量范围的概率;
将最大概率所对应的候选流量范围,确定为所述误告警网络地址在所述第二时间段的流量范围;
其中,所述神经网络模型是基于所述误告警网络地址的历史流量变化数据、以及针对所述历史流量变化数据的标注数据进行训练得到,所述标注数据包括针对所述历史流量变化数据进行网络攻击检测的结果。
9.根据权利要求1所述的方法,其特征在于,所述将所述误告警网络地址在所述待检测时间点的流量与所述预测流量阈值进行比较,以获得网络攻击检测的结果,包括:
当所述误告警网络地址在所述待检测时间点的流量超过所述预测流量阈值时,确定所述误告警网络地址在所述待检测时间点受到网络攻击;
当所述误告警网络地址在所述待检测时间点的流量不超过所述预测流量阈值时,确定所述误告警网络地址在所述待检测时间点未受到网络攻击。
10.根据权利要求1所述的方法,其特征在于,在所述将所述误告警网络地址在所述待检测时间点的流量与所述预测流量阈值进行比较,以获得网络攻击检测的结果之后,所述方法还包括:
当所述网络攻击检测的结果表征所述误告警网络地址在所述待检测时间点受到网络攻击时,调用防护设备使所述误告警网络地址的流量流经所述防护设备,以对所述误告警网络地址的流量中包括的网络攻击流量进行过滤处理。
11.根据权利要求10所述的方法,其特征在于,所述防护设备对所述误告警网络地址的流量中包括的网络攻击流量进行过滤处理的方式,包括:
获取所述误告警网络地址待接收的数据包;
提取所述数据包中的指纹特征,并将所述指纹特征与数据库中的攻击特征进行比对,以确定所述指纹特征和所述攻击特征之间的相似度;
当所述相似度超过相似度阈值时,丢弃所述数据包;
当所述相似度不超过相似度阈值时,将所述数据包发送至所述误告警网络地址。
12.一种网络攻击的检测装置,其特征在于,所述装置包括:
第一识别模块,用于在多个待防护的网络地址中,识别出至少一个告警网络地址;
第二识别模块,用于在所述至少一个告警网络地址中,识别出至少一个误告警网络地址;
确定模块,用于基于所述误告警网络地址在第一时间段的流量变化规律,确定所述误告警网络地址在第二时间段的流量范围;其中,所述基于所述误告警网络地址在第一时间段的流量变化规律,确定所述误告警网络地址在第二时间段的流量范围,包括:获取所述误告警网络地址在所述第一时间段的多个流量,其中,所述多个流量与所述第一时间段中的多个时间点一一对应;将所述多个流量按照对应的时间点的先后顺序组合为观察值序列;根据所述观察值序列,确定所述误告警网络地址在所述第二时间段中的流量基线;根据置信区间对所述流量基线进行区间估计处理,以获得所述误告警网络地址在所述第二时间段的流量范围;其中,所述第一时间段早于所述第二时间段;
检测模块,用于根据所述误告警网络地址在所述第二时间段的流量范围,确定所述第二时间段中的待检测时间点的预测流量阈值;将所述误告警网络地址在所述待检测时间点的流量与所述预测流量阈值进行比较,以获得网络攻击检测的结果。
13.一种电子设备,其特征在于,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现权利要求1至11任一项所述的网络攻击的检测方法。
14.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令被执行时用于实现权利要求1至11任一项所述的网络攻击的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110274827.1A CN113067804B (zh) | 2021-03-15 | 2021-03-15 | 网络攻击的检测方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110274827.1A CN113067804B (zh) | 2021-03-15 | 2021-03-15 | 网络攻击的检测方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113067804A CN113067804A (zh) | 2021-07-02 |
CN113067804B true CN113067804B (zh) | 2022-05-03 |
Family
ID=76560988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110274827.1A Active CN113067804B (zh) | 2021-03-15 | 2021-03-15 | 网络攻击的检测方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113067804B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113765914B (zh) * | 2021-09-03 | 2022-12-20 | 杭州安恒信息技术股份有限公司 | Cc攻击防护方法、***、计算机设备及可读存储介质 |
CN113872942B (zh) * | 2021-09-03 | 2023-11-14 | 国网四川省电力公司信息通信公司 | 一种电力物联网网络安全风险预测方法 |
CN114338206B (zh) * | 2021-12-31 | 2024-05-07 | 曙光网络科技有限公司 | Ddos攻击检测方法、装置、设备以及存储介质 |
CN114584491B (zh) * | 2022-04-21 | 2023-09-08 | 腾讯科技(深圳)有限公司 | 检测方法、装置、存储介质及设备 |
CN115589310A (zh) * | 2022-09-23 | 2023-01-10 | 中国电信股份有限公司 | 攻击检测方法、装置及相关设备 |
CN116015785B (zh) * | 2022-12-14 | 2024-04-30 | 中国联合网络通信集团有限公司 | 信息安全防护方法及电子设备、存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7788718B1 (en) * | 2002-06-13 | 2010-08-31 | Mcafee, Inc. | Method and apparatus for detecting a distributed denial of service attack |
CN104486141B (zh) * | 2014-11-26 | 2018-10-23 | 国家电网公司 | 一种误报自适应的网络安全态势预测方法 |
WO2020209918A2 (en) * | 2019-01-23 | 2020-10-15 | University Of North Dakota | Detection of cyber attacks targeting avionics systems |
CN111262851A (zh) * | 2020-01-14 | 2020-06-09 | 中移(杭州)信息技术有限公司 | Ddos攻击检测方法、装置、电子设备及存储介质 |
CN111541661A (zh) * | 2020-04-15 | 2020-08-14 | 全球能源互联网研究院有限公司 | 基于因果知识的电力信息网络攻击场景重构方法及*** |
CN112165445B (zh) * | 2020-08-13 | 2023-04-07 | 杭州数梦工场科技有限公司 | 用于检测网络攻击的方法、装置、存储介质及计算机设备 |
CN112134877A (zh) * | 2020-09-22 | 2020-12-25 | 北京华赛在线科技有限公司 | 网络威胁检测方法、装置、设备及存储介质 |
-
2021
- 2021-03-15 CN CN202110274827.1A patent/CN113067804B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113067804A (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113067804B (zh) | 网络攻击的检测方法、装置、电子设备及存储介质 | |
Santos et al. | Machine learning algorithms to detect DDoS attacks in SDN | |
US11601400B2 (en) | Aggregating alerts of malicious events for computer security | |
US10200382B2 (en) | System and method for detecting abnormal traffic behavior using infinite decaying clusters | |
KR102135024B1 (ko) | IoT 디바이스에 대한 사이버 공격의 종류를 식별하는 방법 및 그 장치 | |
CN109600363B (zh) | 一种物联网终端网络画像及异常网络访问行为检测方法 | |
CN114500080A (zh) | 保护计算机网络与***的抢占式响应安全*** | |
US20150052606A1 (en) | Method and a system to detect malicious software | |
CN109766695A (zh) | 一种基于融合决策的网络安全态势感知方法和*** | |
EP2612481B1 (en) | Method and system for classifying traffic | |
Xuan et al. | Detecting application denial-of-service attacks: A group-testing-based approach | |
Fredj | A realistic graph‐based alert correlation system | |
CN105051696A (zh) | 用于处理网络元数据的改进的流式处理方法及*** | |
Ahmed et al. | Intrusion Detection System in Software-Defined Networks Using Machine Learning and Deep Learning Techniques--A Comprehensive Survey | |
Ortega-Fernandez et al. | Network intrusion detection system for DDoS attacks in ICS using deep autoencoders | |
Khedr et al. | FMDADM: A multi-layer DDoS attack detection and mitigation framework using machine learning for stateful SDN-based IoT networks | |
CN112560029A (zh) | 基于智能分析技术的网站内容监测和自动化响应防护方法 | |
CN111224973A (zh) | 一种基于工业云的网络攻击快速检测*** | |
Garcia-Teodoro et al. | Automatic generation of HTTP intrusion signatures by selective identification of anomalies | |
Duravkin et al. | Method of slow-attack detection | |
Jadidi et al. | Automated detection-in-depth in industrial control systems | |
Razak | A study on IDS for preventing Denial of Service attack using outliers techniques | |
CN110839042B (zh) | 一种基于流量的自反馈恶意软件监测***和方法 | |
CN115134250A (zh) | 一种网络攻击溯源取证方法 | |
CN110266680B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40048679 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |