CN110324339B - 基于信息熵的DDoS攻击检测方法、装置和电子设备 - Google Patents
基于信息熵的DDoS攻击检测方法、装置和电子设备 Download PDFInfo
- Publication number
- CN110324339B CN110324339B CN201910589194.6A CN201910589194A CN110324339B CN 110324339 B CN110324339 B CN 110324339B CN 201910589194 A CN201910589194 A CN 201910589194A CN 110324339 B CN110324339 B CN 110324339B
- Authority
- CN
- China
- Prior art keywords
- information entropy
- period
- interval
- maximum
- value
- 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/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
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)
Abstract
本发明公开了基于信息熵的DDoS攻击检测方法、装置和电子设备,其中,检测方法包括:以T小时为一个周期,统计访问的ip数据,包括查询得到访问的ip的地理位置,最终得到单个ip总计访问数目和ip对应的源地址地理位置,并计算信息熵;并根据实时的信息熵进行DDoS攻击判定,得到DDoS攻击检测结果。
Description
技术领域
本发明涉及网络安全领域,尤其涉及基于信息熵的DDoS攻击检测方法、装置和电子设备。
背景技术
现有的DDoS攻击检测方案是对防护对象进行总体上的访问限制,当总体访问超过防御者设定的阈值时,启用防御,对进行访问的单个源ip进行检查。在对单个源ip进行检测时通过单ip的报文种类、每种报文的数目和单个ip的总体连接数进行判断是否为攻击ip(判断的标准依赖于设定者设定的数值)。在判断为攻击ip后对攻击ip进行限制(如报文丢弃,设置黑名单等方式)。
现有的防御方法的缺陷:
1、就防御者而言,防御过度依赖于设定者设定的防御阈值,灵活度低,无法应对业务突发等情况。阈值的设定者也不可能完全了解单个ip具体的访问在超过设定的阈值时是否为真正的攻击源。
2、就客户而言,由于防御者不能准确的判断,就会造成误拦或者漏过的情况,无论是哪种情况都会对业务造成影响,用户体验差,从而流失客户。
术语解释:
DDoS攻击:DDoS的攻击原理,简言之,其实就是利用TCP/UDP协议规律,通过占用协议栈资源或者发起大流量拥塞,达到消耗目标机器性能或者网络的目的。TCP包括三次握手与四次挥手,如图1所示,TCP建立连接时,三次握手包括:
1.client:syn
2.server:syn+ack
3.client:ack
TCP断开连接时,四次挥手包括:
1.client:fin
2.server:ack
3.server:fin
4.client:ack。
CC攻击:CC攻击(Challenge Collapsar)的本名叫做HTTP-FLOOD,是一种专门针对Web应用层FLOOD攻击,攻击者操纵网络上的肉鸡,对目标Web服务器进行海量http request攻击给对方服务器造成服务器资源耗尽,一直到宕机崩溃。CC主要是用来攻击页面的,每个人都有这样的体验:当一个网页访问的人数特别多的时候,打开网页就慢了,CC就是模拟多个用户(多少线程就是多少用户)不停地进行访问那些需要大量数据操作(就是需要大量CPU时间)的页面,造成服务器资源的浪费,CPU长时间处于100%,永远都有处理不完的连接直至就网络拥塞,正常的访问被中止。
信息熵:信息是个很抽象的概念。直到1948年,香农提出了“信息熵”的概念,任何信息都存在冗余,冗余大小与信息中每个符号(数字、字母或单词)的出现概率或者说不确定性有关。通常,一个信源发送出什么符号是不确定的,衡量它可以根据其出现的概率来度量。概率大,出现机会多,不确定性小;反之不确定性就大。不确定性函数f是概率P的减函数;两个独立符号P1、P2所产生的不确定性f(P1,P2)应等于各自不确定性f(P1)、f(P2)之和,即f(P1,P2)=f(P1)+f(P2),这称为可加性。同时满足这两个条件的函数f是对数函数,即:
在信源中,考虑的不是某一单个符号发生的不确定性,而是要考虑这个信源所有可能发生情况的平均不确定性。若信源符号有n种取值:U1…Ui…Un,对应概率为:P1…Pi…Pn,且各种符号的出现彼此独立,Un表示信源符号第n种取值,Pn表示信源符号取值为Un的概率,这时,信源的平均不确定性应当为单个符号不确定性的统计平均值(E),可称为信息熵,即:
其中,U表示信源,-logPi表示第i个信源符号的不确定性,式中对数一般取2为底,单位为比特。但是,也可以取其它对数底,采用其它相应的单位,它们间可用换底公式换算。离散信源的信息熵具有如下特性:
(1)非负性:即收到一个信源符号所获得的信息量应为正值,H(U)≥0
(2)对称性:即对称于P=0.5
(3)确定性:H(1,0)=0,即P=0或P=1已是确定状态,所得信息量为零,H(1,0)代表一件事只有两个可能性,其中一个可能性的概率为100%即1,另一个可能性的概率为0;
(4)极值性:因H(U)是P的上凸函数,且一阶导数在P=0.5时等于0,所以当P=0.5时,H(U)最大。
发明内容
针对现有技术的不足,本发明提供了基于信息熵的DDoS攻击检测方法、装置和电子设备,其中,基于信息熵的DDoS攻击检测方法,包括:
统计ip数据,并计算信息熵;
基于信息熵进行DDoS攻击检测。
本发明一实施方式中,统计ip数据,并计算信息熵,包括:
以T小时(一般为24小时)为一个周期,统计访问的ip数据,包括查询得到访问的ip的地理位置,最终得到单个ip总计访问数目和ip对应的源地址地理位置。
本发明一实施方式中,统计ip数据,并计算信息熵,还包括:
计算所有访问ip的信息熵值H:
其中,Py表示一个周期内第y个源地址地理位置出现的概率,Py=a/b,a表示一个周期内第y个源地址地理位置出现的总数目,b是在业务正常的情况下一个周期内总计的地理位置ip数目,U表示一个周期内访问的ip总数(业务不自带攻击,所以默认前两个周期业务正常),一个周期内H的最小值记为Hmin,最大值记为Hmax。
本发明一实施方式中,基于信息熵进行DDoS攻击检测包括实时计算动态信息熵值和DDoS攻击判定,所述实时计算动态信息熵值,包括:
创建动态原始数据表,动态原始数据表中的记录包括单个ip总计访问数目和ip地理位置,当一个ip超过P秒(一般取值为10秒)没有访问数据,则在动态原始数据表中删除该ip的记录;
通过动态原始数据表计算动态信息熵值,包括:
通过如下公式计算单个地理位置的信息熵值:
HC_py_t=-PTy*log2PTy (2)
HC_py_t表示一个周期内第y个地理位置的信息熵值,PTy表示一个周期内第y个地理位置访问的ip总数目占所有访问的ip总数的比值;
通过如下公式计算所有访问的地区的总信息熵值HYt:
在PT1=PT2=…=PTU的情况下,根据公式(3)求得信息熵HYt的极限,记为HMAX。
本发明一实施方式中,所述DDoS攻击判定,包括:
以T1秒(一般为10秒)为周期对实时访问的ip进行判定:
根据公式(2)和(3)分别计算当前周期即T1秒内的第y个地理位置的信息熵值HC_py_t和所有访问的地区的总信息熵值HYt,当HYt在区间[Hmin,Hmax],判定为正常状态;
当HYt在区间[0,Hmin],判定为攻击状态;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,将当前周期内最大的PTy代入公式(2)计算得到信息熵值A1,上一个周期内最大的PTy代入公式(2)计算得到信息熵值A2,如果T1秒前即上一个周期的最大的PTy在[0,1-c]区间内,且T1秒后即下一个周期的最大的PTy在[0,1-c]区间内,并且A1-A2>0,则判定为攻击状态,c为黄金分割常数;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,如果T1秒前即上一个周期的最大的PTy在[0,1-c]区间内,且T1秒后即下一个周期的最大的PTy在[1-c,1]区间内,则判定为攻击状态;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,如果T1秒前即上一个周期的最大的PTy在[1-c,1]区间内,且T1秒后即下一个周期的最大的PTy在[1-c,1]区间内,并且A1-A2<0,则判定为攻击状态。
本发明一实施方式中,统计ip数据,并计算信息熵,包括:
以T小时为一个周期,统计访问的ip,并查询得到访问的ip的地理位置,得到单个ip总计访问数目和对应的地理位置,对于国内访问的地理位置ip,统计国内访问的地理位置ip总数,即省的数目,记为n;对于国外访问的地理位置ip,统计国外访问的地理位置ip总数,即国家的数目,记为m(IpV4把ip从0.0.0.0到255.255.255.255由国内外运营商进行分配,分配过的ip会标记上该ip的地理位置。所有ip的地理位置存储在ip库中,国内外有很多开源的ip库。可以通过调用公开的ip库接口进行查询(http://www.ip138.com/),或者购买ip库下载到本地进行查询)。
本发明一实施方式中,统计ip数据,并计算信息熵,还包括:
计算中国地区信息熵值HC:
其中,Pi为一个周期内国内第i个源地址地理位置出现的概率,Pi=ai/bi,ai为一个周期内国内第i个源地址地理位置出现的总数目,bi是在业务正常的情况下一个周期内国内总计的地理位置ip数目,i取值为1~n;
计算国外地区信息熵值HF:
其中,Pj为一个周期内国外第j个地理位置出现的概率,Pj=aj/bj,aj为一个周期内国外第j个地理位置出现的ip的总数目,bj是在业务正常情况下一个周期内国外总计的地理位置ip数目,j取值为1~m;
存储计算得到的中国地区信息熵值HC和国外地区信息熵值HF,一个周期内HC的最小值记为HCmin,最大值记为HCmax;一个周期内HF的最小值记为HFmin,最大值记为HFmax。
本发明一实施方式中,基于信息熵进行DDoS攻击检测包括实时计算动态信息熵值和DDoS攻击判定,所述实时计算动态信息熵值,包括:
创建动态原始数据表,动态原始数据表中的记录包括单个ip总计访问数目和ip地理位置,当一个ip超过P秒没有访问数据,则在动态原始数据表中删除该ip的记录;
通过动态原始数据表计算动态信息熵值:
根据如下公式计算中国地区单省市的信息熵值:
HC_pi_t=-PCi*log2PCi, (6)
HC_pi_t表示一个周期内第i个省的信息熵值,PCi为一个周期内国内第i个省访问的ip总数目占全国所有访问的ip总数目的比值;
根据如下公式计算中国地区信息熵值HCt:
根据如下公式计算国外地区信息熵值HFt:
其中,PFj为一个周期第j个国外国家访问的ip总数目占国外所有访问的ip总数目的比值;
根据如下公式计算国外地区单国家的信息熵值:
HF_pj_t=-PFj*log2PFj, (9)
HF_pj_t表示一个周期内国外第j个国家的信息熵值;
在PC1=PC2=…=PCn的情况下,根据公式(7)求得信息熵HCt的极限,记为HCMAX;
在PF1=PF2=…=PFm的情况下,根据公式(8)求得信息熵HFt的极限,记为HFMAX。
本发明一实施方式中,所述DDoS攻击判定,包括:
以T1秒为周期分别实时对国内ip和国外ip进行判定:
对于国内实时访问的地理位置ip,进行如下判定:
根据公式(6)和(7)分别计算当前周期即T1秒内的第i个省的信息熵值HC_pi_t和中国地区信息熵值HCt,当HCt在区间[HCmin,HCmax],判定为正常状态;
当HCt在区间[0,HCmin],判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,将当前周期内最大的PCi代入公式(6)计算得到信息熵值B1,上一个周期内最大的PCi代入公式(6)计算得到信息熵值B2,如果T1秒前即上一个周期的最大的PCi在[0,1-c]区间内,且T1秒后即下一个周期的最大的PCi在[0,1-c]区间内,并且B1-B2>0,则判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,如果T1秒前即上一个周期的最大的PCi在[0,1-c]区间内,且T1秒后即下一个周期的最大的PCi在[1-c,1]区间内,则判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,如果T1秒前即上一个周期的最大的PCi在[1-c,1]区间内,且T1秒后即下一个周期的最大的PCi在[1-c,1]区间内,并且B1-B2<0,则判定为攻击状态;
对于国外实时访问的地理位置ip,进行如下判定:
当HFt在区间[HFmin,HFmax],判定为正常状态;
当HFt在区间[0,HFmin],判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,将当前周期内最大的PFj代入公式(9)计算得到信息熵值C1,上一个周期内最大的PFj代入公式(9)计算得到信息熵值C2,如果T1秒前即上一个周期的最大的PFj在[0,1-c]区间内,且T1秒后即下一个周期的最大的PFj在[0,1-c]区间内,并且C1-C2>0,则判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,如果T1秒前即上一个周期的最大的PFj在[0,1-c]区间内,且T1秒后即下一个周期的最大的PFj在[1-c,1]区间内,则判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,如果T1秒前即上一个周期的最大的PFj在[1-c,1]区间内,且T1秒后即下一个周期的最大的PFj在[1-c,1]区间内,并且C1-C2<0,则判定为攻击状态。
根据本申请的另一方面,还提供基于信息熵的DDoS攻击检测装置,包括:
数据统计和计算模块,用于,统计ip数据,并计算信息熵;
攻击检测模块,用于,基于信息熵进行DDoS攻击检测。
本发明一实施方式中,所述数据统计和计算模块,还用于,以T小时为一个周期,统计访问的ip数据,包括查询得到访问的ip的地理位置,最终得到单个ip总计访问数目和ip对应的源地址地理位置。
本发明一实施方式中,所述数据统计和计算模块,还用于,计算所有访问ip的信息熵值H:
其中,Py表示一个周期内第y个源地址地理位置出现的概率,Py=a/b,a表示一个周期内第y个源地址地理位置出现的总数目,b是在业务正常的情况下一个周期内总计的地理位置ip数目,U表示一个周期内访问的ip总数,一个周期内H的最小值记为Hmin,最大值记为Hmax。
本发明一实施方式中,所述攻击检测模块,还用于,实时计算动态信息熵值和DDoS攻击判定,所述实时计算动态信息熵值,包括:
创建动态原始数据表,动态原始数据表中的记录包括单个ip总计访问数目和ip地理位置,当一个ip超过P秒没有访问数据,则在动态原始数据表中删除该ip的记录;
通过动态原始数据表计算动态信息熵值,包括:
通过如下公式计算单个地理位置的信息熵值:
HC_py_t=-PTy*log2Pty, (2)
HC_py_t表示一个周期内第y个地理位置的信息熵值,PTy表示一个周期内第y个地理位置访问的ip总数目占所有访问的ip总数的比值;
通过如下公式计算所有访问的地区的总信息熵值HYt:
在PT1=PT2=…=PTU的情况下,根据公式(3)求得信息熵HYt的极限,记为HMAX。
本发明一实施方式中,所述DDoS攻击判定,包括:
以T1秒为周期对实时访问的ip进行判定:
根据公式(2)和(3)分别计算当前周期即T1秒内的第y个地理位置的信息熵值HC_py_t和所有访问的地区的总信息熵值HYt,当HYt在区间[Hmin,Hmax],判定为正常状态;
当HYt在区间[0,Hmin],判定为攻击状态;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,将当前周期内最大的PTy代入公式(2)计算得到信息熵值A1,上一个周期内最大的PTy代入公式(2)计算得到信息熵值A2,如果T1秒前即上一个周期的最大的PTy在[0,1-c]区间内,且T1秒后即下一个周期的最大的PTy在[0,1-c]区间内,并且A1-A2>0,则判定为攻击状态,c为黄金分割常数;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,如果T1秒前即上一个周期的最大的PTy在[0,1-c]区间内,且T1秒后即下一个周期的最大的PTy在[1-c,1]区间内,则判定为攻击状态;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,如果T1秒前即上一个周期的最大的PTy在[1-c,1]区间内,且T1秒后即下一个周期的最大的PTy在[1-c,1]区间内,并且A1-A2<0,则判定为攻击状态。
本发明一实施方式中,所述数据统计和计算模块,还用于,以T小时为一个周期,统计访问的ip,并查询得到访问的ip的地理位置,得到单个ip总计访问数目和对应的地理位置,对于国内访问的地理位置ip,统计国内访问的地理位置ip总数,即省的数目,记为n;对于国外访问的地理位置ip,统计国外访问的地理位置ip总数,即国家的数目,记为m。
本发明一实施方式中,所述数据统计和计算模块,还用于,计算中国地区信息熵值HC:
其中,Pi为一个周期内国内第i个源地址地理位置出现的概率,Pi=ai/bi,ai为一个周期内国内第i个源地址地理位置出现的总数目,bi是在业务正常的情况下一个周期内国内总计的地理位置ip数目,i取值为1~n;
计算国外地区信息熵值HF:
其中,Pj为一个周期内国外第j个地理位置出现的概率,Pj=aj/bj,aj为一个周期内国外第j个地理位置出现的ip的总数目,bj是在业务正常情况下一个周期内国外总计的地理位置ip数目,j取值为1~m;
存储计算得到的中国地区信息熵值HC和国外地区信息熵值HF,一个周期内HC的最小值记为HCmin,最大值记为HCmax;一个周期内HF的最小值记为HFmin,最大值记为HFmax。
本发明一实施方式中,所述攻击检测模块,还用于,实时计算动态信息熵值和DDoS攻击判定,所述实时计算动态信息熵值,包括:
创建动态原始数据表,动态原始数据表中的记录包括单个ip总计访问数目和ip地理位置,当一个ip超过P秒没有访问数据,则在动态原始数据表中删除该ip的记录;
通过动态原始数据表计算动态信息熵值:
根据如下公式计算中国地区单省市的信息熵值:
HC_pi_t=-PCi*log2PCi, (6)
HC_pi_t表示一个周期内第i个省的信息熵值,PCi为一个周期内国内第i个省访问的ip总数目占全国所有访问的ip总数目的比值;
根据如下公式计算中国地区信息熵值HCt:
根据如下公式计算国外地区信息熵值HFt:
其中,PFj为一个周期第j个国外国家访问的ip总数目占国外所有访问的ip总数目的比值;
根据如下公式计算国外地区单国家的信息熵值:
HF_pj_t=-PFj*log2PFj, (9)
HF_pj_t表示一个周期内国外第j个国家的信息熵值;
在PC1=PC2=…=PCn的情况下,根据公式(7)求得信息熵HCt的极限,记为HCMAX;
在PF1=PF2=…=PFm的情况下,根据公式(8)求得信息熵HFt的极限,记为HFMAX。
本发明一实施方式中,所述DDoS攻击判定,包括:
以T1秒为周期分别实时对国内ip和国外ip进行判定:
对于国内实时访问的地理位置ip,进行如下判定:
根据公式(6)和(7)分别计算当前周期即T1秒内的第i个省的信息熵值HC_pi_t和中国地区信息熵值HCt,当HCt在区间[HCmin,HCmax],判定为正常状态;
当HCt在区间[0,HCmin],判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,将当前周期内最大的PCi代入公式(6)计算得到信息熵值B1,上一个周期内最大的PCi代入公式(6)计算得到信息熵值B2,如果T1秒前即上一个周期的最大的PCi在[0,1-c]区间内,且T1秒后即下一个周期的最大的PCi在[0,1-c]区间内,并且B1-B2>0,则判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,如果T1秒前即上一个周期的最大的PCi在[0,1-c]区间内,且T1秒后即下一个周期的最大的PCi在[1-c,1]区间内,则判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,如果T1秒前即上一个周期的最大的PCi在[1-c,1]区间内,且T1秒后即下一个周期的最大的PCi在[1-c,1]区间内,并且B1-B2<0,则判定为攻击状态;
对于国外实时访问的地理位置ip,进行如下判定:
当HFt在区间[HFmin,HFmax],判定为正常状态;
当HFt在区间[0,HFmin],判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,将当前周期内最大的PFj代入公式(9)计算得到信息熵值C1,上一个周期内最大的PFj代入公式(9)计算得到信息熵值C2,如果T1秒前即上一个周期的最大的PFj在[0,1-c]区间内,且T1秒后即下一个周期的最大的PFj在[0,1-c]区间内,并且C1-C2>0,则判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,如果T1秒前即上一个周期的最大的PFj在[0,1-c]区间内,且T1秒后即下一个周期的最大的PFj在[1-c,1]区间内,则判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,如果T1秒前即上一个周期的最大的PFj在[1-c,1]区间内,且T1秒后即下一个周期的最大的PFj在[1-c,1]区间内,并且C1-C2<0,则判定为攻击状态。
根据本申请的另一方面,还提供一种电子设备,包括:处理器和存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如上所述的攻击检测方法。
根据本申请的另一方面,还提供一种计算机可读存储介质,其上存储有计算机程序指令,当所述计算机程序指令被计算装置执行时,可操作来执行如上所述的攻击检测方法。
有益效果:信息熵表示了信息的确定性,正常业务下的信息熵具有一定的稳定性,通过这种稳定性来判断是否为攻击可以最大限度的在服务器业务正常的情况下保障尽可能多的用户的访问。相比于传统的阈值判定攻击的方法,本方法可以减少因人为阈值设置不当造成的攻击状态误判断,一旦正常情况误判断为攻击会在一定程度上影响客户的使用体验,严重甚至会造成用户无法访问的情况发生。同时本发明减少了人工干预设置阈值,更加方便运维。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述或其他方面的优点将会变得更加清楚。
图1是TCP三次握手与四次挥手示意图。
图2是Hpi的值随Pi变化示意图。
图3是本发明提供的电子设备架构图。
图4是本发明提供的基于信息熵的DDoS攻击检测装置架构图。
图5是本发明攻击检测方法流程图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
实施例
服务器的性能是有限的,因此,在排除带宽因素导致的链路不可用情况下,要及时的检测攻击并保证服务器业务的可用性,减少因对是否为攻击的异常判断对正常业务造成的影响。
对于一个正常且稳定的业务,总用户和日常在线用户总是保持在一个相对稳定的水准下,总用户数量(如一个APP的注册人数)会保持相对缓慢的增加或者不变,但日常在线用户数量会远小于注册数,即使在业务高峰期,日常在线用户突增但还是小于等于用户总数量。
关系:日常在线数<=用户总数量
在业务正常情况下,每一个用户持有一个ip,由于用户的地理位置分布情况相对稳定,所以相应的ip分布也是稳定的。本实施例中对正常业务下的ip进行统计,并对每个地理位置出现的ip数进行统计。利用其信息熵值进行检测。信息熵值的计算公式如下:H=-∑Pi*log2Pi,*log2Pi表示2为底Pi的对数,i=1,2,…,n,其中,n取值为自然数,Pi为国内第i个源地址地理位置ip出现的概率,Pi=mi/n;mi为国内第i个源地址地理位置ip出现的总数目,n是在正常访问下一天总计的ip数。一般说来,在DDoS攻击中,由于攻击的ip比较集中,会造成信息熵值不在正常的范围内。以此来计算出ip地理位置分布的信息熵。记录每天正常业务的信息熵,通过学习功能计算出信息熵范围,以此范围作为容忍度。
具体方案:
如图5所示,信息熵的DDoS攻击检测方法分为两个阶段,分别为:特征处理和模型检测两个阶段。
一、特征处理:基于信息熵的特征处理
在正常业务的情况下统计一天访问业务的ip和地理位置(学习过程)
1、时间维度(以24小时为一个周期,0点到24点)
2、以24小时为一个周期,统计访问的ip,并查询得到访问的ip的地理位置,得到单个ip总计访问数目和对应的地理位置,对于国内访问的地理位置ip,统计国内访问的地理位置ip总数,即省的数目,记为n;对于国外访问的地理位置ip,统计国外访问的地理位置ip总数,即国家的数目,记为m。并进行记录存储到数据库中。
Ip地理位置分为两大区域:国内(具体到省),国外(精确计算,因为国内外区域流量差异巨大)
原始数据表一:
原始数据表二:
原始数据表三:
3、提取信息熵并存储到信息熵值模型表中
计算中国地区信息熵值HC:
其中,Pi为一个周期内国内第i个源地址地理位置出现的概率,Pi=ai/bi,ai为一个周期内国内第i个源地址地理位置出现的总数目,bi是在业务正常的情况下一个周期内国内总计的地理位置ip数目,i取值为1~n;
根据如下公式计算中国地区单省市的信息熵值:
HC_pi_t=-PCi*log2PCi, (6)
HC_pi_t表示一个周期内第i个省的信息熵值,PCi为一个周期内国内第i个省访问的ip总数目占全国所有访问的ip总数目的比值;
信息熵值模型表一(中国):
根据信息熵值模型表一计算中国地区信息熵值HC=1.839798;
信息熵值模型表二(国外):
计算国外地区信息熵值HF:
其中,PFj为一个周期内国外第j个地理位置出现的概率,PFj=aj/bj,aj为一个周期内国外第j个地理位置出现的ip的总数目,bj是在业务正常情况下一个周期内国外总计的地理位置ip数目,j取值为1~m;
根据信息熵值模型表二得到HF=2.174354。
存储计算得到的中国地区信息熵值HC和国外地区信息熵值HF,,一个周期内HC的最小值记为HCmin,最大值记为HCmax;一个周期内HF的最小值记为HFmin,最大值记为HFmax。
二、模型检测:
模型检测分为两个阶段:
1,实时特征处理:
通过创建动态原始数据表计算信息熵值特征,并对ip设置超时时间OutTime为10S,OutTime=10S(当一个ip在超过10S没有访问数据,则在表中删除该ip的记录)。
动态原始数据表:
通过动态原始数据表分别计算动态信息熵值(实时更新)
中国地区单省市的信息熵值HC_pi_t=-PCi*log2PCi
国外地区单国家的信息熵值HF_pj_t=-PFj*log2PFj
2、基于对比学习过程中的信息熵进行DDoS攻击判定
(1)信息熵值公式为H=-∑Pi*Iog2Pi,根据公式可知:P1+P2+…+Pn=1,所以信息熵值存在极限(P1=P2=..Pn时信息熵值最大),并且极限值取决于n。由于n在国内和国外是确定的,所以国内、国外信息熵值极限为常数(且可求)。国内信息熵值极限为HCMAX,国外信息熵值极限为HFMAX;
(2)对于概率为Pi的信息熵来说,计算公式为:Hpi=-Pi*Iog2Pi,0<Pi<1,所以Hpi的值随Pi变化如图2所示,第i个地理位置的信息熵为Hpi;引入黄金分割常数c=0.618(无限循环,取小数点后14位),可以求得Hpi的极限:当Pi=1-c时Hpi最大,即Hpi(max)=-(1-c)*log2(1-c),图2中,X轴为Pi,Y轴为Hpi;
(3)攻击判定
判定周期:以10秒为周期进行判定,对于国内实时访问的地理位置ip,进行如下判定:
根据公式(6)和(7)分别计算当前周期即T1秒内的第i个省的信息熵值HC_pi_t和中国地区信息熵值HCt,当HCt在区间[HCmin,HCmax],判定为正常状态;
当HCt在区间[0,HCmin],判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,将当前周期内最大的PCi代入公式(6)计算得到信息熵值B1,上一个周期内最大的PCi代入公式(6)计算得到信息熵值B2,如果T1秒前即上一个周期的最大的PCi在[0,1-c]区间内,且T1秒后即下一个周期的最大的PCi在[0,1-c]区间内,并且B1-B2>0,则判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,如果T1秒前即上一个周期的最大的PCi在[0,1-c]区间内,且T1秒后即下一个周期的最大的PCi在[1-c,1]区间内,则判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,如果T1秒前即上一个周期的最大的PCi在[1-c,1]区间内,且T1秒后即下一个周期的最大的PCi在[1-c,1]区间内,并且B1-B2<0,则判定为攻击状态;
对于国外实时访问的地理位置ip,进行如下判定:
当HFt在区间[HFmin,HFmax],判定为正常状态;
当HFt在区间[0,HFmin],判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,将当前周期内最大的PFj代入公式(9)计算得到信息熵值C1,上一个周期内最大的PFj代入公式(9)计算得到信息熵值C2,如果T1秒前即上一个周期的最大的PFj在[0,1-c]区间内,且T1秒后即下一个周期的最大的PFj在[0,1-c]区间内,并且C1-C2>0,则判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,如果T1秒前即上一个周期的最大的PFj在[0,1-c]区间内,且T1秒后即下一个周期的最大的PFj在[1-c,1]区间内,则判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,如果T1秒前即上一个周期的最大的PFj在[1-c,1]区间内,且T1秒后即下一个周期的最大的PFj在[1-c,1]区间内,并且C1-C2<0,则判定为攻击状态。
如图4所示,根据本申请的另一方面,还提供基于信息熵的DDoS攻击检测装置100,包括:
数据统计和计算模块101,用于,统计ip数据,并计算信息熵;
攻击检测102,用于,基于信息熵进行DDoS攻击检测;
本发明一实施方式中,所述数据统计和计算模块,还用于,以T小时为一个周期,统计访问的ip数据,包括查询得到访问的ip的地理位置,最终得到单个ip总计访问数目和ip对应的源地址地理位置。
本发明一实施方式中,所述数据统计和计算模块,还用于,计算所有访问ip的信息熵值H:
其中,Py表示一个周期内第y个源地址地理位置出现的概率,Py=a/b,a表示一个周期内第y个源地址地理位置出现的总数目,b是在业务正常的情况下一个周期内总计的地理位置ip数目,U表示一个周期内访问的ip总数,一个周期内H的最小值记为Hmin,最大值记为Hmax。
本发明一实施方式中,所述攻击检测模块,还用于,实时计算动态信息熵值和DDoS攻击判定,所述实时计算动态信息熵值,包括:
创建动态原始数据表,动态原始数据表中的记录包括单个ip总计访问数目和ip地理位置,当一个ip超过P秒没有访问数据,则在动态原始数据表中删除该ip的记录;
通过动态原始数据表计算动态信息熵值,包括:
通过如下公式计算单个地理位置的信息熵值:
HC_py_t=-PTy*log2Pty, (2)
HC_py_t表示一个周期内第y个地理位置的信息熵值,PTy表示一个周期内第y个地理位置访问的ip总数目占所有访问的ip总数的比值;
通过如下公式计算所有访问的地区的总信息熵值HYt:
在PT1=PT2=…=PTU的情况下,根据公式(3)求得信息熵HYt的极限,记为HMAX。
本发明一实施方式中,所述DDoS攻击判定,包括:
以T1秒为周期对实时访问的ip进行判定:
根据公式(2)和(3)分别计算当前周期即T1秒内的第y个地理位置的信息熵值HC_py_t和所有访问的地区的总信息熵值HYt,当HYt在区间[Hmin,Hmax],判定为正常状态;
当HYt在区间[0,Hmin],判定为攻击状态;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,将当前周期内最大的PTy代入公式(2)计算得到信息熵值A1,上一个周期内最大的PTy代入公式(2)计算得到信息熵值A2,如果T1秒前即上一个周期的最大的PTy在[0,1-c]区间内,且T1秒后即下一个周期的最大的PTy在[0,1-c]区间内,并且A1-A2>0,则判定为攻击状态,c为黄金分割常数;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,如果T1秒前即上一个周期的最大的PTy在[0,1-c]区间内,且T1秒后即下一个周期的最大的PTy在[1-c,1]区间内,则判定为攻击状态;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,如果T1秒前即上一个周期的最大的PTy在[1-c,1]区间内,且T1秒后即下一个周期的最大的PTy在[1-c,1]区间内,并且A1-A2<0,则判定为攻击状态。
本发明一实施方式中,所述数据统计和计算模块,还用于,以T小时为一个周期,统计访问的ip,并查询得到访问的ip的地理位置,得到单个ip总计访问数目和对应的地理位置,对于国内访问的地理位置ip,统计国内访问的地理位置ip总数,即省的数目,记为n;对于国外访问的地理位置ip,统计国外访问的地理位置ip总数,即国家的数目,记为m。
本发明一实施方式中,所述数据统计和计算模块,还用于,计算中国地区信息熵值HC:
其中,Pi为一个周期内国内第i个源地址地理位置出现的概率,Pi=ai/bi,ai为一个周期内国内第i个源地址地理位置出现的总数目,bi是在业务正常的情况下一个周期内国内总计的地理位置ip数目,i取值为1~n;
计算国外地区信息熵值HF:
其中,Pj为一个周期内国外第j个地理位置出现的概率,Pj=aj/bj,aj为一个周期内国外第j个地理位置出现的ip的总数目,bj是在业务正常情况下一个周期内国外总计的地理位置ip数目,j取值为1~m;
存储计算得到的中国地区信息熵值HC和国外地区信息熵值HF,一个周期内HC的最小值记为HCmin,最大值记为HCmax;一个周期内HF的最小值记为HFmin,最大值记为HFmax。
本发明一实施方式中,所述攻击检测模块,还用于,实时计算动态信息熵值和DDoS攻击判定,所述实时计算动态信息熵值,包括:
创建动态原始数据表,动态原始数据表中的记录包括单个ip总计访问数目和ip地理位置,当一个ip超过P秒没有访问数据,则在动态原始数据表中删除该ip的记录;
通过动态原始数据表计算动态信息熵值:
根据如下公式计算中国地区单省市的信息熵值:
HC_pi_t=-PCi*log2PCi, (6)
HC_pi_t表示一个周期内第i个省的信息熵值,PCi为一个周期内国内第i个省访问的ip总数目占全国所有访问的ip总数目的比值;
根据如下公式计算中国地区信息熵值HCt:
根据如下公式计算国外地区信息熵值HFt:
其中,PFj为一个周期第j个国外国家访问的ip总数目占国外所有访问的ip总数目的比值;
根据如下公式计算国外地区单国家的信息熵值:
HF_pj_t=-PFj*log2PFj, (9)
HF_pj_t表示一个周期内国外第j个国家的信息熵值;
在PC1=PC2=…=PCn的情况下,根据公式(7)求得信息熵HCt的极限,记为HCMAX;
在PF1=PF2=…=PFm的情况下,根据公式(8)求得信息熵HFt的极限,记为HFMAX。
本发明一实施方式中,所述DDoS攻击判定,包括:
以T1秒为周期分别实时对国内ip和国外ip进行判定:
对于国内实时访问的地理位置ip,进行如下判定:
根据公式(6)和(7)分别计算当前周期即T1秒内的第i个省的信息熵值HC_pi_t和中国地区信息熵值HCt,当HCt在区间[HCmin,HCmax],判定为正常状态;
当HCt在区间[0,HCmin],判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,将当前周期内最大的PCi代入公式(6)计算得到信息熵值B1,上一个周期内最大的PCi代入公式(6)计算得到信息熵值B2,如果T1秒前即上一个周期的最大的PCi在[0,1-c]区间内,且T1秒后即下一个周期的最大的PCi在[0,1-c]区间内,并且B1-B2>0,则判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,如果T1秒前即上一个周期的最大的PCi在[0,1-c]区间内,且T1秒后即下一个周期的最大的PCi在[1-c,1]区间内,则判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,如果T1秒前即上一个周期的最大的PCi在[1-c,1]区间内,且T1秒后即下一个周期的最大的PCi在[1-c,1]区间内,并且B1-B2<0,则判定为攻击状态;
对于国外实时访问的地理位置ip,进行如下判定:
当HFt在区间[HFmin,HFmax],判定为正常状态;
当HFt在区间[0,HFmin],判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,将当前周期内最大的PFj代入公式(9)计算得到信息熵值C1,上一个周期内最大的PFj代入公式(9)计算得到信息熵值C2,如果T1秒前即上一个周期的最大的PFj在[0,1-c]区间内,且T1秒后即下一个周期的最大的PFj在[0,1-c]区间内,并且C1-C2>0,则判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,如果T1秒前即上一个周期的最大的PFj在[0,1-c]区间内,且T1秒后即下一个周期的最大的PFj在[1-c,1]区间内,则判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,如果T1秒前即上一个周期的最大的PFj在[1-c,1]区间内,且T1秒后即下一个周期的最大的PFj在[1-c,1]区间内,并且C1-C2<0,则判定为攻击状态。
如上所述,根据本申请实施例的基于信息熵的DDoS攻击检测装置,可以实现在各种终端设备中,例如分布式计算系统的服务器。在一个示例中,根据本申请实施例的基于信息熵的DDoS攻击检测装置可以作为一个软件模块和/或硬件模块而集成到所述终端设备中。例如,该基于信息熵的DDoS攻击检测装置可以是该终端设备的操作系统中的一个软件模块,或者可以是针对于该终端设备所开发的一个应用程序;当然,该基于信息熵的DDoS攻击检测装置同样可以是该终端设备的众多硬件模块之一。
替换地,在另一示例中,该基于信息熵的DDoS攻击检测装置与终端设备也可以是分立的终端设备,并且该基于信息熵的DDoS攻击检测装置可以通过有线和/或无线网络连接到该终端设备,并且按照约定的数据格式来传输交互信息。
如图3所示,本申请还提供一种电子设备10,包括:
一个或多个处理器11和存储器12,处理器11可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。
存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的基于信息熵的DDoS攻击检测方法以及/或者其他期望的功能。
在一个示例中,电子设备10还可以包括输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,该输入装置13可以是键盘、鼠标等。
该输出装置14可以向外部输出各种信息,包括基于信息熵的DDoS攻击检测的结果等。该输出装置14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等。
当然,为了简化,图3中仅示出了该电子设备10与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。
根据本申请的另一方面,还提供一种计算机可读存储介质,其上存储有计算机程序指令,当所述计算机程序指令被计算装置执行时,可操作来执行如上所述的基于信息熵的DDoS攻击检测方法。
本发明提供了基于信息熵的DDoS攻击检测方法、装置和电子设备,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (11)
1.基于信息熵的DDoS攻击检测方法,其特征在于,包括:
统计ip数据,并计算信息熵;
基于信息熵进行DDoS攻击检测;
所述基于信息熵进行DDoS攻击检测包括实时计算动态信息熵值和DDoS攻击判定;
其中,统计ip数据,并计算信息熵,包括:
以T小时为一个周期,统计访问的ip数据,包括查询得到访问的ip的地理位置,最终得到单个ip总计访问数目和ip对应的源地址地理位置;
其中,统计ip数据,并计算信息熵,还包括:
计算所有访问ip的信息熵值H:
其中,Py表示一个周期内第y个源地址地理位置出现的概率,Py=a/b,a表示一个周期内第y个源地址地理位置出现的总数目,b是在业务正常的情况下一个周期内总计的地理位置ip数目,U表示一个周期内访问的ip总数,一个周期内H的最小值记为Hmin,最大值记为Hmax;
其中,所述实时计算动态信息熵值,包括:
创建动态原始数据表,动态原始数据表中的记录包括单个ip总计访问数目和ip地理位置,当一个ip超过P秒没有访问数据,则在动态原始数据表中删除该ip的记录;
通过动态原始数据表计算动态信息熵值,包括:
通过如下公式计算单个地理位置的信息熵值:
HC_py_t=-PTy*log2PTy (2)
HC_py_t表示一个周期内第y个地理位置的信息熵值,PTy表示一个周期内第y个地理位置访问的ip总数目占所有访问的ip总数的比值;
通过如下公式计算所有访问的地区的总信息熵值HYt:
在PT1=PT2=…=PTU的情况下,根据公式(3)求得信息熵HYt的极限,记为HMAX;
其中,所述DDoS攻击判定,包括:
以T1秒为周期对实时访问的ip进行判定:
根据公式(2)和(3)分别计算当前周期即T1秒内的第y个地理位置的信息熵值HC_py_t和所有访问的地区的总信息熵值HYt,当HYt在区间[Hmin,Hmax],判定为正常状态;
当HYt在区间[0,Hmin],判定为攻击状态;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,将当前周期内最大的PTy代入公式(2)计算得到信息熵值A1,上一个周期内最大的PTy代入公式(2)计算得到信息熵值A2,如果T1秒前即上一个周期的最大的PTy在[0,1-c]区间内,且T1秒后即下一个周期的最大的PTy在[0,1-c]区间内,并且A1-A2>0,则判定为攻击状态,c为黄金分割常数;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,如果T1秒前即上一个周期的最大的PTy在[0,1-c]区间内,且T1秒后即下一个周期的最大的PTy在[1-c,1]区间内,则判定为攻击状态;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,如果T1秒前即上一个周期的最大的PTy在[1-c,1]区间内,且T1秒后即下一个周期的最大的PTy在[1-c,1]区间内,并且A1-A2<0,则判定为攻击状态。
2.根据权利要求1所述的方法,其特征在于,其中,统计ip数据,并计算信息熵,包括:
以T小时为一个周期,统计访问的ip,并查询得到访问的ip的地理位置,得到单个ip总计访问数目和对应的地理位置,对于国内访问的地理位置ip,统计国内访问的地理位置ip总数,即省的数目,记为n;对于国外访问的地理位置ip,统计国外访问的地理位置ip总数,即国家的数目,记为m。
3.根据权利要求2所述的方法,其特征在于,其中,统计ip数据,并计算信息熵,还包括:
计算中国地区信息熵值HC:
其中,Pi为一个周期内国内第i个源地址地理位置出现的概率,Pi=ai/bi,ai为一个周期内国内第i个源地址地理位置出现的总数目,bi是在业务正常的情况下一个周期内国内总计的地理位置ip数目,i取值为1~n;
计算国外地区信息熵值HF:
其中,Pj为一个周期内国外第j个地理位置出现的概率,Pj=aj/bj,aj为一个周期内国外第j个地理位置出现的ip的总数目,bj是在业务正常情况下一个周期内国外总计的地理位置ip数目,j取值为1~m;
存储计算得到的中国地区信息熵值HC和国外地区信息熵值HF,一个周期内HC的最小值记为HCmin,最大值记为HCmax;一个周期内HF的最小值记为HFmin,最大值记为HFmax。
4.根据权利要求3所述的方法,其特征在于,其中,基于信息熵进行DDoS攻击检测包括实时计算动态信息熵值和DDoS攻击判定,所述实时计算动态信息熵值,包括:
创建动态原始数据表,动态原始数据表中的记录包括单个ip总计访问数目和ip地理位置,当一个ip超过P秒没有访问数据,则在动态原始数据表中删除该ip的记录;
通过动态原始数据表计算动态信息熵值:
根据如下公式计算中国地区单省市的信息熵值:
HC_pi_t=-PCi*log2PCi, (6)
HC_pi_t表示一个周期内第i个省的信息熵值,PCi为一个周期内国内第i个省访问的ip总数目占全国所有访问的ip总数目的比值;
根据如下公式计算中国地区信息熵值HCt:
根据如下公式计算国外地区信息熵值HFt:
其中,PFj为一个周期第j个国外国家访问的ip总数目占国外所有访问的ip总数目的比值;
根据如下公式计算国外地区单国家的信息熵值:
HF_pj_t=-PFj*log2PFj, (9)
HF_pj_t表示一个周期内国外第j个国家的信息熵值;
在PC1=PC2=…=PCn的情况下,根据公式(7)求得信息熵HCt的极限,记为HCMAX;
在PF1=PF2=…=PFm的情况下,根据公式(8)求得信息熵HFt的极限,记为HFMAX。
5.根据权利要求4所述的方法,其特征在于,其中,所述DDoS攻击判定,包括:
以T1秒为周期分别实时对国内ip和国外ip进行判定:
对于国内实时访问的地理位置ip,进行如下判定:
根据公式(6)和(7)分别计算当前周期即T1秒内的第i个省的信息熵值HC_pi_t和中国地区信息熵值HCt,当HCt在区间[HCmin,HCmax],判定为正常状态;
当HCt在区间[0,HCmin],判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,将当前周期内最大的PCi代入公式(6)计算得到信息熵值B1,上一个周期内最大的PCi代入公式(6)计算得到信息熵值B2,如果T1秒前即上一个周期的最大的PCi在[0,1-c]区间内,且T1秒后即下一个周期的最大的PCi在[0,1-c]区间内,并且B1-B2>0,则判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,如果T1秒前即上一个周期的最大的PCi在[0,1-c]区间内,且T1秒后即下一个周期的最大的PCi在[1-c,1]区间内,则判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,如果T1秒前即上一个周期的最大的PCi在[1-c,1]区间内,且T1秒后即下一个周期的最大的PCi在[1-c,1]区间内,并且B1-B2<0,则判定为攻击状态;
对于国外实时访问的地理位置ip,进行如下判定:
当HFt在区间[HFmin,HFmax],判定为正常状态;
当HFt在区间[0,HFmin],判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,将当前周期内最大的PFj代入公式(9)计算得到信息熵值C1,上一个周期内最大的PFj代入公式(9)计算得到信息熵值C2,如果T1秒前即上一个周期的最大的PFj在[0,1-c]区间内,且T1秒后即下一个周期的最大的PFj在[0,1-c]区间内,并且C1-C2>0,则判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,如果T1秒前即上一个周期的最大的PFj在[0,1-c]区间内,且T1秒后即下一个周期的最大的PFj在[1-c,1]区间内,则判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,如果T1秒前即上一个周期的最大的PFj在[1-c,1]区间内,且T1秒后即下一个周期的最大的PFj在[1-c,1]区间内,并且C1-C2<0,则判定为攻击状态。
6.基于信息熵的DDoS攻击检测装置,其特征在于,包括:
数据统计和计算模块,用于,统计ip数据,并计算信息熵;
攻击检测模块,用于,基于信息熵进行DDoS攻击检测;所述基于信息熵进行DDoS攻击检测包括实时计算动态信息熵值和DDoS攻击判定;
其中,所述数据统计和计算模块,还用于,以T小时为一个周期,统计访问的ip数据,包括查询得到访问的ip的地理位置,最终得到单个ip总计访问数目和ip对应的源地址地理位置;
其中,所述数据统计和计算模块,还用于,计算所有访问ip的信息熵值H:
其中,Py表示一个周期内第y个源地址地理位置出现的概率,Py=a/b,a表示一个周期内第y个源地址地理位置出现的总数目,b是在业务正常的情况下一个周期内总计的地理位置ip数目,U表示一个周期内访问的ip总数,一个周期内H的最小值记为Hmin,最大值记为Hmax;
所述实时计算动态信息熵值,包括:
创建动态原始数据表,动态原始数据表中的记录包括单个ip总计访问数目和ip地理位置,当一个ip超过P秒没有访问数据,则在动态原始数据表中删除该ip的记录;
通过动态原始数据表计算动态信息熵值,包括:
通过如下公式计算单个地理位置的信息熵值:
HC_py_t=-PTy*log2Pty, (2)
HC_py_t表示一个周期内第y个地理位置的信息熵值,PTy表示一个周期内第y个地理位置访问的ip总数目占所有访问的ip总数的比值;
通过如下公式计算所有访问的地区的总信息熵值HYt:
在PT1=PT2=…=PTU的情况下,根据公式(3)求得信息熵HYt的极限,记为HMAX;
其中,所述DDoS攻击判定,包括:
以T1秒为周期对实时访问的ip进行判定:
根据公式(2)和(3)分别计算当前周期即T1秒内的第y个地理位置的信息熵值HC_py_t和所有访问的地区的总信息熵值HYt,当HYt在区间[Hmin,Hmax],判定为正常状态;
当HYt在区间[0,Hmin],判定为攻击状态;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,将当前周期内最大的PTy代入公式(2)计算得到信息熵值A1,上一个周期内最大的PTy代入公式(2)计算得到信息熵值A2,如果T1秒前即上一个周期的最大的PTy在[0,1-c]区间内,且T1秒后即下一个周期的最大的PTy在[0,1-c]区间内,并且A1-A2>0,则判定为攻击状态,c为黄金分割常数;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,如果T1秒前即上一个周期的最大的PTy在[0,1-c]区间内,且T1秒后即下一个周期的最大的PTy在[1-c,1]区间内,则判定为攻击状态;
当HYt在区间[Hmax,HMAX]时,选取周期内最大的PTy,如果T1秒前即上一个周期的最大的PTy在[1-c,1]区间内,且T1秒后即下一个周期的最大的PTy在[1-c,1]区间内,并且A1-A2<0,则判定为攻击状态。
7.根据权利要求6所述的基于信息熵的DDoS攻击检测装置,其特征在于,其中,所述数据统计和计算模块,还用于,以T小时为一个周期,统计访问的ip,并查询得到访问的ip的地理位置,得到单个ip总计访问数目和对应的地理位置,对于国内访问的地理位置ip,统计国内访问的地理位置ip总数,即省的数目,记为n;对于国外访问的地理位置ip,统计国外访问的地理位置ip总数,即国家的数目,记为m。
8.根据权利要求7所述的基于信息熵的DDoS攻击检测装置,其特征在于,其中,所述数据统计和计算模块,还用于,计算中国地区信息熵值HC:
其中,Pi为一个周期内国内第i个源地址地理位置出现的概率,Pi=ai/bi,ai为一个周期内国内第i个源地址地理位置出现的总数目,bi是在业务正常的情况下一个周期内国内总计的地理位置ip数目,i取值为1~n;
计算国外地区信息熵值HF:
其中,Pj为一个周期内国外第j个地理位置出现的概率,Pj=aj/bj,aj为一个周期内国外第j个地理位置出现的ip的总数目,bj是在业务正常情况下一个周期内国外总计的地理位置ip数目,j取值为1~m;
存储计算得到的中国地区信息熵值HC和国外地区信息熵值HF,一个周期内HC的最小值记为HCmin,最大值记为HCmax;一个周期内HF的最小值记为HFmin,最大值记为HFmax。
9.根据权利要求8所述的基于信息熵的DDoS攻击检测装置,其特征在于,其中,所述攻击检测模块,还用于,实时计算动态信息熵值和DDoS攻击判定,所述实时计算动态信息熵值,包括:
创建动态原始数据表,动态原始数据表中的记录包括单个ip总计访问数目和ip地理位置,当一个ip超过P秒没有访问数据,则在动态原始数据表中删除该ip的记录;
通过动态原始数据表计算动态信息熵值:
根据如下公式计算中国地区单省市的信息熵值:
HC_pi_t=-PCi*log2PCi, (6)
HC_pi_t表示一个周期内第i个省的信息熵值,PCi为一个周期内国内第i个省访问的ip总数目占全国所有访问的ip总数目的比值;
根据如下公式计算中国地区信息熵值HCt:
根据如下公式计算国外地区信息熵值HFt:
其中,PFj为一个周期第j个国外国家访问的ip总数目占国外所有访问的ip总数目的比值;
根据如下公式计算国外地区单国家的信息熵值:
HF_pj_t=-PFj*log2PFj, (9)
HF_pj_t表示一个周期内国外第j个国家的信息熵值;
在PC1=PC2=…=PCn的情况下,根据公式(7)求得信息熵HCt的极限,记为HCMAX;
在PF1=PF2=…=PFm的情况下,根据公式(8)求得信息熵HFt的极限,记为HFMAX。
10.根据权利要求9所述的基于信息熵的DDoS攻击检测装置,其特征在于,其中,所述DDoS攻击判定,包括:
以T1秒为周期分别实时对国内ip和国外ip进行判定:
对于国内实时访问的地理位置ip,进行如下判定:
根据公式(6)和(7)分别计算当前周期即T1秒内的第i个省的信息熵值HC_pi_t和中国地区信息熵值HCt,当HCt在区间[HCmin,HCmax],判定为正常状态;
当HCt在区间[0,HCmin],判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,将当前周期内最大的PCi代入公式(6)计算得到信息熵值B1,上一个周期内最大的PCi代入公式(6)计算得到信息熵值B2,如果T1秒前即上一个周期的最大的PCi在[0,1-c]区间内,且T1秒后即下一个周期的最大的PCi在[0,1-c]区间内,并且B1-B2>0,则判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,如果T1秒前即上一个周期的最大的PCi在[0,1-c]区间内,且T1秒后即下一个周期的最大的PCi在[1-c,1]区间内,则判定为攻击状态;
当HCt在区间[HCmax,HCMAX]时,选取周期内最大的PCi,如果T1秒前即上一个周期的最大的PCi在[1-c,1]区间内,且T1秒后即下一个周期的最大的PCi在[1-c,1]区间内,并且B1-B2<0,则判定为攻击状态;
对于国外实时访问的地理位置ip,进行如下判定:
当HFt在区间[HFmin,HFmax],判定为正常状态;
当HFt在区间[0,HFmin],判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,将当前周期内最大的PFj代入公式(9)计算得到信息熵值C1,上一个周期内最大的PFj代入公式(9)计算得到信息熵值C2,如果T1秒前即上一个周期的最大的PFj在[0,1-c]区间内,且T1秒后即下一个周期的最大的PFj在[0,1-c]区间内,并且C1-C2>0,则判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,如果T1秒前即上一个周期的最大的PFj在[0,1-c]区间内,且T1秒后即下一个周期的最大的PFj在[1-c,1]区间内,则判定为攻击状态;
当HFt在区间[HFmax,HFMAX]时,选取周期内最大的PFj,如果T1秒前即上一个周期的最大的PFj在[1-c,1]区间内,且T1秒后即下一个周期的最大的PFj在[1-c,1]区间内,并且C1-C2<0,则判定为攻击状态。
11.一种电子设备,其特征在于,包括:处理器和存储器,在所述存储器中存储有计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如权利要求1-5任一项所述的攻击检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910589194.6A CN110324339B (zh) | 2019-07-02 | 2019-07-02 | 基于信息熵的DDoS攻击检测方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910589194.6A CN110324339B (zh) | 2019-07-02 | 2019-07-02 | 基于信息熵的DDoS攻击检测方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110324339A CN110324339A (zh) | 2019-10-11 |
CN110324339B true CN110324339B (zh) | 2021-10-08 |
Family
ID=68122252
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910589194.6A Active CN110324339B (zh) | 2019-07-02 | 2019-07-02 | 基于信息熵的DDoS攻击检测方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110324339B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314323B (zh) * | 2020-01-21 | 2022-07-26 | 江苏艾佳家居用品有限公司 | 一种基于应用层的ddos精确识别方法 |
CN113009817B (zh) * | 2021-02-08 | 2022-07-05 | 浙江大学 | 一种基于控制器输出状态安全熵的工控系统入侵检测方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795215A (zh) * | 2010-01-28 | 2010-08-04 | 哈尔滨工程大学 | 网络流量异常检测方法及检测装置 |
CN104580222A (zh) * | 2015-01-12 | 2015-04-29 | 山东大学 | 基于信息熵的DDoS攻击分布式检测与响应系统及方法 |
CN105024969A (zh) * | 2014-04-17 | 2015-11-04 | 北京启明星辰信息安全技术有限公司 | 一种实现恶意域名识别的方法及装置 |
CN105357228A (zh) * | 2015-12-19 | 2016-02-24 | 中国人民解放军信息工程大学 | 一种基于动态阈值的突发流量检测方法 |
CN105634855A (zh) * | 2014-11-06 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 网络地址的异常识别方法及装置 |
CN106330906A (zh) * | 2016-08-23 | 2017-01-11 | 上海海事大学 | 一种大数据环境下的DDoS攻击检测方法 |
CN106506242A (zh) * | 2016-12-14 | 2017-03-15 | 北京东方棱镜科技有限公司 | 一种网络异常行为和流量监测的精确定位方法与系统 |
CN107835149A (zh) * | 2017-09-13 | 2018-03-23 | 杭州安恒信息技术有限公司 | 基于dns流量分析的网络窃密行为检测方法以及装置 |
CN108173812A (zh) * | 2017-12-07 | 2018-06-15 | 东软集团股份有限公司 | 防止网络攻击的方法、装置、存储介质和设备 |
CN109302419A (zh) * | 2018-11-21 | 2019-02-01 | 贵州电网有限责任公司 | 一种基于行为分析的网络应用流异常检测方法 |
CN109450721A (zh) * | 2018-09-06 | 2019-03-08 | 南京聚铭网络科技有限公司 | 一种基于深度神经网络的网络异常行为识别方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9654495B2 (en) * | 2006-12-01 | 2017-05-16 | Websense, Llc | System and method of analyzing web addresses |
US10171491B2 (en) * | 2014-12-09 | 2019-01-01 | Fortinet, Inc. | Near real-time detection of denial-of-service attacks |
US10200391B2 (en) * | 2015-09-23 | 2019-02-05 | AVAST Software s.r.o. | Detection of malware in derived pattern space |
RU2617631C2 (ru) * | 2015-09-30 | 2017-04-25 | Акционерное общество "Лаборатория Касперского" | Способ обнаружения работы вредоносной программы, запущенной с клиента, на сервере |
-
2019
- 2019-07-02 CN CN201910589194.6A patent/CN110324339B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101795215A (zh) * | 2010-01-28 | 2010-08-04 | 哈尔滨工程大学 | 网络流量异常检测方法及检测装置 |
CN105024969A (zh) * | 2014-04-17 | 2015-11-04 | 北京启明星辰信息安全技术有限公司 | 一种实现恶意域名识别的方法及装置 |
CN105634855A (zh) * | 2014-11-06 | 2016-06-01 | 阿里巴巴集团控股有限公司 | 网络地址的异常识别方法及装置 |
CN104580222A (zh) * | 2015-01-12 | 2015-04-29 | 山东大学 | 基于信息熵的DDoS攻击分布式检测与响应系统及方法 |
CN105357228A (zh) * | 2015-12-19 | 2016-02-24 | 中国人民解放军信息工程大学 | 一种基于动态阈值的突发流量检测方法 |
CN106330906A (zh) * | 2016-08-23 | 2017-01-11 | 上海海事大学 | 一种大数据环境下的DDoS攻击检测方法 |
CN106506242A (zh) * | 2016-12-14 | 2017-03-15 | 北京东方棱镜科技有限公司 | 一种网络异常行为和流量监测的精确定位方法与系统 |
CN107835149A (zh) * | 2017-09-13 | 2018-03-23 | 杭州安恒信息技术有限公司 | 基于dns流量分析的网络窃密行为检测方法以及装置 |
CN108173812A (zh) * | 2017-12-07 | 2018-06-15 | 东软集团股份有限公司 | 防止网络攻击的方法、装置、存储介质和设备 |
CN109450721A (zh) * | 2018-09-06 | 2019-03-08 | 南京聚铭网络科技有限公司 | 一种基于深度神经网络的网络异常行为识别方法 |
CN109302419A (zh) * | 2018-11-21 | 2019-02-01 | 贵州电网有限责任公司 | 一种基于行为分析的网络应用流异常检测方法 |
Non-Patent Citations (1)
Title |
---|
基于流量行为特征的DoS&DDoS攻击检测与异常流识别;周颖杰;《计算机应用》;20131231(第10期);第2838-2841,2845页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110324339A (zh) | 2019-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Dou et al. | A confidence-based filtering method for DDoS attack defense in cloud environment | |
CN105024969B (zh) | 一种实现恶意域名识别的方法及装置 | |
CN109474575B (zh) | 一种dns隧道的检测方法及装置 | |
WO2018032936A1 (zh) | 一种对算法生成域名进行检测的方法及装置 | |
TW201824047A (zh) | 攻擊請求的確定方法、裝置及伺服器 | |
CN111427336A (zh) | 一种工业控制系统的漏洞扫描方法、装置及设备 | |
CN110324339B (zh) | 基于信息熵的DDoS攻击检测方法、装置和电子设备 | |
CN110875907A (zh) | 一种访问请求控制方法及装置 | |
CN102291390A (zh) | 一种基于云计算平台的防御拒绝服务攻击的方法 | |
CN111641658A (zh) | 一种请求拦截方法、装置、设备及可读存储介质 | |
CN112532598B (zh) | 一种用于实时入侵检测系统的过滤方法 | |
US11108813B2 (en) | Dynamic rate limiting for mitigating distributed denial-of-service attacks | |
JP6750457B2 (ja) | ネットワーク監視装置、プログラム及び方法 | |
CN109756480B (zh) | 一种DDoS攻击防御方法、装置、电子设备及介质 | |
CN108234516B (zh) | 一种网络泛洪攻击的检测方法及装置 | |
CN112019533A (zh) | 一种缓解CDN系统被DDoS攻击的方法及系统 | |
CN111314379B (zh) | 被攻击域名识别方法、装置、计算机设备和存储介质 | |
CN114640504B (zh) | Cc攻击防护方法、装置、设备和存储介质 | |
CN109510800B (zh) | 一种网络请求处理方法、装置、电子设备及存储介质 | |
CN111159702B (zh) | 一种进程名单生成方法和装置 | |
CN112839005B (zh) | Dns域名异常访问监控方法及装置 | |
Li et al. | Effective DDoS attacks detection using generalized entropy metric | |
CN110808967A (zh) | 挑战黑洞攻击的检测方法及相关装置 | |
CN111291367A (zh) | 访问控制方法及系统、电子设备、存储介质 | |
CN114172707B (zh) | Fast-Flux僵尸网络检测方法、装置、设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
PP01 | Preservation of patent right |
Effective date of registration: 20230817 Granted publication date: 20211008 |
|
PP01 | Preservation of patent right |