CN104967629B - 网络攻击检测方法及装置 - Google Patents

网络攻击检测方法及装置 Download PDF

Info

Publication number
CN104967629B
CN104967629B CN201510419362.9A CN201510419362A CN104967629B CN 104967629 B CN104967629 B CN 104967629B CN 201510419362 A CN201510419362 A CN 201510419362A CN 104967629 B CN104967629 B CN 104967629B
Authority
CN
China
Prior art keywords
detected
accessed
period
domain name
access
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.)
Expired - Fee Related
Application number
CN201510419362.9A
Other languages
English (en)
Other versions
CN104967629A (zh
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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201510419362.9A priority Critical patent/CN104967629B/zh
Publication of CN104967629A publication Critical patent/CN104967629A/zh
Application granted granted Critical
Publication of CN104967629B publication Critical patent/CN104967629B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种网络攻击检测方法及装置。其中,该方法包括:获取在待检测时段内,访问源访问目标资源的次数,其中,目标资源为与目标域名相关联的至少一个资源;根据访问源访问目标资源的次数,计算待检测条件熵,其中,待检测条件熵为在待检测时段内,当目标资源被访问时访问源的条件熵;判断待检测条件熵是否落入第一检测数据集,其中,在判断出待检测条件熵落入第一检测数据集的情况下,确定在待检测时段内,目标域名受到攻击。本发明解决了由于相关技术中仅根据访问源的访问频率或者仅根据目标资源被访问的频率,判断目标域名是否受到攻击,而造成的网络攻击检测准确率低的技术问题。

Description

网络攻击检测方法及装置
技术领域
本发明涉及互联网领域,具体而言,涉及一种网络攻击检测方法及装置。
背景技术
CC攻击(Challenge Collapsar)是应用层的一种DDos攻击方式,其原理基于木桶理论,主要针对应用层中需要较多资源开销的应用进行攻击,例如频繁访问需要占用服务器大量的CPU资源进行运算的页面、或需要大量访问数据库的应用。CC攻击的主要特点是攻击的流量不需要很大,访问请求数量也不需要很多,但是却能占用服务器大量资源,使服务器瘫痪。
目前对于CC攻击的检测方法大多是从访问源,例如发出请求的IP,入手,通过实时统计IP的请求频率,并根据事先设定的阈值来判断是否受到攻击;又或者是从被请求的资源入手,通过统计资源被访问的频率和事先设定的阈值来判断是否受到攻击。
然而,不论是统计IP的请求频率还是目标资源被访问的频率,现有技术中的检测方法均考虑得较为片面,没有综合考虑访问整体情况,进而使得在检测攻击时经常出现漏检或者误检的情况,检测精度通常不高。进一步地,事先设定的阈值也会影响检测结果,当阈值设定不合理时,检测结果准确性也会降低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种网络攻击检测方法及装置,以至少解决由于相关技术中仅根据访问源的访问频率或者仅根据目标资源被访问的频率,判断目标域名是否受到攻击,而造成的网络攻击检测准确率低的技术问题。
根据本发明实施例的一个方面,提供了一种网络攻击检测方法,包括:获取在待检测时段内,访问源访问目标资源的次数,其中,目标资源为与目标域名相关联的至少一个资源;根据访问源访问目标资源的次数,计算待检测条件熵,其中,待检测条件熵为在待检测时段内,当目标资源被访问时访问源的条件熵;判断待检测条件熵是否落入第一检测数据集,其中,在判断出待检测条件熵落入第一检测数据集的情况下,确定在待检测时段内,目标域名受到攻击。
根据本发明实施例的另一方面,还提供了一种网络攻击检测装置,包括:第一获取模块,用于获取在待检测时段内,访问源访问目标资源的次数,其中,目标资源为与目标域名相关联的至少一个资源;第一计算模块,用于根据访问源访问目标资源的次数,计算待检测条件熵,其中,待检测条件熵为在待检测时段内,当目标资源被访问时访问源的条件熵;第一判断模块,用于判断待检测条件熵是否落入第一检测数据集,其中,在判断出待检测条件熵落入第一检测数据集的情况下,确定在待检测时段内,目标域名受到攻击。
在本发明实施例中,采用计算待检测时段内,当目标资源被访问时访问源的条件熵以得到待检测条件熵的方式,通过判断待检测条件熵是否落入第一检测数据集,达到了在判断出待检测条件熵落入第一检测数据集的情况下,确定在待检测时段内,目标域名受到攻击的目的,从而实现了综合考虑访问源的访问频率与目标资源的被访问频率之间的关联关系,达到较高的检测精度的技术效果,进而解决了由于相关技术中仅根据访问源的访问频率或者仅根据目标资源被访问的频率,判断目标域名是否受到攻击,而造成的网络攻击检测准确率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例一的一种可选的网络攻击检测方法的流程示意图;
图2是根据本发明图1所示实施例的一种可选的网络攻击检测方法的流程图;
图3是根据本发明具体实例的对待检测时段内目标域名被访问次数进行卡尔曼滤波的结果示意图;
图4是根据本发明具体实例的条件熵值的聚类结果示意图;
图5是根据本发明具体实例的平均访问数的聚类结果示意图;以及
图6是是根据本发明实施例二的一种可选的网络攻击检测装置的结构示意图;
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种网络攻击检测方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的网络攻击检测方法,如图1所示,该方法包括如下步骤:
步骤S102,获取在待检测时段内,访问源访问目标资源的次数,其中,目标资源为与目标域名相关联的至少一个资源;
在本发明上述步骤S102中,待检测时段指需要判断是否被攻击的一段时间,待检测时段的长度可以为一分钟到几十分钟。访问源是指访问目标域名中目标资源的终端,可以为计算机终端、移动终端、代理服务器等。访问源通过互联网访问目标资源,故而也可以通过访问源使用的IP地址来标识访问源。访问源既包括正常访问目标资源的终端,也包括蓄意发起网络攻击的终端。在本发明实施例中,目标域名可以指被访问源访问的网站域名。与目标域名相关联的目标资源既包括静态资源,也包括非静态资源。非静态资源例如动态页面。目标资源可以通过同一资源标识符(URI)来标识。
步骤S104,根据访问源访问目标资源的次数,计算待检测条件熵,其中,待检测条件熵为在待检测时段内,当目标资源被访问时访问源的条件熵;
在本发明上述步骤S104中,条件熵通常用H(X|Y)表示,意为考虑到Y各种可能值,在已知Y的情况下(不特指Y的某一个具体值,而是泛指Y的值已知),X发生的条件熵,也可以说,意为将根据每一个Y的具体值求得的X的熵按照每一个Y出现的概率做加权平均。在本申请中,当至少一个访问源访问至少一个目标资源时,当目标资源被访问时访问源的条件熵可用通过H(访问源|目标资源)来形象表示。可选的,其含义可以解释为:在已知目标资源被访问次数时(不特指某一个目标资源被访问次数,而是泛指目标资源被访问次数已知),访问源(同样不特指)访问目标资源的平均不确定度。
在本发明实施例中,给出如下一种可选的计算方法。
首先,可以计算:当目标资源被访问次数为某一个值(例如Yj)时,访问源访问次数X的条件熵,公式如下:
其中,i标识访问源,j标识目标资源,Xi表示第i个访问源访问目标资源的次数,Yj表示第j个目标资源被访问的次数,P(Xi|Yj)表示在第j个目标资源被访问的情况下,是第i个访问源访问第j个目标资源的概率,H(X|Yj)表示第j个目标资源的被访问次数为Yj时,访问源X访问目标资源的不确定度。
其次,对于每一个Y可能的取值,计算H(X|Yj),并取其平均值,可得到当目标资源被访问次数不特指时访问源访问次数的条件熵,公式如下,
其中,P(Yj)表示第j个目标资源被访问的概率。
步骤S106,判断待检测条件熵是否落入第一检测数据集,其中,在判断出待检测条件熵落入第一检测数据集的情况下,确定在待检测时段内,目标域名受到攻击。
在本发明上述步骤S106中,第一检测数据集可以为预先设定好的数据集,也可以是综合考虑现在和过去的一大段时间中目标域名被访问情况而实时设定的数据集。当判断出待检测条件熵没有落入第一检测数据集的情况下,则确定在待检测时段内目标域名未受到攻击。
通过上述步骤S102至步骤S106,通过获取待检测时段内,访问源访问目标资源的次数,计算得到待检测条件熵,并通过判断待检测条件熵是否落入第一检测数据集,达到了在判断出待检测条件熵落入第一检测数据集的情况下,确定在待检测时段内,目标域名受到攻击的目的,从而实现了综合分析多个访问源访问目标资源的频率与多个目标资源的被访问源访问的频率之间的关联关系,达到较高的检测精度的技术效果,进而解决了由于相关技术中仅根据访问源的访问频率或者仅根据目标资源被访问的频率,判断目标域名是否受到攻击,而造成的网络攻击检测准确率低的技术问题。
可选地,步骤S106:判断待检测条件熵是否落入第一检测数据集又包括如下具体实施步骤:
步骤S1062:使用预设条件对至少一个历史条件熵和待检测条件熵进行聚类,形成条件熵的聚类结果,其中,历史条件熵为在历史时段内,当目标资源被访问时访问源的条件熵;
在本发明上述步骤S1062中,历史条件熵的算法优选地与待检测条件熵的算法一致。历史时段可以与待检测时段连续(例如多个历史时段按时间顺序排列后,任意两个相邻的历史时段之间、以及最后一个历史时段和待检测时段之间在时间上呈现连续性),也可以与待检测时段相对应(例如历史时段是前一天或前一个小时中与待检测时段相对应的时段)。在一种可选的应用场景中,将从某一历史时间点到当前待检测时间点的这段时间拆分为多个历史时段。历史时段的长短也优选地与待检测时段的长短一致,例如当待检测时段为3分钟时,历史时段也优选为3分钟,以使得获得更准确的检测结果。当历史时段的长短与待检测时段长短一致时,历史时间点的选择决定历史时段和历史条件熵的数量。此处需要说明的是,历史条件熵的数量以合理为宜,过少则可能会由于目标域名短时间内看似异常的访问情况(例如整点秒杀抢购活动)而导致检测结果精确性低,过多则会使计算负荷增加,不能保证检测的实时性。
步骤S1064:判断待检测条件熵所在的聚类簇是否满足第一异常簇条件;
在本发明上述步骤S1064中,聚类簇的聚类结果中包含至少一个聚类簇。聚类簇是相似对象的集合,判断一个聚类簇是否异常,比判断单个数据是否异常具有更高的准确性。在本发明中,通过设置异常簇判断条件,来判断待检测条件熵所在的聚类簇是否异常。
步骤S1066:当待检测条件熵所在的聚类簇满足第一异常簇条件时,则确定待检测条件熵落入第一检测数据集。
在本发明上述步骤S1066中,当待检测条件熵所在的聚类簇不满足第一异常簇条件时,则确定待检测条件熵未落入第一检测数据集。
上述步骤S1062至步骤S1066提供了一种判断待检测条件熵是否落入第一检测数据集的方法,通过对至少一个历史条件熵和待检测条件熵进行聚类,并判断待检测条件熵所在的聚类簇是否满足第一异常簇条件,实现了在所述待检测条件熵所在的聚类簇满足所述第一异常簇条件时,确定所述待检测条件熵落入第一检测数据集。上述判断待检测条件熵是否落入第一检测数据集的方法,综合考虑了目标域名在历史时段内被访问的情况,将待检测时段的数据融入历史数据中判断是否异常,使得本发明实施例提供的检测方法具有更高的检测精度。进一步地,尤其是在历史时段内多访问源访问多目标资源的混乱情况中,通过计算历史条件熵,考虑到了历史时段内访问源的访问频率与目标资源的被访问频率之间的关联关系,进而保证了历史数据与待检测数据的匹配、以及历史数据本身的准确性和全局性,进一步地保证了本发明实施例的检测方法的检测精度。
可选地,步骤S1064:判断待检测条件熵所在的聚类簇是否满足第一异常簇条件又包括如下具体实施步骤:
步骤S10642:计算待检测条件熵所在的聚类簇的第一异常度,并判断第一异常度是否大于第一异常阈值;
在本发明上述步骤S106中,第一异常度用于表征聚类簇的异常情况,在本发明实施例中,示例性的以第一异常度越大则表示聚类簇异常的可能性高为例,当然,还可以通过求倒数、负数等情况,使得第一异常度越大则表示聚类簇异常的可能性低的情况出现,此时,可以判断第一异常度是否小于第一异常阈值。
此处需要说明的是,理论上当判断出聚类簇的第一异常度大于第一异常阈值时,则可以确定该聚类簇满足异常簇条件。但是,对第一异常度与第一异常阈值差别很大的情况下,判断结果的可信度较高,而对于第一异常度与第一异常阈值及其接近甚至相等时,相当于聚类簇处于绝对正常与绝对异常之间的灰色地带,判断结果的可信度就较低。为了保证更高的检测精度,减少漏检、误检的情况,本发明实施例中的判断聚类簇是否异常的方法还包括如下步骤S10644:
步骤S10644:获取待检测条件熵所在的聚类簇的第一均值,并判断第一均值是否大于第一均值阈值,其中,第一均值为待检测条件熵所在的聚类簇中各个节点的条件熵的平均值;
在本发明上述步骤S10644中,第一均值用于表示待检测条件熵所在聚类簇中各个条件熵的平均情况,第一均值阈值可以为预设静态阈值,也可以为实时获取的动态阈值。
步骤S10646:在判断出第一异常度大于第一异常阈值且第一均值大于第一均值阈值时,确定待检测条件熵所在的聚类簇满足第一异常簇条件。
在本发明上述步骤S10646中,通过获取并联合上述步骤S10642以及步骤S10644的判断结果,使得只有第一异常度大于第一异常阈值且第一均值大于第一均值阈值的情况下,待检测条件熵所在的聚类簇被判断为异常簇,如此可进一步提高准确度。
此处需要说明的是,关于第一异常度与第一异常阈值相等时的情况、第一均值与第一均值阈值相等时的情况,是否需要纳入待检测条件熵满足第一异常簇的条件,可以视情况而产生适应性调整。
上述步骤S10642至步骤S10646提供了一种判断聚类簇是否异常的方法,通过计算待检测条件熵所在聚类簇的第一异常度与第一均值,并在判断出第一异常度大于第一异常阈值且第一均值大于第一均值阈值时,才确定待检测条件熵所在的聚类簇满足第一异常簇条件,使得本发明实施例的检测方法的准确率进一步提高。
可选地,在执行判断第一均值是否大于第一均值阈值的步骤之前,步骤S1064:判断待检测条件熵所在的聚类簇是否满足第一异常簇条件还包括如下具体实施步骤:
步骤S10643a:从条件熵的聚类结果的所有聚类簇中,筛选出第一异常度小于第一异常阈值的聚类簇,
在本发明上述步骤S10643a中,对条件熵的聚类结果中的每一个聚类簇,均计算该聚类簇的第一异常度,关于是否需要筛选第一异常度等于第一异常阈值的聚类簇,可以视情况而产生适应性调整。此处的第一异常阈值与步骤S10642中的第一异常阈值可相同,也可不同。
步骤S140643b:计算筛选出的聚类簇中所有节点的条件熵的平均值,得到第一均值阈值。
在本发明上述步骤S10643b中,计算筛选出的所有聚类簇中所有节点条件熵的平均值,得到第一均值阈值,第一均值阈值会随筛选条件以及参与聚类的数据而动态变化,更能体现当前数据的特性。
上述步骤S10643a和步骤S10643b提供了一种动态设置第一均值阈值的方法,进一步提供了本发明实施例的检测方法的精度。
可选地,采用如下公式计算待检测条件熵所在的聚类簇的第一异常度:
其中,W为第一异常度,i为待检测条件熵所在的聚类簇中的节点个数,a为条件熵的聚类结果中节点的总个数。
在本发明上述公式中,第一异常度越大则表示聚类簇异常的可能性高。可选的,还可以使用来计算第一异常度,使得此时第一异常度越大则表示聚类簇异常的可能性低。
可选地,在执行确定待检测时段内目标域名受到攻击的步骤之前,根据本发明实施例的网络攻击检测方法还包括如下步骤:
步骤S1052:根据获取到的待检测时段内,访问源访问目标资源的次数,计算待检测平均访问数,其中,待检测平均访问数为在待检测时段内,非静态资源被访问的总数与访问非静态资源的访问源个数的比值,非静态资源为目标资源中非静态的资源;
在本发明上述步骤S1052中,目标资源包含静态资源和非静态资源,非静态资源例如动态页面。由于访问非静态资源会比访问静态资源带来更多的资源消耗,且CC攻击往往针对动态页面进行攻击,所以本发明实施例中仅计算当前待检测时段内,访问非静态资源的待检测平均访问数,由待检测平均数的计算方式可知,待检测平均数也考虑到了访问源的访问频率与目标资源的被访问频率之间的关联关系,更具体的,是考虑到了访问非静态资源的访问源个数与非静态资源被访问总数的关联关系。
此处需要说明的是,在另一种可选的实施方式中,为了获得更高的检测准确度,还可以将本发明计算非静态资源的平均访问数的方法,做适应性修改后,计算静态资源的平均访问数,并判断静态资源的平均访问数是否落入第三异常数据集,囿于篇幅本发明不做赘述。
步骤S1054:判断待检测平均访问数是否落入第二检测数据集,其中,在判断出待检测条件熵落入第一检测数据集,且待检测平均访问数落入第二检测数据集的情况下,才确定待检测时段内目标域名受到攻击。
在本发明上述步骤S1054中,第二检测数据集可以为预先设定好的数据集,也可以是综合考虑现在和过去的一大段时间中非静态资源被访问情况而实时设定的数据集。当判断出待检测条件熵没有落入第一检测数据集,或者,判断出待检测平均访问数没有落入第二检测数据集中任意一种情况发生时,则确定在待检测时段内目标域名未受到攻击。
通过上述步骤S1052至步骤S1054,通过获取待检测时段内,访问源访问目标资源的次数,计算得到待检测平均访问数,并通过判断待检测平均访问数是否落入第二检测数据集,达到了在判断出待检测条件熵落入第一检测数据集且待检测平均访问数落入第二检测数据集的情况下,才确定在待检测时段内目标域名受到攻击的目的,从而实现了综合分析多个访问源访问目标资源的频率与多个目标资源的被访问源访问的频率之间的关联关系,达到较高的检测精度的技术效果,进而也贡献于解决了由于相关技术中仅根据访问源的访问频率或者仅根据目标资源被访问的频率,判断目标域名是否受到攻击,而造成的网络攻击检测准确率低的技术问题。
可选地,步骤S1054:判断待检测平均访问数是否落入第二检测数据集又包括如下具体实施步骤:
步骤S10542:使用预设条件对至少一个历史平均访问数和待检测平均访问数进行聚类,形成平均访问数的聚类结果,其中,历史平均访问数为在历史时段内,非静态资源被访问的总数与访问非静态资源的访问源个数的比值;
在本发明上述步骤S10542中,历史时段的长短优选地与待检测时段的长短一致,例如当待检测时段为3分钟时,历史时段也优选为3分钟,以使得获得更准确的检测结果。参与聚类的历史平均访问数的个数以合理为宜,过少则可能会由于目标域名短时间内看似异常的访问情况(例如整点秒杀抢购活动)而导致检测结果精确性低,过多则会使计算负荷增加,不能保证检测的实时性。历史时段可以与待检测时段连续,也可以与待检测时段相对应(例如前一天包含待检测时段的时间)。
步骤S10544:判断待检测平均访问数所在的聚类簇是否满足第二异常簇条件;
在本发明上述步骤S10544中,聚类簇的聚类结果中包含至少一个聚类簇。聚类簇是相似对象的集合,判断一个聚类簇是否异常,比判断单个数据是否异常具有更高的准确性。在本发明中,通过设置异常簇判断条件,来判断待检测平均访问数所在的聚类簇是否异常。
步骤S10546:当待检测平均访问数所在的聚类簇满足第二异常簇条件时,则确定待检测平均访问数落入第二检测数据集。
在本发明上述步骤S10546中,当待检测平均访问数所在的聚类簇不满足第二异常簇条件时,则确定待检测平均访问数未落入第二检测数据集。
上述步骤S10542至步骤S10546提供了一种判断待检测平均访问数是否落入第二检测数据集的方法,通过对至少一个历史平均访问数和待检测平均访问数进行聚类,并判断待检测平均访问数所在的聚类簇是否满足第二异常簇条件,实现了在所述待检测平均访问数所在的聚类簇满足所述第二异常簇条件时,确定所述待检测平均访问数落入第二检测数据集。上述判断待检测平均访问数是否落入第二检测数据集的方法,综合考虑了目标域名在历史时段内被访问的情况,将待检测时段的数据融入历史数据中判断是否异常,使得本发明实施例提供的检测方法具有更高的检测精度。进一步地,尤其是在历史时段内多访问源访问多目标资源的混乱情况中,通过计算历史平均访问数,考虑到了历史时段内访问非静态资源的访问源个数与非静态资源被访问频率之间的关联关系,进而保证了历史数据与待检测数据的匹配、以及历史数据本身的准确性和全局性,进一步地保证了本发明实施例的检测方法的检测精度。
可选地,步骤S10544:判断待检测平均访问数所在的聚类簇是否满足第二异常簇条件又包括如下具体实施步骤:
步骤S105442:计算待检测平均访问数所在的聚类簇的第二异常度,并判断第二异常度是否大于第二异常阈值,
在本发明上述步骤S105442中,第二异常度用于表征聚类簇的异常情况,在本发明实施例中,示例性的以第二异常度越大则表示聚类簇异常的可能性高为例,当然,还可以通过求倒数、负数等情况,使得第二异常度越大则表示聚类簇异常的可能性低的情况出现,此时,可以判断第二异常度是否小于第二异常阈值。
此处需要说明的是,理论上当判断出聚类簇的第二异常度大于第二异常阈值时,则可以确定该聚类簇满足异常簇条件。但是,对第二异常度与第二异常阈值差别很大的情况下,判断结果的可信度较高,而对于第二异常度与第二异常阈值及其接近甚至相等时,相当于聚类簇处于绝对正常与绝对异常之间的灰色地带,判断结果的可信度就较低。为了保证更高的检测精度,减少漏检、误检的情况,本发明实施例中的判断聚类簇是否异常的方法还包括如下步骤S105444:
步骤S105444:获取待检测平均访问数所在的聚类簇的第二均值,并判断第二均值是否大于第二均值阈值,其中,第二均值为待检测平均访问数所在的聚类簇中各个节点的平均访问数的平均值;
在本发明上述步骤S106中,第二均值用于表示待检测平均访问数所在聚类簇中各个平均访问数的平均情况,第二均值阈值可以为预设静态阈值,也可以为实时获取的动态阈值。
步骤S105446:在判断出第二异常度大于第二异常阈值且第二均值大于第二均值阈值时,确定待检测平均访问数所在的聚类簇满足第二异常簇条件。
在本发明上述步骤S105446中,通过获取并联合上述步骤S105442以及步骤S105444的判断结果,使得只有第二异常度大于第二异常阈值且第二均值大于第二均值阈值的情况下,待检测平均访问数所在的聚类簇被判断为异常簇,如此可进一步提高准确度。
此处需要说明的是,关于第二异常度与第二异常阈值相等时的情况、第二均值与第二均值阈值相等时的情况,是否需要纳入待检测平均访问数满足第二异常簇的条件,可以视情况而产生适应性调整。
上述步骤S105442至步骤S105446提供了一种判断聚类簇是否异常的方法,通过计算待检测条件熵所在聚类簇的第二异常度与第二均值,并在判断出第二异常度大于第二异常阈值且第二均值大于第二均值阈值时,才确定待检测平均访问数所在的聚类簇满足第二异常簇条件,使得本发明实施例的检测方法的准确率进一步提高。
可选地,在执行判断第二均值是否大于第二均值阈值的步骤之前,步骤S10544:判断待检测平均访问数所在的聚类簇是否满足第二异常簇条件还包括如下具体实施步骤:
步骤S105443a:从平均访问数的聚类结果的所有聚类簇中,筛选出第二异常度小于等于第二异常阈值的聚类簇,
在本发明上述步骤S105443a中,对平均访问数的聚类结果中的每一个聚类簇,均计算该聚类簇的第二异常度,关于是否需要筛选第二异常度等于第二异常阈值的聚类簇,可以视情况而产生适应性调整。此处的第二异常阈值与步骤S105442中的第二异常阈值可相同,也可不同。
步骤S105443b:计算筛选出的聚类簇中所有节点的平均访问数的平均值,得到第二均值阈值。
在本发明上述步骤S105443b中,计算筛选出的所有聚类簇中所有节点平均访问数的平均值,得到第二均值阈值,第二均值阈值会随筛选条件以及参与聚类的数据而动态变化,更能体现当前数据的特性。
上述步骤S105443a和步骤S105443b提供了一种动态设置第二均值阈值的方法,进一步提供了本发明实施例的检测方法的精度。
可选地,采用如下公式计算待检测平均访问数所在的聚类簇的第二异常度:
其中,W'为第二异常度,i'为待检测平均访问数所在的聚类簇中的节点个数,a'为平均访问数的聚类结果中节点的总个数。
在本发明上述公式中,第二异常度越大则表示聚类簇异常的可能性高。可选的,还可以使用来计算第二异常度,使得此时第二异常度越大则表示聚类簇异常的可能性低。
可选地,在步骤S106:判断待检测条件熵是否落入第一检测数据集之前,根据本发明实施例的方法还包括如下具体实施步骤:
步骤S1012:获取待检测时段内目标域名被访问的次数;
步骤S1014:根据目标域名被访问的次数与次数阈值的比对结果,判断在待检测时段内,目标域名被访问的次数是否异常,
其中,在判断出目标域名被访问的次数异常的情况下,才执行步骤S106:判断所述待检测条件熵是否落入所述第一检测数据集;在判断出目标域名被访问的次数正常的情况下,确定在待检测时段内,目标域名未受到攻击。
上述步骤S1012至步骤S1014提供了一种预先快速判断目标域名是否受到攻击的方法,通过在执行本发明实施例中步骤S102至步骤S106之前,预先执行步骤S1012至步骤S1014,对能够以大概率确定目标域名未受到攻击的情况先进行一次预筛选,使得处理器有更多资源用于执行步骤S102至步骤S106所示的方法,也可降低检测成本,进一步提高检测精度。应该理解到,还可以通过其他方式进行上述的预筛选,也应视为本发明的保护范围。
可选地,在步骤S1014:根据目标域名被访问的次数与次数阈值的比对结果,判断待检测时段内目标域名被访问的次数是否异常之前,根据本发明实施例的网络攻击检测方法还包括如下具体实施步骤:
步骤S1013a:根据在待检测时段内,目标域名被访问的次数的位数,采用如下公式计算得到次数阈值:
其中,T次数阈值,k为预设权重,a为目标域名被访问次数的位数,m1为目标域名被访问次数的最高位,m2为目标域名被访问次数的次高位。
在本发明上述步骤S1013a中,以目标域名被访问次数为12000次为例,位数为5,最高位为1,次高位为2,预设权重例如为15000,预设权重这一参数用于调节次数阈值的灵敏度。次数阈值为动态阈值,根据待检测时段域名被访问次数设置动态阈值。由于非高峰期的请求数的量级较小但波动比例可能较大,设置固定的阈值,可能会造成一定的误报和漏报,所以根据当前请求数的量级,使用指数为负数的一次幂函数动态地设置阈值,可以在一定程度上减少误报和漏报,
可选地,在步骤S1014:根据目标域名被访问的次数与次数阈值的比对结果,判断待检测时段内目标域名被访问的次数是否异常之前,根据本发明实施例的网络攻击检测方法还包括如下具体实施步骤:
步骤S1013b:根据预设滤波参数,对待检测时段内目标域名被访问的次数进行滤波,得到滤波后的目标域名被访问的次数;
在本发明上述步骤S1013b中,首先对待检测时段内目标域名被访问的次数进行滤波,例如卡尔曼滤波。首先,设置滤波器各项参数,根据历史数据和人为经验设置测量系统参数、系统控制量以及过程和测量噪声的协方差等。然后,利用系统的过程模型,基于系统的上一周期的请求数和卡尔曼增益而计算出现在请求数。最后更新卡尔曼增益用于下一周期的计算。
可选地,步骤S1014:根据目标域名被访问的次数与次数阈值的比对结果,判断待检测时段内目标域名被访问的次数是否异常,又包括如下具体实施步骤:
步骤S10142:计算滤波后的目标域名被访问的次数与次数阈值的乘积,
步骤S10144:判断乘积是否大于待检测时段内目标域名被访问的次数,
步骤S10146:当乘积大于待检测时段内目标域名被访问的次数时,确定在待检测时段内,目标域名被访问的次数正常,
步骤S10148:当乘积小于等于待检测时段内目标域名被访问的次数时,确定在待检测时段内,目标域名被访问的次数异常。
通过上述步骤S10142至步骤S10148,通过根据动态阈值判断待检测时段的访问情况是否异常,即计算卡尔曼滤波的结果与动态阈值的乘积,再根据计算得出的结果与当前分钟内请求数的差值,判断是否存在异常;如果差值为正数,则表示当前分钟内域名没有异常,不需要再执行后续的检测。
可选地,当使用URI标识目标资源,且使用IP标识访问源时,根据如下公式计算待检测条件熵:
其中,H(IP|URI)为待检测条件熵,P(URIj)是第j个URI被访问的次数占待检测时段目标域名被访问的总次数的比例,P(IPi|URIj)是第i个IP访问第j个URI的次数占待检测时段内第j个URI被访问的次数的比例,i,j,m,n均为整数。
图2是根据本发明图1所示实施例的一种可选的网络攻击检测方法的流程图。下面就结合图2,将本申请的方案应用在应用场景所实现的功能进行详细描述:
步骤S1:实时获取当前分钟的日志信息。
在上述步骤S1中,当前分钟,可以代指当前一分钟,也可以代指当前数分钟。当前分钟的长短与日志信息的最小密度有关。
步骤S2:提取当前分钟域名被访问次数。
步骤S3:对当前分钟域名被访问次数滤波。
在上述步骤S3中,本发明使用卡尔曼滤波对当前分钟域名被访问次数进行滤波处理。首先,设置滤波器各项参数,根据历史数据和人为经验设置测量系统参数、系统控制量以及过程和测量噪声的协方差等。然后,利用系统的过程模型,基于系统的上一周期的请求数和卡尔曼增益而计算出现在请求数。最后更新卡尔曼增益用于下一周期的计算。图3是根据本发明具体实例的对待检测时段内目标域名被访问次数进行卡尔曼滤波的结果示意图,如图3所示,浅色线(requestCount)所表示的为真实的被访问次数,深色线(Kalman)所表示的为卡尔曼滤波后的被访问次数;
步骤S4:设置动态阈值。
在上述步骤S4中,根据当前分钟域名被访问次数设置动态阈值。由于非高峰期的请求数的量级较小但波动比例可能较大,设置固定的阈值,可能会造成一定的误报和漏报,所以根据当前请求数的量级,使用指数为负数的一次幂函数动态地设置阈值,可以在一定程度上减少误报和漏报,动态阈值的幂函数公式如下,Threshold为计算的动态阈值,weight为设置的权值,该参数用于调节动态阈值的灵敏度:
Threshold=[weight/(观测值最高位*pow(10,观测值位数))]*[1/(观测值最高位+观测值次高位/10)]
步骤S5:统计当前分钟IP对域名各个URI的请求次数。
步骤S6:计算当前分钟IP访问URI的条件熵。
在上述步骤S6中,使用条件熵值公式,计算当前分钟请求IP访问URI的条件熵值。
步骤S7:计算当前分钟访问动态资源的IP平均访问数。
在上述步骤S7中,由于访问动态资源会比访问静态资源带来更多的资源消耗,且CC攻击往往针对动态资源进行攻击,所以本发明仅计算当前分钟访问动态资源的IP平均访问数,该平均访问数定义为当前分钟内所有动态资源被访问的总数与访问动态资源的IP的个数的比值。
步骤S8:当前请求情况是否异常。
在上述步骤S8中,根据动态阈值判断当前分钟的被访问情况是否异常,即计算卡尔曼滤波的被访问次数与动态阈值的乘积,再根据计算得出的结果与当前分钟内被访问次数的差值,判断是否存在异常;如果差值为正数,则表示当前分钟内域名没有异常,如果差值为负数或为零,则表示当前分钟内域名可能异常,需要进一步判断该异常是否是因为域名受到了网络攻击。
步骤S9:获取当期分钟的条件熵和平均访问数。
此处需要说明的是,当步骤S8根据执行步骤S2、S3和S4的结果判断出当前请求情况异常时,才获取当前分钟的条件熵和平均访问数。在一种可能的情况下,可以如图2所示,在步骤S1获取到日志信息后,即通过步骤S5、S6和S7计算条件熵和平均访问数,在执行步骤S9时直接获取步骤S6、S7的计算结果即可。在另一种可能的情况下(与图2所示不同),当执行步骤S9时,才根据步骤S1获取的日志信息计算条件熵和平均访问数,后一种可能的情况中,由于减少了正常情况时计算条件熵和平均访问数的步骤,使得本发明实施例的方法由更高的执行效率。
步骤S10:对条件熵和平均访问数进行聚类。
在上述步骤S10中,例如,使用DBSCAN算法分别对条件熵值和平均访问数进行聚类。首先,根据历史记录对算法中检测半径阈值参数和邻域内点的个数阈值进行设置。然后,选定历史时刻到当前分钟这一时间段内的条件熵值和平均访问数数据作为待检测数据。最后使用DBSCAN算法分别对这两种数据进行聚类处理。
通过上述步骤S10处理后,得到条件熵的聚类结果,图4是根据本发明具体实例的条件熵的聚类结果示意图;如图4所示,图中各个点代表待检测数据中的各个条件熵,条件熵的聚类结果中包含A、B、C三个聚类簇,分别由图4中的方框标识。
通过上述步骤S10处理后,得到平均访问数的聚类结果,图5是根据本发明具体实例的平均访问数的聚类结果示意图;如图5所示,图中各个点代表待检测数据中的各个平均访问数,平均访问数的聚类结果中包含A、B、C、D、E、F、G、H共计八个聚类簇。
步骤S11:计算聚类结果中各个簇的异常度。
在上述步骤S11中,分别计算两种数据的聚类结果中各个簇的异常度。异常度为1减去簇内成员节点个数除以所有节点个数的比值,若某个簇的异常度小于50%,则该簇为正常簇,反之则可能为异常簇。
步骤S12:判断当前分钟条件熵所在簇异常且平均访问数所在簇异常。
在上述步骤S12中,判断当前分钟内条件熵值和平均访问数所在簇是否都为异常簇。根据异常度小于50%为正常簇的假设,计算正常簇内成员节点的均值,以该均值作为半监督方法划分正常簇和异常簇两种类别的界限。如果某个簇的异常度大于50%,且该簇内成员节点的值大于界限值,则该簇为异常簇;反之如果该簇内成员节点的值小于界限值,则该簇为正常簇。分别计算当前分钟条件熵值和访问动态资源的IP平均访问数所在簇是否都为异常簇。如果当前分钟条件熵值和访问动态资源的IP平均访问数所在簇至少有一个不满足异常簇条件,则当前分钟该域名没有受到攻击;如果当前分钟条件熵值和访问动态资源的IP平均访问数所在簇都为异常簇,则当前分钟该域名受到攻击。
例如,结合图4所示,执行上述步骤S11和步骤S12后,判断出A和B为异常簇,C为正常簇;若当前分钟的条件熵值落入A或B中,则认为当前分钟的条件熵值属于异常簇;若当前分钟的条件熵值落入C中,则认为当前分钟的条件熵值属于正常簇。
又例如,结合图5所示,执行上述步骤S11和步骤S12后,判断出A到G为异常簇,H为正常簇,若当前分钟平均访问数落入A到G的任意一个簇中,则认为当前分钟平均访问数属于异常簇;若落入H中,则认为属于正常簇。
步骤S13:当前分钟域名未受到攻击。CC攻击检测流程结束。本发明所提供的方法能够实时进行CC攻击检测,并且能够有效地识别出是否受到攻击。
步骤S14:当前分钟域名受到攻击。CC攻击检测流程结束。本发明所提供的方法能够实时进行CC攻击检测,并且能够有效地识别出是否受到攻击。
本发明实施例提供的网络攻击检测方法具有较高的时效性和较高的检测精度,其所解决的主要问题是:
(1)监督模型需要在人为指导下进行建立,由于每天的访问日志量很大,人工为这些数据提供标记需要消耗大量人力和时间,而且在较长的一段时间内并不是所有域名都会受到攻击,就会导致能用于监督学习的有效标记样本较少,难以学得泛化能力强的模型。
(2)对于攻击的检测需要较高的时效性,大多复杂的模型能够达到较好的检测效果,但往往需要消耗大量的时间,时效性较低。
实施例2
根据本发明实施例,还提供了一种用于实施上述网络攻击检测方法的装置,如图6所示,该网络攻击检测装置包括:第一获取模块20、第一计算模块30以及第一判断模块40,其中:
第一获取模块20,用于获取在待检测时段内,访问源访问目标资源的次数,其中,目标资源为与目标域名相关联的至少一个资源;
第一计算模块30,用于根据访问源访问目标资源的次数,计算待检测条件熵,其中,待检测条件熵为在待检测时段内,当目标资源被访问时访问源的条件熵;
第一判断模块40,用于判断待检测条件熵是否落入第一检测数据集,其中,在判断出待检测条件熵落入第一检测数据集的情况下,确定在待检测时段内,目标域名受到攻击。
此处需要说明的是,上述第一获取模块20、第一计算模块30以及第一判断模块40,对应于实施例一中的步骤S102至步骤S106,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。
上述第一获取模块20、第一计算模块30以及第一判断模块40,通过获取待检测时段内,访问源访问目标资源的次数,计算得到待检测条件熵,并通过判断待检测条件熵是否落入第一检测数据集,达到了在判断出待检测条件熵落入第一检测数据集的情况下,确定在待检测时段内,目标域名受到攻击的目的,从而实现了综合分析多个访问源访问目标资源的频率与多个目标资源的被访问源访问的频率之间的关联关系,达到较高的检测精度的技术效果,进而解决了由于相关技术中仅根据访问源的访问频率或者仅根据目标资源被访问的频率,判断目标域名是否受到攻击,而造成的网络攻击检测准确率低的技术问题。
可选地,第一判断模块40还包括:第一处理单元、第一判断单元以及第二处理单元,其中,第一处理单元,用于使用预设条件对至少一个历史条件熵和待检测条件熵进行聚类,形成条件熵的聚类结果,其中,历史条件熵为在历史时段内,当目标资源被访问时访问源的条件熵;第一判断单元,用于判断待检测条件熵所在的聚类簇是否满足第一异常簇条件;第二处理单元,用于当待检测条件熵所在的聚类簇满足第一异常簇条件时,则确定待检测条件熵落入第一检测数据集。
此处需要说明的是,上述第一处理单元、第一判断单元以及第二处理单元,对应于实施例一中的步骤S1062至步骤S1066,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。
可选地,第一判断单元包括:第三处理单元,第四处理单元以及第五处理单元,其中,第三处理单元用于计算待检测条件熵所在的聚类簇的第一异常度,并判断第一异常度是否大于第一异常阈值;第四处理单元用于获取待检测条件熵所在的聚类簇的第一均值,并判断第一均值是否大于第一均值阈值,其中,第一均值为待检测条件熵所在的聚类簇中各个节点的条件熵的平均值;第五处理单元用于在判断出第一异常度大于第一异常阈值且第一均值大于第一均值阈值时,确定待检测条件熵所在的聚类簇满足第一异常簇条件。
此处需要说明的是,上述第三处理单元,第四处理单元以及第五处理单元,对应于实施例一中的步骤S10642至步骤S10646,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。
可选地,第一判断单元还包括:第六处理单元以及第七处理单元,其中,第六处理单元用于从条件熵的聚类结果的所有聚类簇中,筛选出第一异常度小于第一异常阈值的聚类簇;第七处理单元用于计算筛选出的聚类簇中所有节点的条件熵的平均值,得到第一均值阈值。
此处需要说明的是,上述第六处理单元以及第七处理单元,对应于实施例一中的步骤S10643a和步骤S10643b,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。
可选地,采用如下公式计算待检测条件熵所在的聚类簇的第一异常度:
其中,W为第一异常度,i为待检测条件熵所在的聚类簇中的节点个数,a为条件熵的聚类结果中节点的总个数。
可选地,根据本发明实施例二的网络攻击检测装置还包括:第二计算模块以及第二判断模块,其中,第二计算模块用于根据获取到的待检测时段内,访问源访问目标资源的次数,计算待检测平均访问数,其中,待检测平均访问数为在待检测时段内,非静态资源被访问的总数与访问非静态资源的访问源个数的比值,非静态资源为目标资源中非静态的资源;第二判断模块用于判断待检测平均访问数是否落入第二检测数据集,其中,在判断出待检测条件熵落入第一检测数据集,且待检测平均访问数落入第二检测数据集的情况下,才确定待检测时段内目标域名受到攻击。
此处需要说明的是,上述第二计算模块以及第二判断模块,对应于实施例一中的步骤S1052至步骤S1054,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。
上述第二计算模块以及第二判断模块通过获取待检测时段内,访问源访问目标资源的次数,计算得到待检测平均访问数,并通过判断待检测平均访问数是否落入第二检测数据集,达到了在判断出待检测条件熵落入第一检测数据集且待检测平均访问数落入第二检测数据集的情况下,才确定在待检测时段内目标域名受到攻击的目的,从而实现了综合考虑访问源的访问频率与目标资源的被访问频率之间的关联关系,达到较高的检测精度的技术效果,进而也贡献于解决了由于相关技术中仅根据访问源的访问频率或者仅根据目标资源被访问的频率,判断目标域名是否受到攻击,而造成的网络攻击检测准确率低的技术问题。
可选地,第二判断模块包括:第八处理单元,第二判断单元以及第九处理单元,其中,第八处理单元用于使用预设条件对至少一个历史平均访问数和待检测平均访问数进行聚类,形成平均访问数的聚类结果,其中,历史平均访问数为在历史时段内,非静态资源被访问的总数与访问非静态资源的访问源个数的比值;第二判断单元用于判断待检测平均访问数所在的聚类簇是否满足第二异常簇条件;第九处理单元用于当待检测平均访问数所在的聚类簇满足第二异常簇条件时,则确定待检测平均访问数落入第二检测数据集。
此处需要说明的是,上述第八处理单元,第二判断单元以及第九处理单元,对应于实施例一中的步骤S10542至步骤S10546,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。
可选地,第二判断单元包括:第十处理单元,第十一处理单元以及第十二处理单元,其中,第十处理单元用于计算待检测平均访问数所在的聚类簇的第二异常度,并判断第二异常度是否大于第二异常阈值;第十一处理单元用于获取待检测平均访问数所在的聚类簇的第二均值,并判断第二均值是否大于第二均值阈值,其中,第二均值为待检测平均访问数所在的聚类簇中各个节点的平均访问数的平均值;第十二处理单元用于在判断出第二异常度大于第二异常阈值且第二均值大于第二均值阈值时,确定待检测平均访问数所在的聚类簇满足第二异常簇条件。
此处需要说明的是,上述第十处理单元,第十一处理单元以及第十二处理单元,对应于实施例一中的步骤S105442至步骤S105446,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。
可选地,第二判断单元包括:第十三处理单元以及第十四处理单元,其中,第十三处理单元用于从平均访问数的聚类结果的所有聚类簇中,筛选出第二异常度小于等于第二异常阈值的聚类簇;第十四处理单元用于计算筛选出的聚类簇中所有节点的平均访问数的平均值,得到第二均值阈值。
此处需要说明的是,上述第十三处理单元以及第十四处理单元,对应于实施例一中的步骤S105443a和步骤S105443b,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。
可选地,采用如下公式计算待检测平均访问数所在的聚类簇的第二异常度:
其中,W'为第二异常度,i'为待检测平均访问数所在的聚类簇中的节点个数,a'为平均访问数的聚类结果中节点的总个数。
可选地,根据本发明实施例二的网络攻击检测装置还包括:第二获取模块以及第三判断模块,其中,第二获取模块用于获取待检测时段内目标域名被访问的次数;第三判断模块用于根据目标域名被访问的次数与次数阈值的比对结果,判断在待检测时段内,目标域名被访问的次数是否异常,其中,在判断出目标域名被访问的次数异常的情况下,才执行第一判断模块或第二判断模块的功能。
此处需要说明的是,上述第二获取模块以及第三判断模块,对应于实施例一中的步骤S1012至步骤S1014,两个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。
上述第二获取模块以及第三判断模块提供了一种预先快速判断目标域名是否受到攻击的方案,通过对能够以大概率确定目标域名未受到攻击的情况先进行一次预筛选,可降低检测成本,进一步提高检测精度。应该理解到,还可以通过其他方式进行上述的预筛选,也应视为本发明的保护范围。
可选地,根据本发明实施例二的网络攻击检测装置还包括:计算模块,用于根据在待检测时段内,目标域名被访问的次数的位数,采用如下公式计算得到次数阈值:
其中,T次数阈值,k为预设权重,a为目标域名被访问次数的位数,m1为目标域名被访问次数的最高位,m2为目标域名被访问次数的次高位。
此处需要说明的是,上述计算模块对应于实施例一中的步骤S1013a,模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。
可选地,根据本发明实施例二的网络攻击检测装置还包括:滤波模块,用于根据预设滤波参数,对待检测时段内目标域名被访问的次数进行滤波,得到滤波后的目标域名被访问的次数。
此处需要说明的是,上述滤波模块对应于实施例一中的步骤S1013b,模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。
可选地,第三判断模块包括:计算单元,第三判断单元,第十五处理单元以及第十六处理单元,其中,计算单元用于计算滤波后的目标域名被访问的次数与次数阈值的乘积;第三判断单元用于判断乘积是否大于待检测时段内目标域名被访问的次数;第十五处理单元用于当乘积大于待检测时段内目标域名被访问的次数时,确定在待检测时段内,目标域名被访问的次数正常,第十六处理单元用于当乘积小于等于待检测时段内目标域名被访问的次数时,确定在待检测时段内,目标域名被访问的次数异常。
此处需要说明的是,上述计算单元,第三判断单元,第十五处理单元以及第十六处理单元对应于实施例一中的步骤S10142至步骤S10148,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例一所公开的内容。
可选地,当使用URI标识目标资源,且使用IP标识访问源时,根据如下公式计算待检测条件熵:
其中,H(IP|URI)为待检测条件熵,P(URIj)是第j个URI被访问的次数占待检测时段目标域名被访问的总次数的比例,P(IPi|URIj)是第i个IP访问第j个URI的次数占待检测时段内第j个URI被访问的次数的比例,i,j,m,n均为整数。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (14)

1.一种网络攻击检测方法,其特征在于,包括:
获取在待检测时段内,访问源访问目标资源的次数,其中,所述目标资源为与目标域名相关联的至少一个资源;
根据所述访问源访问所述目标资源的次数,计算待检测条件熵,其中,所述待检测条件熵为在所述待检测时段内,所述目标资源被访问时所述访问源的条件熵;
判断所述待检测条件熵是否落入第一检测数据集,其中在判断出所述待检测条件熵落入所述第一检测数据集的情况下,确定在所述待检测时段内,所述目标域名受到攻击;
其中,判断所述待检测条件熵是否落入第一检测数据集包括:
使用预设条件对至少一个历史条件熵和所述待检测条件熵进行聚类,形成条件熵的聚类结果,其中,所述历史条件熵为在历史时段内,当所述目标资源被访问时所述访问源的条件熵;
判断所述待检测条件熵所在的聚类簇是否满足第一异常簇条件;
当所述待检测条件熵所在的聚类簇满足所述第一异常簇条件时,则确定所述待检测条件熵落入所述第一检测数据集。
2.根据权利要求1所述的方法,其特征在于,判断所述待检测条件熵所在的聚类簇是否满足第一异常簇条件包括:
计算所述待检测条件熵所在的聚类簇的第一异常度,并判断所述第一异常度是否大于第一异常阈值;
获取所述待检测条件熵所在的聚类簇的第一均值,并判断所述第一均值是否大于第一均值阈值,其中,所述第一均值为所述待检测条件熵所在的聚类簇中各个节点的条件熵的平均值;
在判断出所述第一异常度大于第一异常阈值且所述第一均值大于所述第一均值阈值时,确定所述待检测条件熵所在的聚类簇满足所述第一异常簇条件。
3.根据权利要求2所述的方法,其特征在于,在判断所述第一均值是否大于所述第一均值阈值之前,判断所述待检测条件熵所在的聚类簇是否满足第一异常簇条件还包括:
从所述条件熵的聚类结果的所有聚类簇中,筛选出所述第一异常度小于所述第一异常阈值的聚类簇,
计算筛选出的聚类簇中所有节点的条件熵的平均值,得到所述第一均值阈值。
4.根据权利要求1中任意一项所述的方法,其特征在于,在确定所述待检测时段内所述目标域名受到攻击之前,所述方法还包括:
根据获取到的所述待检测时段内,所述访问源访问所述目标资源的次数,计算待检测平均访问数,其中,所述待检测平均访问数为在所述待检测时段内,非静态资源被访问的总数与访问所述非静态资源的访问源个数的比值,所述非静态资源为所述目标资源中非静态的资源;
判断所述待检测平均访问数是否落入第二检测数据集,
其中,在判断出所述待检测条件熵落入所述第一检测数据集,且所述待检测平均访问数落入所述第二检测数据集的情况下,才确定所述待检测时段内所述目标域名受到攻击。
5.根据权利要求4所述的方法,其特征在于,判断所述待检测平均访问数是否落入第二检测数据集包括:
使用预设条件对至少一个历史平均访问数和所述待检测平均访问数进行聚类,形成平均访问数的聚类结果,其中,所述历史平均访问数为在历史时段内,所述非静态资源被访问的总数与访问所述非静态资源的访问源个数的比值;
判断所述待检测平均访问数所在的聚类簇是否满足第二异常簇条件;
当所述待检测平均访问数所在的聚类簇满足所述第二异常簇条件时,则确定所述待检测平均访问数落入第二检测数据集。
6.根据权利要求5所述的方法,其特征在于,判断所述待检测平均访问数所在的聚类簇是否满足第二异常簇条件包括:
计算所述待检测平均访问数所在的聚类簇的第二异常度,并判断所述第二异常度是否大于第二异常阈值,
获取所述待检测平均访问数所在的聚类簇的第二均值,并判断所述第二均值是否大于第二均值阈值,其中,所述第二均值为所述待检测平均访问数所在的聚类簇中各个节点的平均访问数的平均值;
在判断出所述第二异常度大于第二异常阈值且所述第二均值大于所述第二均值阈值时,确定所述待检测平均访问数所在的聚类簇满足所述第二异常簇条件。
7.根据权利要求6所述的方法,其特征在于,在判断所述第二均值是否大于第二均值阈值之前,判断所述待检测平均访问数所在的聚类簇是否满足第二异常簇条件还包括:
从所述平均访问数的聚类结果的所有聚类簇中,筛选出所述第二异常度小于等于所述第二异常阈值的聚类簇,
计算筛选出的聚类簇中所有节点的平均访问数的平均值,得到所述第二均值阈值。
8.根据权利要求1至7中任意一项所述的方法,其特征在于,在判断所述待检测条件熵是否落入第一检测数据集之前,所述方法还包括:
获取所述待检测时段内所述目标域名被访问的次数;
根据所述目标域名被访问的次数与次数阈值的比对结果,判断在所述待检测时段内,所述目标域名被访问的次数是否异常,
其中,在判断出所述目标域名被访问的次数异常的情况下,执行判断所述待检测条件熵是否落入所述第一检测数据集的步骤,在判断出所述目标域名被访问的次数正常的情况下,确定在所述待检测时段内,所述目标域名未受到攻击。
9.根据权利要求8所述的方法,其特征在于,在根据所述目标域名被访问的次数与次数阈值的比对结果,判断所述待检测时段内所述目标域名被访问的次数是否异常之前,所述方法还包括:
根据在所述待检测时段内,所述目标域名被访问的次数的位数,采用如下公式计算得到所述次数阈值:
其中,T所述次数阈值,k为预设权重,a为所述目标域名被访问次数的位数,m1为所述目标域名被访问次数的最高位,m2为所述目标域名被访问次数的次高位。
10.根据权利要求8所述的方法,其特征在于,在根据所述目标域名被访问的次数与次数阈值的比对结果,判断所述待检测时段内所述目标域名被访问的次数是否异常之前,所述方法还包括:根据预设滤波参数,对所述待检测时段内所述目标域名被访问的次数进行滤波,得到滤波后的所述目标域名被访问的次数;
其中,根据所述目标域名被访问的次数与次数阈值的比对结果,判断所述待检测时段内所述目标域名被访问的次数是否异常包括:
计算滤波后的所述目标域名被访问的次数与所述次数阈值的乘积,
判断所述乘积是否大于所述待检测时段内所述目标域名被访问的次数,
当所述乘积大于所述待检测时段内所述目标域名被访问的次数时,确定在所述待检测时段内,所述目标域名被访问的次数正常,
当所述乘积小于等于所述待检测时段内所述目标域名被访问的次数时,确定在所述待检测时段内,所述目标域名被访问的次数异常。
11.根据权利要求1所述的方法,其特征在于,当使用URI标识所述目标资源,且使用IP标识所述访问源时,根据如下公式计算所述待检测条件熵:
其中,H(IP|URI)为所述待检测条件熵,P(URIj)是第j个URI被访问的次数占所述待检测时段所述目标域名被访问的总次数的比例,P(IPi|URIj)是第i个IP访问第j个URI的次数占所述待检测时段内第j个URI被访问的次数的比例,i,j,m,n均为整数。
12.一种网络攻击检测装置,其特征在于,包括:
第一获取模块,用于获取在待检测时段内,访问源访问目标资源的次数,其中,所述目标资源为与目标域名相关联的至少一个资源;
第一计算模块,用于根据所述访问源访问所述目标资源的次数,计算待检测条件熵,其中,所述待检测条件熵为在所述待检测时段内,当所述目标资源被访问时所述访问源的条件熵;
第一判断模块,用于判断所述待检测条件熵是否落入第一检测数据集,其中,在判断出所述待检测条件熵落入所述第一检测数据集的情况下,确定在所述待检测时段内,所述目标域名受到攻击;
其中,判断所述待检测条件熵是否落入第一检测数据集包括:使用预设条件对至少一个历史条件熵和所述待检测条件熵进行聚类,形成条件熵的聚类结果,其中,所述历史条件熵为在历史时段内,当所述目标资源被访问时所述访问源的条件熵;判断所述待检测条件熵所在的聚类簇是否满足第一异常簇条件;当所述待检测条件熵所在的聚类簇满足所述第一异常簇条件时,则确定所述待检测条件熵落入所述第一检测数据集。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括:
第二计算模块,用于根据获取到的所述待检测时段内,所述访问源访问所述目标资源的次数,计算待检测平均访问数,其中,所述待检测平均访问数为在所述待检测时段内,非静态资源被访问的总数与访问所述非静态资源的访问源个数的比值,所述非静态资源为所述目标资源中非静态的资源;
第二判断模块,用于判断所述待检测平均访问数是否落入第二检测数据集,
其中,在判断出所述待检测条件熵落入所述第一检测数据集,且所述待检测平均访问数落入所述第二检测数据集的情况下,才确定所述待检测时段内所述目标域名受到攻击。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取所述待检测时段内所述目标域名被访问的次数;
第三判断模块,用于根据所述目标域名被访问的次数与次数阈值的比对结果,判断在所述待检测时段内,所述目标域名被访问的次数是否异常,
其中,在判断出所述目标域名被访问的次数异常的情况下,才执行所述第一判断模块或所述第二判断模块的功能。
CN201510419362.9A 2015-07-16 2015-07-16 网络攻击检测方法及装置 Expired - Fee Related CN104967629B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510419362.9A CN104967629B (zh) 2015-07-16 2015-07-16 网络攻击检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510419362.9A CN104967629B (zh) 2015-07-16 2015-07-16 网络攻击检测方法及装置

Publications (2)

Publication Number Publication Date
CN104967629A CN104967629A (zh) 2015-10-07
CN104967629B true CN104967629B (zh) 2018-11-27

Family

ID=54221570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510419362.9A Expired - Fee Related CN104967629B (zh) 2015-07-16 2015-07-16 网络攻击检测方法及装置

Country Status (1)

Country Link
CN (1) CN104967629B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105208040B (zh) * 2015-10-12 2019-03-26 北京神州绿盟信息安全科技股份有限公司 一种网络攻击检测方法及装置
CN107426136B (zh) * 2016-05-23 2020-01-14 腾讯科技(深圳)有限公司 一种网络攻击的识别方法和装置
CN107547488B (zh) * 2016-06-29 2020-12-15 华为技术有限公司 一种dns隧道检测方法以及dns隧道检测装置
CN106250353A (zh) * 2016-08-10 2016-12-21 广东电网有限责任公司电力科学研究院 一种熵权计算方法和多目标决策方法
US10129295B2 (en) * 2016-08-31 2018-11-13 Microsoft Technology Licensing, Llc Clustering approach for detecting DDoS botnets on the cloud from IPFix data
US10237300B2 (en) * 2017-04-06 2019-03-19 Microsoft Technology Licensing, Llc System and method for detecting directed cyber-attacks targeting a particular set of cloud based machines
CN107046489B (zh) * 2017-04-07 2020-07-28 上海熙菱信息技术有限公司 一种频次类实时统计模型系统及方法
CN107659566B (zh) * 2017-09-20 2021-01-19 深圳市创梦天地科技股份有限公司 对服务器异常访问的识别频率确定方法、装置及服务器
CN109981533B (zh) * 2017-12-27 2021-11-30 中移(杭州)信息技术有限公司 一种DDoS攻击检测方法、装置、电子设备及存储介质
CN108881151B (zh) * 2017-12-29 2021-08-03 哈尔滨安天科技集团股份有限公司 一种无关节点确定方法、装置及电子设备
CN109194671B (zh) * 2018-09-19 2021-07-13 网宿科技股份有限公司 一种异常访问行为的识别方法及服务器
CN111224916B (zh) * 2018-11-23 2022-07-01 中移(杭州)信息技术有限公司 一种ddos攻击检测的方法及装置
CN110071941B (zh) * 2019-05-08 2021-10-29 北京奇艺世纪科技有限公司 一种网络攻击检测方法、设备、存储介质及计算机设备
CN112839005B (zh) * 2019-11-22 2022-11-04 中国互联网络信息中心 Dns域名异常访问监控方法及装置
CN110944016B (zh) * 2019-12-25 2022-06-14 中移(杭州)信息技术有限公司 DDoS攻击检测方法、装置、网络设备及存储介质
EP4176566A4 (en) * 2020-07-02 2024-02-28 Microsoft Technology Licensing, LLC DETECTION OF METRICS INDICATING NETWORK OPERATING CHARACTERISTICS AND IDENTIFICATION AND CONTROL BASED ON DETECTED ANOMALIES
CN112543183B (zh) * 2020-11-17 2021-11-19 西安交通大学 基于方向性似然比检验的网络拒绝服务攻击检测方法
CN113347205B (zh) * 2021-06-30 2022-10-28 深圳前海微众银行股份有限公司 一种检测业务访问请求的方法及装置
CN114499917B (zh) * 2021-10-25 2024-01-09 中国银联股份有限公司 Cc攻击检测方法及cc攻击检测装置
CN114500026B (zh) * 2022-01-20 2024-10-11 深信服科技股份有限公司 一种网络流量处理方法、装置及存储介质
CN115051867B (zh) * 2022-06-22 2024-04-09 深信服科技股份有限公司 一种非法外联行为的检测方法、装置、电子设备及介质
CN117978543B (zh) * 2024-03-28 2024-06-04 贵州华谊联盛科技有限公司 基于态势感知的网络安全预警方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378394A (zh) * 2008-09-26 2009-03-04 成都市华为赛门铁克科技有限公司 分布式拒绝服务检测防御方法及网络设备
CN101437030A (zh) * 2008-11-29 2009-05-20 成都市华为赛门铁克科技有限公司 一种防止服务器被攻击的方法、检测装置及监控设备
CN104113519A (zh) * 2013-04-16 2014-10-22 阿里巴巴集团控股有限公司 网络攻击检测方法及其装置
CN104486298A (zh) * 2014-11-27 2015-04-01 小米科技有限责任公司 识别用户行为的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130124692A (ko) * 2012-05-07 2013-11-15 한국전자통신연구원 유해 트래픽의 필터링 정보 관리 시스템 및 그 방법
KR101447677B1 (ko) * 2012-05-09 2014-10-07 주식회사 윈스 감염 이동단말의 탐지 및 제어 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378394A (zh) * 2008-09-26 2009-03-04 成都市华为赛门铁克科技有限公司 分布式拒绝服务检测防御方法及网络设备
CN101437030A (zh) * 2008-11-29 2009-05-20 成都市华为赛门铁克科技有限公司 一种防止服务器被攻击的方法、检测装置及监控设备
CN104113519A (zh) * 2013-04-16 2014-10-22 阿里巴巴集团控股有限公司 网络攻击检测方法及其装置
CN104486298A (zh) * 2014-11-27 2015-04-01 小米科技有限责任公司 识别用户行为的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于多维信息熵值的DDoS攻击检测方法;赵小欢,夏靖波,郭威武,杜华桦;《空军工程大学学报(自然科学版)》;20130630;第14卷(第3期);第59-61页 *

Also Published As

Publication number Publication date
CN104967629A (zh) 2015-10-07

Similar Documents

Publication Publication Date Title
CN104967629B (zh) 网络攻击检测方法及装置
Zhang et al. Anomaly detection in wide area network meshes using two machine learning algorithms
CN111614690B (zh) 一种异常行为检测方法及装置
CN110086649A (zh) 异常流量的检测方法、装置、计算机设备及存储介质
US20150039543A1 (en) Feature Based Three Stage Neural Network Intrusion Detection
US10878324B2 (en) Problem analysis and priority determination based on fuzzy expert systems
CN108985553A (zh) 一种异常用户的识别方法及设备
US20180107528A1 (en) Aggregation based event identification
CN108600200A (zh) 域名检测方法、装置、计算机设备及存储介质
CN102821007A (zh) 一种基于自律计算的网络安全态势感知系统及其处理方法
CN107463904A (zh) 一种确定事件周期值的方法及装置
CN108494802A (zh) 基于人工智能的关键信息基础设施安全威胁主动防御系统
CN105516130A (zh) 一种数据处理方法和装置
CN106991033A (zh) 通知告警消息的方法、装置、服务器及可读存储介质
CN105959316A (zh) 网络安全性验证系统
CN106713233A (zh) 一种网络安全状态的判断与保护方法
WO2017021290A1 (en) Network operation
CN108230016A (zh) 一种农产品市场价格传递分析方法及分析装置
CN111934954A (zh) 宽带的检测方法、装置、电子设备及存储介质
CN109428857A (zh) 一种恶意探测行为的检测方法和装置
CN111865899B (zh) 威胁驱动的协同采集方法及装置
CN113849362A (zh) 一种业务服务平台管理方法、装置和计算机可读存储介质
Jena et al. An ensemble classifier based scheme for detection of false data attacks aiming at disruption of electricity market operation
CN114338458A (zh) 数据安全检测方法及装置
RU180789U1 (ru) Устройство аудита информационной безопасности в автоматизированных системах

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181127

CF01 Termination of patent right due to non-payment of annual fee