CN110855648B - 一种网络攻击的预警控制方法及装置 - Google Patents
一种网络攻击的预警控制方法及装置 Download PDFInfo
- Publication number
- CN110855648B CN110855648B CN201911067096.2A CN201911067096A CN110855648B CN 110855648 B CN110855648 B CN 110855648B CN 201911067096 A CN201911067096 A CN 201911067096A CN 110855648 B CN110855648 B CN 110855648B
- Authority
- CN
- China
- Prior art keywords
- attack
- alarm data
- data
- similarity
- clustering
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- 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
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及数据处理技术领域,公开了一种网络攻击的预警控制方法及装置,用于降低分析网络攻击的工作量,提高效率。所述方法包括:获取多个攻击告警数据;确定所述多个攻击告警数据中每两个攻击告警数据之间的数据相似度;根据每两个攻击告警数据之间的数据相似度,将所述多个攻击告警数据进行聚类,得到N个聚类类别;针对L个聚类类别中的每个聚类类别,从所述聚类类别中选择至少一个攻击告警数据进行预警控制。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种网络攻击的预警控制方法及装置。
背景技术
互联网已经成为人们生活中的一部分,互联网上承载着大量的数据信息。客户端与服务器基于通信协议进行数据通信,以数据包的形式传递信息。在进行数据通信的过程中,来自恶意攻击者的攻击常常存在。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。在云计算场景下,大量的用户信息都集中在云计算提供商,与传统的互联网业务相比,其信息更集中、信息资产价值更高、面临的攻击也会更多。云计算的安全解决方案需要根据不同业务的差异化安全需求,提供安全解决方案。
当用户访问一个网站时会向网站发送数据,这个发送的数据称为请求,网站收到请求后会将用户请求的数据返回,这个返回的数据称为响应。当攻击者对网站发动攻击时会在请求中加入攻击代码,试图触发网站漏洞,从而通过响应信息获取不应被攻击者获得的数据,比如,敏感信息或者能够导致进一步攻击的情报。为了对网络受到的攻击情况及时感知和控制,需要对攻击请求进行跟进和分析,而根据所有攻击请求进行跟进和分析则工作量巨大,效率较低。
发明内容
本申请实施例提供了一种网络攻击的预警控制方法及装置,用于降低分析网络攻击的工作量,提高效率。
根据本申请实施例的第一方面,提供了一种网络攻击的预警控制方法,包括:
获取多个攻击告警数据;
确定所述多个攻击告警数据中每两个攻击告警数据之间的数据相似度;
根据每两个攻击告警数据之间的数据相似度,将所述多个攻击告警数据进行聚类,得到N个聚类类别;
针对L个聚类类别中的每个聚类类别,从所述聚类类别中选择至少一个攻击告警数据进行预警控制;其中,所述L个聚类类别为从所述N个聚类类别中确定的,1≤L≤N。
根据本申请实施例的第二方面,提供了一种网络攻击的预警控制装置,所述装置包括:
获取单元,用于获取多个攻击告警数据;
确定单元,用于确定所述多个攻击告警数据中每两个攻击告警数据之间的数据相似度;
聚类单元,用于根据每两个攻击告警数据之间的数据相似度,将所述多个攻击告警数据进行聚类,得到N个聚类类别;
选择单元,用于针对L个聚类类别中的每个聚类类别,从所述聚类类别中选择至少一个攻击告警数据进行预警控制;其中,所述L个聚类类别为从所述N个聚类类别中确定的,1≤L≤N。
根据本申请实施例的第三方面,提供了一种计算设备,包括至少一个处理器、以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行本申请实施例提供的网络攻击的预警控制方法的步骤。
根据本申请实施例的第四方面,提供了一种存储介质所述存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本申请实施例提供的网络攻击的预警控制方法的步骤。
本申请实施例中,服务器获取多个攻击告警数据,确定其中每两个攻击告警数据之间的数据相似度,并根据数据相似度,将所有攻击告警数据进行聚类,得到N个聚类类别。之后,从N个聚类类别中确定L个聚类类别,并针对L个聚类类别中的每个聚类类别,从该聚类类别中选择至少一个攻击告警数据进行预警控制。其中,1≤L≤N。本申请实施例基于不同攻击告警数据之间具有一定的相似性,根据攻击告警数据之间的相似程度,将相似程度较高的攻击告警数据聚合为一类。针对每一类攻击告警数据,只需抽取一个或部分攻击告警数据进行攻击分析并预警控制。从而可以有效减小需要跟进和进一步分析的攻击告警数据的个数,降低了分析网络攻击的工作量,提高了工作效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请实施例中的一种网络攻击的预警控制***的***架构图;
图2为本申请实施例中的一种网络攻击的预警控制方法的流程图;
图3为本申请实施例中层次聚类算法的可视化示意图;
图4为本申请实施例中一种网络攻击的预警控制装置的结构方框图;
图5示出了本申请一个实施例提供的服务器的结构方框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面对本申请实施例中涉及的部分概念进行介绍。
网络攻击:是指针对计算机信息***、基础设施、计算机网络或个人计算机设备的,任何类型的进攻动作。对于计算机和计算机网络来说,破坏、揭露、修改、使软件或服务失去功能、在没有得到授权的情况下偷取或访问任何一计算机的数据,都会被视为于计算机和计算机网络中的攻击。攻击类型可以分为被动攻击和主动攻击。主动攻击会导致某些数据流的篡改和虚假数据流的产生。这类攻击可分为篡改、伪造消息数据和终端(拒绝服务)。被动攻击中攻击者不对数据信息做任何修改,截取/窃听是指在未经用户同意和认可的情况下攻击者获得了信息或相关数据。通常包括窃听、流量分析、破解弱加密的数据流等攻击方式。
攻击告警数据:服务器基于接收到的网络攻击记录于网络日志中的内容,可以基于攻击告警数据分析服务器受到的网络攻击的情况。
编辑距离:即Edit Distance,也称为Levenshtein Distance,是一个度量两个字符序列之间差异的字符串度量标准,两个单词之间的编辑距离是将一个单词转换为另一个单词所需的单字符编辑(***、删除或替换)的最小数量。
层次聚类:一种聚类方法,通过某种相似度测度计算节点之间的相似性,并按相似度由高到低排序,逐步重新连接个节点,该方法的优点是可随时停止划分。
攻击向量:指网络攻击检测***中识别的网络攻击类型。
人工智能:(Artificial Intelligence),英文缩写为AI,是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用***的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家***等。从人工智能的发展过程看,机器学习是继专家***之后人工智能应用的又一重要研究领域,也是人工智能和神经计算的核心研究课题之一。
请参考图1,其示出了本申请一个实施例提供的网络攻击的预警控制***架构图,包括第一服务器101、第一终端102、第二服务器103和第二终端104。
其中,第一终端102上安装有客户端或浏览器,第一服务器101可以为第一终端102上的客户端或浏览器提供后台服务。举例来说,第一服务器101可以接收第一终端102发送的超文本传输协议(Hyper Text Transfer Protocol,简称HTTP)请求,该HTTP请求用于请求第一服务器101向第一终端102提供服务。第一服务器101基于HTTP请求生成对应的HTTP响应,并将对应的HTTP响应发送至第一终端102。第一服务器101上的网络日志存储有从接收到的HTTP请求以及从对应的HTTP响应中提取出的数据部分。
第二服务器103可以获取第一服务器101上的网络日志中的内容,即攻击告警数据,并基于攻击告警数据分析第一服务器101受到的网络攻击的情况,将分析结果发送至第二终端104。在第二终端104上向第二终端104的用户例如运维工程师呈现,第二终端104的用户可以根据分析结果进一步详细分析第一服务器101受到的网络攻击的情况。
第一终端102和/或第二终端104可以是手机、平板电脑或者是专用的手持设备等具有无线通信功能的电子设备,也可以是个人计算机(personal computer,简称PC),笔记本电脑,服务器等有线接入方式连接上网的设备。
第一服务器101和/或第二服务器103可以是计算机等网络设备。第一服务器101和/或第二服务器103可以是一个独立的设备,也可以是多个服务器所形成的服务器集群。优选地,第一服务器101和/或第二服务器103可以采用云计算技术进行信息处理。
***中的网络可以为INTERNET网络,也可以为全球移动通信***(Global Systemfor Mobile Communications,简称GSM)、长期演进(long term evolution,简称LTE)***等移动通信***。
需要注意的是,上文提及的应用场景仅是为了便于理解本申请的精神和原理而示出,本申请实施例在此方面不受任何限制。相反,本申请实施例可以应用于适用的任何场景。
下面结合图1所示的应用场景,对本申请实施例提供的数据处理方法进行说明。
请参考图2,本申请实施例提供了一种网络攻击的预警控制方法,如图2所示,方法包括:
步骤S201:获取多个攻击告警数据。
具体实施过程中,分析服务器可以读取一个或多个后台服务器的网络日志即web日志。一个后台服务器接收到一个请求后,均会在网路日志中写入一条记录,对于攻击请求而言,后台服务器也会在网络日志中写入对应的记录。分析服务器从后台服务器的网络日志中获取攻击请求对应的攻击告警数据,其中,一个攻击告警数据对应于一个攻击请求。
步骤S202:确定多个攻击告警数据中每两个攻击告警数据之间的数据相似度。
举例来说,分析服务器获取的攻击告警数据为数据A、数据B、数据C和数据D,共4个攻击告警数据。则分析服务器需要确定数据A与数据B、数据A与数据C、数据A与数据D、数据B与数据C、数据B与数据D、数据C与数据D之间的相似度,即会得到6个相似度。
具体地,本申请实施例中计算数据相似度的方法可以为计算数据之间的编辑距离,也可以为通过局部敏感哈希的方式来计算数据之间的相似性,或者为利用其它计算数据相似度的方式。
步骤S203:根据每两个攻击告警数据之间的数据相似度,将多个攻击告警数据进行聚类,得到N个聚类类别。
具体地,本申请实施例中可以利用层次聚类的方法将多个攻击告警数据进行聚类,也可以利用DBSCAN等基于密度的算法进行聚类,或者为利用其它聚类方式将攻击告警数据进行聚类。
步骤S204:针对L个聚类类别中的每个聚类类别,从该聚类类别中选择至少一个攻击告警数据进行预警控制。
其中,L个聚类类别为从N个聚类类别中确定的,1≤L≤N。
较佳地,上述L=N,即本申请实施例将多个攻击告警数据聚类为N个聚类类别后,针对N个聚类类别中的每个聚类类别,从该聚类类别中选择攻击告警数据。一般来说,从每个聚类类别中均选择一个攻击告警数据即可,当然,也可以从一个聚类类别中选择任意数量的攻击告警数据进行预警控制。
从不同聚类类别中选择攻击告警数据的个数可以相同,也可以不同。例如,针对3个聚类类别,可以从第一个聚类类别中选择2个攻击告警数据,从第二个聚类类别中选择1个攻击告警数据,从第三个聚类类别中选择3个攻击告警数据。或者从第一个聚类类别、第二个聚类类别、第三个聚类类别中分别选择2个攻击告警数据。
本申请实施例中,服务器获取多个攻击告警数据,确定其中每两个攻击告警数据之间的数据相似度,并根据数据相似度,将所有攻击告警数据进行聚类,得到N个聚类类别。之后,从N个聚类类别中确定L个聚类类别,并针对L个聚类类别中的每个聚类类别,从该聚类类别中选择至少一个攻击告警数据进行预警控制。其中,1≤L≤N。本申请实施例基于不同攻击告警数据之间具有一定的相似性,根据攻击告警数据之间的相似程度,将相似程度较高的攻击告警数据聚合为一类。针对每一类攻击告警数据,只需抽取一个或部分攻击告警数据进行攻击分析并预警控制。从而可以有效减小需要跟进和进一步分析的攻击告警数据的个数,降低了分析网络攻击的工作量,提高了工作效率。
为了便于对比两个攻击告警数据之间的数据相似度,本申请实施例针对攻击告警数据设定多个攻击特征。则上述步骤S202,确定多个攻击告警数据中每两个攻击告警数据之间的数据相似度,具体包括:
针对任何两个攻击告警数据,分别根据其中一个攻击告警数据中的M个特征字段与另一个攻击告警数据中的M个特征字段之间的字段相似度,确定两个攻击告警数据之间的数据相似度;
其中M个特征字段是设定的M个攻击特征分别对应的特征字段。
具体实施过程中,攻击告警数据的攻击特征可以包括源IP(互联网协议地址,Internet Protocol)、请求host(主机名)、请求CGI(通用网关接口,Common GatewayInterface)、请求参数、请求内容、请求Cookie(小型文本数据)、攻击向量等。其中,源IP和请求host用于标识攻击请求的攻击对象;请求CGI请求参数、请求内容、请求Cookie、攻击向量用于描述攻击请求的攻击方式。
对比两个攻击告警数据的数据相似度,是利用两个攻击告警数据对应于同一个攻击特征的特征字段进行字段相似度比较来确定的。举例来说,攻击告警数据A的源IP为xxxxx,请求host为yyyyy,请求CGI为zzzz;攻击告警数据B的源IP为wwwww,请求host为rrrrr,请求CGI为uuuu。则对比攻击告警数据A与攻击告警数据B之间的相似度时,需要分别对比攻击告警数据A的源IP与攻击告警数据B的源IP之间的字段相似度、攻击告警数据A的请求host与攻击告警数据B的请求host之间的字段相似度、攻击告警数据A的请求CGI与攻击告警数据B的请求CGI之间的字段相似度等,即对比xxxxx与wwwww之间的字段相似度、yyyyy与rrrrr之间的字段相似度、zzzz与uuuu之间的字段相似度等。
为了提高相似度计算的准确性,进而提高聚类的准确性,本申请实施例为不同的攻击特征分配权重。则上述根据其中一个攻击告警数据中的M个特征字段与另一个攻击告警数据中的M个特征字段之间的字段相似度,确定两个攻击告警数据之间的数据相似度,包括:
分别确定两个攻击告警数据的M个攻击特征中,每个攻击特征对应的特征字段之间的字段相似度;
根据每个攻击特征的字段相似度以及对应的权重,确定所述第一攻击告警数据与所述第二攻击告警数据之间的数据相似度。
也就是说,不同攻击特征的权重不同,例如,源IP的权重为20%、请求host的权重为15%,请求CGI的权重为5%……计算两个攻击告警数据之间的数据相似度时,还需考虑不同攻击特征的权重。
较佳的,将多个字段相似度的加权平均值作为两个攻击告警数据之间的数据相似度。例如,攻击告警数据A的源IP与攻击告警数据B的源IP之间的字段相似度为x,攻击告警数据A的请求host与攻击告警数据B的请求host之间的字段相似度为y,攻击告警数据A的请求CGI与攻击告警数据B的请求CGI之间的字段相似度为z,……则攻击告警数据A与攻击告警数据B之间的数据相似度S=20%x+15%y+5%z+……
总结来说,即攻击告警数据A与攻击告警数据B之间的字段相似度分别为q1、q2、q3、……qn,对应的权重分别为p1、p2、p3、……pn,则攻击告警数据A与攻击告警数据B之间的数据相似度S根据以下公式计算:
S=p1 q1+p2 q2+p3 q3……+pn qn……公式1
其中,p1+p2+p3……+pn=1。
进一步地,可以选择任意计算文本相似度的方式计算字段相似度。本申请实施例中以编辑距离为例进行说明。上述分别确定两个攻击告警数据的M个攻击特征中,每个攻击特征对应的特征字段之间的字段相似度,包括:
针对所述M个攻击特征中的各个攻击特征,确定所述攻击特征对应的两个特征字段之间的编辑距离;
将所述编辑距离除以所述攻击特征对应的两个特征字段之中的最大字符串长度,作为所述攻击特征对应的特征字段之间的字段相似度。
其中,编辑距离是用来度量两个数据相似程度的指标。也就是说,编辑距离指的是在两个字符串<w1,w2>之间,由其中一个字符串w1转换为另一个字符串w1所需要的最少单字符编辑操作次数。在这里定义的单字符编辑操作有且仅有三种:***(Insertion)、删除(Deletion)、替换(Substitution)。譬如,"kitten"和"sitting"这两个字符串,由"kitten"转换为"sitting"需要的最少单字符编辑操作有:1.kitten→sitten(substitution of"s"for"k"),即将k转为s;
2.sitten→sittin(substitution of"i"for"e"),即将e转为i;
3.sittin→sitting(insertion of"g"at the end),即将g删除。
因此,"kitten"和"sitting"这两个字符串之间的编辑距离为3。
进一步地,本申请实施例中将编辑距离除以两个特征字段之中的最大字符串长度。仍以上述字符串"kitten"和"sitting"为例。字符串"kitten"的字符串长度为6,"sitting"的字符串长度为7,则其中最大字符串长度为7,则将编辑距离3除以最大字符串长度7作为字符串"kitten"与"sitting"之间的字段相似度,也就是说,"kitten"与"sitting"之间的字段相似度为3/7。
根据上述方式计算出每两个攻击告警数据之间的数据相似度之后,则将所有攻击告警数据进行聚类。可以选择任意聚类算法将攻击告警数据进行聚类。本申请实施例中以层次聚类算法为例进行说明。上述步骤203,根据每两个攻击告警数据之间的数据相似度,将多个攻击告警数据进行聚类,得到N个聚类类别,包括:
利用层次聚类算法,根据每两个攻击告警数据之间的数据相似度,将所述多个攻击告警数据进行多层聚类,直至聚类类别的个数小于或等于类别个数阈值,其中,不同聚类层数对应的聚类类别的个数不同;所述类别个数阈值小于或等于N;
针对任一聚类层数,根据所述聚类层数对应的所有聚类类别,确定所述聚类层数对应的轮廓系数;
将轮廓系数最大的聚类层数对应的所有聚类类别作为所述N个聚类类别。
其中,层次聚类方法的基本思想是:通过某种相似性测度计算节点之间的相似性,并按相似度由高到低排序,逐步重新连接个节点。该方法的优点是可随时停止划分,主要步骤如下:
1、计算数据样本之间的相似度;
2、假设每个数据样本为一个聚类类别;
3、循环:合并相似度最高的两个聚类类别,然后更新相似度矩阵;
4、当聚类类别的个数达到阈值时,循环终止。
为了更好的理解,下面对算法进行具体说明。假设有6个攻击告警数据{A、B、C、D、E、F}。
第一步,假设每个攻击告警数据为一个聚类类别,这时有6个聚类类别。计算每个攻击告警数据之间的相似度。
第二步,比较每两个攻击告警数据之间的相似度,若B和C的相似度最高,则合并B和C为一个聚类类别,则还有5个聚类类别,分别为A,BC,D,E,F。
第三步,比较每两个聚类类别之间的相似度,若BC和D的相似度最高,则合并BC和D为一个聚类类别,得到4个聚类类别,分别为A,BCD,E,F。
第四步,比较每两个聚类类别之间的相似度,若E和F的相似度最高,则合并E和F为一个聚类类别,得到3个聚类类别,分别为A,BCD,EF。
第五步,比较每两个聚类类别之间的相似度,若BCD和EF的相似度最高,则合并BCD和EF为一个聚类类别,得到2个聚类类别,分别为A,BCDEF。
第六步,最后合并聚类类别A和BCDEF。
需要说明的是,若类别个数阈值为2,则上述过程执行至第五步即结束聚类;若类别个数阈值为3,则上述过程执行至第四步即结束聚类。
为了记录聚类类别的聚合过程,可以利用如图3所示的树状图对上述层次聚类算法进行可视化表示。
上述过程中,聚类类别之间的相似度,可以基于聚类类别之中攻击告警数据之间的相似度表示。例如,可以为最小相似度表示、最大相似度表示、平均相似度表示、中心相似度表示、或者最小方差等。举例来说,最小相似度表示,为针对聚类类别C1和C2之间的相似度,由两个聚类类别的相似度最高的攻击告警数据之间的数据相似度,作为C1和C2之间的相似度。其余方式可类比最小相似度表示,这里不做赘述。
同时,为了衡量聚类的效果,本申请实施例使用轮廓系数silhoutte_score作为聚类效果的评价指标。例如,设置类别个数阈值为2,上述过程执行至第五步即结束聚类,每一步聚类完成,分别计算一个轮廓系数,选择silhouette_score最高的聚类类别个数作为最终的聚类类别个数。例如,上述第一步至第五步中,3个聚类类别时,轮廓系数最大,则最终的聚类类别个数为3,聚类类别分别为A,BCD,EF。
其中,轮廓系数根据以下公式计算:
其中,j为每个聚类类别的类内平均相似度,k为一个攻击告警数据与其最近的非同聚类类别的攻击告警数据之间的相似度。
此外,由于本申请实施例中,攻击告警数据进行聚类的基础为获取较大数量的攻击告警数据,因此,在计算之前需要进行数据过滤。获取多个攻击告警数据之后,还包括:
确定每个攻击告警数据中的标识字段;
确定标识字段相同的攻击告警数据的告警个数;
将告警个数小于过滤阈值的标识字段对应的攻击告警数据删除。
具体实施过程中,标识字段可以为源IP,或者攻击向量,或者源IP和攻击向量。即确定同一个源IP和攻击向量的攻击告警数据的告警个数。若告警个数小于过滤阈值,则将同一个源IP和攻击向量的攻击告警数据均删除。即数量较少的攻击告警数据无需进行聚合,因此不在本申请实施例的考虑之内。
下面以具体实施例对上述流程进行详细介绍,具体实施例包括以下步骤:
分析服务器从后台服务器的网络日志中获取多个攻击告警数据。
确定每个攻击告警数据的源IP、请求host、请求CGI、请求参数、请求内容、请求Cookie、攻击向量字段。
确定相同源IP和攻击向量字段的攻击告警数据的告警个数,若告警个数小于过滤阈值,则将攻击告警数据删除;若大于或等于过滤阈值,则执行后续步骤。
基于攻击特征源IP、请求host、请求CGI、请求参数、请求内容、请求Cookie、攻击向量字段,利用编辑距离算法,计算每两个攻击告警数据的对应特征字段之间的字段相似度。
根据特征字段之间的字段相似度,以及对应的权重,计算每两个攻击告警数据之间的数据相似度。
利用层次聚类算法,根据每两个攻击告警数据之间的数据相似度,将所有攻击告警数据进行多层聚类,直至聚类类别的个数小于或等于类别个数阈值。其中,每聚类一次,均计算一个轮廓系数。
将轮廓系数最大的聚类层数对应的所有聚类类别作为最终的聚类类别。
从每一个聚类类别中任选一个攻击告警数据,进行预警控制。
下述为本申请装置实施例,对于装置实施例中未详尽描述的细节,可以参考上述一一对应的方法实施例。
请参考图4,其示出了本申请一个实施例提供的数据处理的结构方框图。该跨链数据处理装置通过硬件或者软硬件的结合实现成为图1中服务器103的全部或者一部分。该装置包括:获取单元401、确定单元402、聚类单元403、选择单元404、筛选单元405。
获取单元401,用于获取多个攻击告警数据;
确定单元402,用于确定所述多个攻击告警数据中每两个攻击告警数据之间的数据相似度;
聚类单元403,用于根据每两个攻击告警数据之间的数据相似度,将所述多个攻击告警数据进行聚类,得到N个聚类类别;
选择单元404,用于针对L个聚类类别中的每个聚类类别,从所述聚类类别中选择至少一个攻击告警数据进行预警控制;其中,所述L个聚类类别为从所述N个聚类类别中确定的,1≤L≤N。
一种可选的实施例中,所述确定单元402,具体用于:
针对任何两个攻击告警数据,分别根据其中一个攻击告警数据中的M个特征字段与另一个攻击告警数据中的M个特征字段之间的字段相似度,确定两个攻击告警数据之间的数据相似度;
其中所述M个特征字段是设定的M个攻击特征分别对应的特征字段。
一种可选的实施例中,所述确定单元402,具体用于:
分别确定两个攻击告警数据的M个攻击特征中,每个攻击特征对应的特征字段之间的字段相似度;
根据每个攻击特征的字段相似度以及对应的权重,确定所述第一攻击告警数据与所述第二攻击告警数据之间的数据相似度。
一种可选的实施例中,所述确定单元402,具体用于:
针对所述M个攻击特征中的各个攻击特征,确定所述攻击特征对应的两个特征字段之间的编辑距离;
将所述编辑距离除以所述攻击特征对应的两个特征字段之中的最大字符串长度,作为所述攻击特征对应的特征字段之间的字段相似度。
一种可选的实施例中,所述聚类单元403,具体用于:
利用层次聚类算法,根据每两个攻击告警数据之间的数据相似度,将所述多个攻击告警数据进行多层聚类,直至聚类类别的个数小于或等于类别个数阈值,其中,不同聚类层数对应的聚类类别的个数不同;所述类别个数阈值小于或等于N;
针对任一聚类层数,根据所述聚类层数对应的所有聚类类别,确定所述聚类层数对应的轮廓系数;
将轮廓系数最大的聚类层数对应的所有聚类类别作为所述N个聚类类别。
一种可选的实施例中,还包括筛选单元405,用于:
确定每个攻击告警数据中的标识字段;
确定标识字段相同的攻击告警数据的告警个数;
将告警个数小于过滤阈值的标识字段对应的攻击告警数据删除。
请参考图5,其示出了本申请一个实施例提供的服务器的结构方框图。该服务器800实现为图1中的服务器103。具体来讲:
服务器800包括中央处理单元(CPU)801、包括随机存取存储器(RAM)802和只读存储器(ROM)803的***存储器804,以及连接***存储器804和中央处理单元801的***总线805。所述服务器800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)806,和用于存储操作***813、应用程序814和其他程序模块815的大容量存储设备807。
所述基本输入/输出***806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中所述显示器808和输入设备809都通过连接到***总线805的输入输出控制器810连接到中央处理单元801。所述基本输入/输出***806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备807通过连接到***总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机可读介质为服务器800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的***存储器804和大容量存储设备807可以统称为存储器。
根据本申请的各种实施例,所述服务器800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器800可以通过连接在所述***总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机***(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本申请实施例提供的网络攻击的预警控制方法的指令。
本领域普通技术人员可以理解上述实施例的网络攻击的预警控制方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
本领域普通技术人员可以理解上述实施例的网络攻击的预警控制方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种网络攻击的预警控制方法,其特征在于,包括:
获取多个攻击告警数据;
确定每个攻击告警数据中的标识字段;确定所述标识字段相同的攻击告警数据的告警个数,将所述告警个数小于过滤阈值的标识字段对应的攻击告警数据删除;
确定筛选后的攻击告警数据中每两个攻击告警数据之间的数据相似度;
利用层次聚类算法,根据每两个攻击告警数据之间的数据相似度,将所述多个攻击告警数据进行多层聚类,直至聚类类别的个数小于或等于类别个数阈值,其中,不同聚类层数对应的聚类类别的个数不同;所述类别个数阈值小于或等于N;所述聚类类别之间的相似度是基于所述聚类类别之中攻击告警数据之间的最小相似度表示或中心相似度表示或最小方差表示;
针对任一聚类层数,根据所述聚类层数对应的所有聚类类别,确定所述聚类层数对应的轮廓系数;
获取轮廓系数最大的聚类层数对应的N个聚类类别;
针对L个聚类类别中的每个聚类类别,从所述聚类类别中选择至少一个攻击告警数据进行预警控制;其中,所述L个聚类类别为从所述N个聚类类别中确定的,1≤L≤N。
2.如权利要求1所述的方法,其特征在于,所述确定所述多个攻击告警数据中每两个攻击告警数据之间的数据相似度,具体包括:
针对任何两个攻击告警数据,分别根据其中一个攻击告警数据中的M个特征字段与另一个攻击告警数据中的M个特征字段之间的字段相似度,确定两个攻击告警数据之间的数据相似度;
其中所述M个特征字段是设定的M个攻击特征分别对应的特征字段。
3.如权利要求2所述的方法,其特征在于,所述两个攻击告警数据包括第一攻击告警数据与第二攻击告警数据;
所述根据其中一个攻击告警数据中的M个特征字段与另一个攻击告警数据中的M个特征字段之间的字段相似度,确定两个攻击告警数据之间的数据相似度,包括:
分别确定两个攻击告警数据的M个攻击特征中,每个攻击特征对应的特征字段之间的字段相似度;
根据每个攻击特征的字段相似度以及对应的权重,确定所述第一攻击告警数据与所述第二攻击告警数据之间的数据相似度。
4.如权利要求3所述的方法,其特征在于,所述分别确定两个攻击告警数据的M个攻击特征中,每个攻击特征对应的特征字段之间的字段相似度,包括:
针对所述M个攻击特征中的各个攻击特征,确定所述攻击特征对应的两个特征字段之间的编辑距离;
将所述编辑距离除以所述攻击特征对应的两个特征字段之中的最大字符串长度,作为所述攻击特征对应的特征字段之间的字段相似度。
5.一种网络攻击的预警控制装置,其特征在于,所述装置包括:
获取单元,用于获取多个攻击告警数据;确定每个攻击告警数据中的标识字段;确定所述标识字段相同的攻击告警数据的告警个数,将所述告警个数小于过滤阈值的标识字段对应的攻击告警数据删除;
确定单元,用于确定筛选后的攻击告警数据中每两个攻击告警数据之间的数据相似度;
聚类单元,利用层次聚类算法,根据每两个攻击告警数据之间的数据相似度,将所述多个攻击告警数据进行多层聚类,直至聚类类别的个数小于或等于类别个数阈值,其中,不同聚类层数对应的聚类类别的个数不同;所述类别个数阈值小于或等于N;所述聚类类别之间的相似度是基于所述聚类类别之中攻击告警数据之间的最小相似度表示或中心相似度表示或最小方差表示;针对任一聚类层数,根据所述聚类层数对应的所有聚类类别,确定所述聚类层数对应的轮廓系数;获取轮廓系数最大的聚类层数对应的N个聚类类别;
选择单元,用于针对L个聚类类别中的每个聚类类别,从所述聚类类别中选择至少一个攻击告警数据进行预警控制;其中,所述L个聚类类别为从所述N个聚类类别中确定的,1≤L≤N。
6.如权利要求5所述的装置,其特征在于,所述确定单元,具体用于:
针对任何两个攻击告警数据,分别根据其中一个攻击告警数据中的M个特征字段与另一个攻击告警数据中的M个特征字段之间的字段相似度,确定两个攻击告警数据之间的数据相似度;
其中所述M个特征字段是设定的M个攻击特征分别对应的特征字段。
7.如权利要求6所述的装置,其特征在于,所述两个攻击告警数据包括第一攻击告警数据与第二攻击告警数据,所述确定单元,具体用于:
分别确定两个攻击告警数据的M个攻击特征中,每个攻击特征对应的特征字段之间的字段相似度;
根据每个攻击特征的字段相似度以及对应的权重,确定所述第一攻击告警数据与所述第二攻击告警数据之间的数据相似度。
8.如权利要求7所述的装置,其特征在于,所述确定单元,具体用于:
针对所述M个攻击特征中的各个攻击特征,确定所述攻击特征对应的两个特征字段之间的编辑距离;
将所述编辑距离除以所述攻击特征对应的两个特征字段之中的最大字符串长度,作为所述攻击特征对应的特征字段之间的字段相似度。
9.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至4任一项所述的网络攻击的预警控制方法。
10.一种存储介质所述存储介质存储有计算机指令,其特征在于,当所述计算机指令在计算机上运行时,使得计算机执行权利要求1至4任一项所述的网络攻击的预警控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067096.2A CN110855648B (zh) | 2019-11-04 | 2019-11-04 | 一种网络攻击的预警控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911067096.2A CN110855648B (zh) | 2019-11-04 | 2019-11-04 | 一种网络攻击的预警控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110855648A CN110855648A (zh) | 2020-02-28 |
CN110855648B true CN110855648B (zh) | 2021-11-19 |
Family
ID=69598827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911067096.2A Active CN110855648B (zh) | 2019-11-04 | 2019-11-04 | 一种网络攻击的预警控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110855648B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113496179B (zh) * | 2020-04-08 | 2023-12-26 | 中国电信股份有限公司 | 攻击者分析方法和装置 |
CN114205094B (zh) * | 2020-08-27 | 2023-04-14 | 腾讯科技(深圳)有限公司 | 一种网络攻击告警的处理方法、装置、设备和存储介质 |
CN112070161B (zh) * | 2020-09-08 | 2024-04-16 | 南方电网科学研究院有限责任公司 | 一种网络攻击事件分类方法、装置、终端及存储介质 |
CN112564988B (zh) * | 2021-02-19 | 2021-06-18 | 腾讯科技(深圳)有限公司 | 告警处理方法、装置及电子设备 |
CN113315785B (zh) * | 2021-06-23 | 2023-05-12 | 深信服科技股份有限公司 | 一种告警消减方法、装置、设备和计算机可读存储介质 |
CN113765923B (zh) * | 2021-09-08 | 2023-04-07 | 上海观安信息技术股份有限公司 | 一种web端参数检测方法、装置、***及计算机存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853284A (zh) * | 2010-05-24 | 2010-10-06 | 哈尔滨工程大学 | 面向互联网的有意义串的提取方法及装置 |
CN104182517A (zh) * | 2014-08-22 | 2014-12-03 | 北京羽乐创新科技有限公司 | 数据处理的方法及装置 |
CN105208040A (zh) * | 2015-10-12 | 2015-12-30 | 北京神州绿盟信息安全科技股份有限公司 | 一种网络攻击检测方法及装置 |
CN106021063A (zh) * | 2016-05-09 | 2016-10-12 | 北京蓝海讯通科技股份有限公司 | 聚合事件消息的方法、应用及*** |
CN106991033A (zh) * | 2017-04-01 | 2017-07-28 | 北京蓝海讯通科技股份有限公司 | 通知告警消息的方法、装置、服务器及可读存储介质 |
CN107169356A (zh) * | 2017-05-03 | 2017-09-15 | 上海上讯信息技术股份有限公司 | 统方分析方法及设备 |
CN107358075A (zh) * | 2017-07-07 | 2017-11-17 | 四川大学 | 一种基于层次聚类的虚假用户检测方法 |
CN108415910A (zh) * | 2017-02-09 | 2018-08-17 | 中国传媒大学 | 基于时间序列的话题发展聚类分析***和方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105227528B (zh) * | 2014-06-26 | 2018-09-28 | 华为技术有限公司 | 对Web服务器群的攻击的检测方法和装置 |
CN106375339B (zh) * | 2016-10-08 | 2019-07-09 | 电子科技大学 | 基于事件滑动窗口的攻击模式检测方法 |
US10721254B2 (en) * | 2017-03-02 | 2020-07-21 | Crypteia Networks S.A. | Systems and methods for behavioral cluster-based network threat detection |
CN109445936B (zh) * | 2018-10-12 | 2020-05-19 | 深圳先进技术研究院 | 一种云计算负载聚类方法、***及电子设备 |
CN109933984B (zh) * | 2019-02-15 | 2020-10-27 | 中时瑞安(北京)网络科技有限责任公司 | 一种最佳聚类结果筛选方法、装置和电子设备 |
CN110311925B (zh) * | 2019-07-30 | 2022-06-28 | 百度在线网络技术(北京)有限公司 | DDoS反射型攻击的检测方法及装置、计算机设备与可读介质 |
-
2019
- 2019-11-04 CN CN201911067096.2A patent/CN110855648B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101853284A (zh) * | 2010-05-24 | 2010-10-06 | 哈尔滨工程大学 | 面向互联网的有意义串的提取方法及装置 |
CN104182517A (zh) * | 2014-08-22 | 2014-12-03 | 北京羽乐创新科技有限公司 | 数据处理的方法及装置 |
CN105208040A (zh) * | 2015-10-12 | 2015-12-30 | 北京神州绿盟信息安全科技股份有限公司 | 一种网络攻击检测方法及装置 |
CN106021063A (zh) * | 2016-05-09 | 2016-10-12 | 北京蓝海讯通科技股份有限公司 | 聚合事件消息的方法、应用及*** |
CN108415910A (zh) * | 2017-02-09 | 2018-08-17 | 中国传媒大学 | 基于时间序列的话题发展聚类分析***和方法 |
CN106991033A (zh) * | 2017-04-01 | 2017-07-28 | 北京蓝海讯通科技股份有限公司 | 通知告警消息的方法、装置、服务器及可读存储介质 |
CN107169356A (zh) * | 2017-05-03 | 2017-09-15 | 上海上讯信息技术股份有限公司 | 统方分析方法及设备 |
CN107358075A (zh) * | 2017-07-07 | 2017-11-17 | 四川大学 | 一种基于层次聚类的虚假用户检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110855648A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110855648B (zh) | 一种网络攻击的预警控制方法及装置 | |
Alaiz-Moreton et al. | Multiclass Classification Procedure for Detecting Attacks on MQTT‐IoT Protocol | |
US11190562B2 (en) | Generic event stream processing for machine learning | |
Thirimanne et al. | Deep neural network based real-time intrusion detection system | |
CN112231592A (zh) | 基于图的网络社团发现方法、装置、设备以及存储介质 | |
Narasimha Mallikarjunan et al. | DDAM: detecting DDoS attacks using machine learning approach | |
US11797617B2 (en) | Method and apparatus for collecting information regarding dark web | |
Han et al. | Machine learning for Internet of things anomaly detection under low-quality data | |
US20200004905A1 (en) | System and methods for complex it process annotation, tracing, analysis, and simulation | |
CN110572402A (zh) | 基于网络访问行为分析的互联网托管网站检测方法、***和可读存储介质 | |
CN115168848B (zh) | 基于大数据分析拦截的拦截反馈处理方法 | |
Luz et al. | Data preprocessing and feature extraction for phishing URL detection | |
Wei et al. | Age: authentication graph embedding for detecting anomalous login activities | |
Vinutha et al. | Analysis of NSL-KDD dataset using K-means and canopy clustering algorithms based on distance metrics | |
WO2022142032A1 (zh) | 手写签名校验方法、装置、计算机设备及存储介质 | |
Alshehri | APP-NTS: a network traffic similarity-based framework for repacked Android apps detection | |
Batiuk et al. | Ontology Model and Ontological Graph for Development of Decision Support System of Personal Socialization by Common Relevant Interests. | |
Zhang et al. | A novel anomaly detection algorithm based on trident tree | |
Panja et al. | Anomaly detection in iot using extended isolation forest | |
KR20210023690A (ko) | 컨텐츠 기여도 측정 방법 및 장치 | |
Basurto et al. | Dimensionality-reduction methods for the analysis of web traffic | |
Li et al. | Power intelligent terminal intrusion detection based on deep learning and cloud computing | |
Lu et al. | Federated learning based on optics clustering optimization | |
She et al. | An improved malicious code intrusion detection method based on target tree for space information network | |
KR102463070B1 (ko) | 콘텐츠 대행관리 시스템 및 그 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40021989 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |