一种基于威胁情报和流量特征的APT攻击检测方法与流程

文档序号:35672125发布日期:2023-10-07 21:26阅读:106来源:国知局
一种基于威胁情报和流量特征的APT攻击检测方法与流程

本发明涉及互联网数据安全领域,尤其涉及一种基于威胁情报和流量特征的apt攻击检测方法。


背景技术:

1、apt攻击是一种复杂的高级持续威胁攻击,主要指针对重要企业、政府、科研院所等高价值目标的特定信息系统或网络执行的网络攻击。相比一般的网络攻击,apt攻击往往会造成非常严重的损害,包括重要信息窃取和关键基础设施被破坏等。

2、apt攻击多是利用先进的复合式攻击手段,经过策划对特定的目标进行长期持续性的网络攻击。apt攻击途径跟其他攻击方式相比更具有隐蔽性,具有检测难、持续时间长和攻击目标明确等特征。因此传统基于攻击特征的入侵检测和防御方法在检测和防御apt方面效果很不理想。随着深度学习技术的不断发展,目前越来越多的科研人员使用深度学习技术进行apt攻击的威胁检测与攻击重构。但由于apt攻击的复杂性、隐蔽性、针对性,攻击者往往采取各种行为规避系统的检测,因此传统的深度学习技术并没有达到很好的预期效果。

3、申请号为202210948265.9,申请日为2022年8月8日的中国发明专利《一种apt攻击识别方法、装置、电子设备及介质》,公开了一种apt攻击识别方法,包括:获取针对待检测对象的网络攻击相关信息;从网络攻击相关信息中提取apt攻击特征;根据apt攻击特征,通过特征检测、行为检测和机器学习分别进行多维度的威胁点检测,得到待检测对象的第一apt攻击识别结果、第二apt攻击识别结果和第三apt攻击识别结果;根据第一apt攻击识别结果、第二apt攻击识别结果和第三apt攻击识别结果,确定待检测对象的目标apt攻击识别结果。该申请能够将特征检测、行为检测、机器学习根据各个检测点的特点应用不同的检测方法,能够有效的提升检测效率,降低误报。但由于其在进行多维度的威胁点检测时,所提取的威胁特征维度较为有限,从而导致威胁特征识别效果不佳,影响到整体apt攻击识别效果。


技术实现思路

1、本发明的目的是提供一种基于威胁情报和流量特征的apt攻击检测方法,能够准确有效地对网络流量中可能存在的apt攻击行为进行检测,从而保障信息系统及网络的安全稳定。

2、本发明采用下述技术方案:

3、一种基于威胁情报和流量特征的apt攻击检测方法,依次包括以下步骤:

4、a:获取apt攻击的原始流量序列作为原始攻击序列集合d1,并根据网络请求的属性对原始攻击序列集合d1中每个原始流量分别进行标签设定,标记为攻击请求或正常请求;

5、b:提取原始攻击序列集合d1中原始流量的网络流量特征,并对原始流量数据进行数据清洗,得到数据清洗后的攻击序列集合d2及对应的网络流量特征集合f;

6、c:利用现有apt攻击威胁情报库构造本地威胁情报库,并通过本地威胁情报库中威胁情报的ip地址、域名、情报源权威度、发布时间和更新时间,与攻击序列集合d2中的每个原始流量进行比较计算,获取每个原始流量的威胁情报特征t,威胁情报特征t包括情报源权威度特征tconfidence、时间有效性特征ttime、ip匹配特征tip和域名匹配特征tdomain;

7、d:构建样本报文特征库,并通过样本报文特征库中apt攻击样本的请求域名值、请求ip地址、请求url值和请求参数,与攻击序列集合d2中的每个原始流量进行比较计算,获取序列集合d2的报文特征p,报文特征p包括域名特征pdomain、ip特征pip、url特征purl和请求参数特征pparameter;

8、e:利用步骤b中得到的网络流量特征集合f、步骤c中得到的威胁情报特征t和步骤d中得到的报文特征p,使用基于lstm循环神经网络的多融合检测模型进行训练,最终得到训练后的多融合检测模型;

9、f:利用训练后的多融合检测模型对未知流量序列进行apt攻击检测,确定是否存在apt攻击。

10、所述的步骤c包括以下具体步骤:

11、c1:收集整理威胁情报,构造本地威胁情报库;

12、c2:分别对攻击序列集合d2中的每个原始流量进行解包,获取原始流量di中所有请求对应的域名和ip地址;

13、c3:对攻击序列集合d2中的每个原始流量,分别提取对应的威胁情报特征t;威胁情报特征t包括情报源权威度特征tconfidence、时间有效性特征ttime、ip匹配特征tip和域名匹配特征tdomain。

14、所述的步骤c3中:对于情报源权威度tconfidence,根据不同apt威胁情报的来源设置不同的情报源权威度tconfidence;

15、对于时间有效性特征ttime,设当前时间为tnow,威胁情报最后更新时间为tupdate,则威胁情报数据的时间有效性特征其中,v为时间差阈值。

16、所述的步骤c3中,ip匹配特征tip的提取过程如下:

17、c31-1:根据威胁情报库,计算可能被攻击者作为控制端的ip地址段i;

18、设威胁情报库中第j条情报rj中的请求ip地址所对应的整数型为rip,则可能被攻击者控制的ip地址段i={rip+lm},其中,lm为{-m,…,m}的整数序列,m为预设值;

19、c31-2:计算ip匹配特征tip;

20、若原始流量di的请求ip地址整数型qip在威胁情报rj的控制端ip地址段i内,则原始流量di的请求ip地址对应的ip匹配特征原始流量di的ip匹配特征其中,j为威胁情报库中的情报数量。

21、所述的步骤c3中,域名匹配特征tdomain的提取过程如下:

22、c32-1:分别提取每个原始流量di中的域名有效字符串e,以及威胁情报库中每条apt威胁情报的域名有效字符串序列gj;

23、c32-2:将域名有效字符串e,与威胁情报库中域名有效字符串序列gj中的字符串进行逐个比较,计算得到域名匹配特征tdomain;具体方法如下:

24、对于域名有效字符串e,以及威胁情报库中域名有效字符串序列gj中的某个字符串g,设glen为字符串g的长度,elen为域名有效字符串e的长度;arg是长度为glen的全0数组,用于记录字符串g的匹配记录;are是长度为elen的全0数组,用于记录字符串e的匹配记录;minlen代表匹配允许的最小长度,如果匹配长度小于minlen则跳过;maxlen表示匹配过程中,从r开始的子串er与比较字符串从s开始的子串gs的最长可能匹配,子串er为有效字符串e的子串,子串gs为字符串g的子串;逐个遍历子串er和gs的字符,获得当前定位情况下连续相似字符串的最大长度klen;按上述方法遍历所有子串,得到所有的连续相似最大长度集合klen,则两个字符串的相似度为:

25、

26、流量序列的域名匹配特征

27、所述的步骤d包括以下具体步骤:

28、d1:收集apt攻击样本构建样本报文特征库,通过静态和/或动态分析提取样本报文特征库中每个apt攻击样本的网络请求特征,网络请求特征包括请求域名值、请求ip地址、请求url值和请求参数;

29、d2:分别对攻击序列集合d2中的每个原始流量进行解包,获取原始流量di对应的请求报文,从请求报文中拆分出请求域名值ddomain、url请求值durl、请求ip值dip、请求参数值dparameter;

30、d3:提取域名特征pdomain;

31、对于原始流量di的请求域名有效字符串u,报文特征库中域名有效字符串序列hk中的某个字符串h,设hlen为字符串h的长度,ulen为域名有效字符串u的长度;arh是长度为hlen的全0数组,用于记录字符串h的匹配记录;aru是长度为ulen的全0数组,用于记录字符串u的匹配记录;minp_len代表匹配允许的最小长度,如果匹配长度小于minp_len则跳过;maxp_len表示匹配过程中,从r开始的子串ur与比较字符串从s开始的子串hs的最长可能匹配,子串ur为有效字符串u的子串,子串hs为字符串h的子串;逐个遍历子串ur和hs的字符,获得当前定位情况下连续相似字符串的最大长度kp_len;按上述方法遍历所有子串,得到所有的连续相似最大长度集合kp_len,则两个字符串的相似度为:

32、

33、流量序列的域名匹配特征

34、d4:提取ip特征pip;

35、设原始流量di中的请求ip地址对应的整数型为qip,报文特征库中第k个apt攻击样本的请求ip值整数型为则原始流量di与第k个apt攻击样本的ip地址相似度为:

36、

37、ip特征

38、d5:提取url特征purl;

39、设原始流量di的url请求值为durl,报文特征库中第k个apt攻击样本的url请求值为利用simhash算法计算对应的url相似度purl,得到url特征

40、d6:提取请求参数特征pparameter;

41、设原始流量di的请求参数值为dparameter,报文特征库中第k个apt攻击样本的请求参数值为利用simhash算法计算对应的请求参数相似度pj,得到请求参数特征

42、所述的步骤e中,基于lstm循环神经网络的多融合检测模型在lstm模型四层机构基础上,分别在forward layer层与backward layer层中增加drop layer层,在backwardlayer层与output layer层中增加optimizing layer层。

43、所述的步骤e包括以下具体步骤:

44、e1:输入数据为dinput,并为dinput增加权重w1,权重w1即为步骤c3中得到的情报源权威度tconfidence,forward layer的计算公式如下:

45、it=σ(wi·[ηt-1,xt]+bi);

46、其中,it是输入门,σ是激活函数,wi是输入门的权重矩阵,ht-1是multi-lstm上一时刻最终输出,bi是当前输入单元状态的偏置项,xt为输入数据,即dinput,后续的xt为上一层数据的计算结果;

47、e2:在forward layer增加权重wf和权重w2;其中,权重wf为前层权重,初始为单位阵,根据前一时刻不断调整,权重w2为随机0、1矩阵;

48、e3:在backward layer增加权重wb、w3和w4;其中,权重wb为后层权重,w3和w4分别为步骤c3中得到的域名匹配特征tdomain和ip匹配特征tip;

49、backward layer计算公式如下

50、ft=σ(wb·[ηt-1,xt]+bb);

51、其中,ft是遗忘门,bb是当前遗忘门的偏置项;

52、e4:在optimizing layer中增加权重w5,对backward layer结果进行优化,使用最小二乘梯度下降,使结果快速收敛;

53、最小二乘梯度下降计算公式如下:

54、

55、其中,f(x)为最小二乘梯度下降函数,x为上一时刻输入数据,αm与为第m组数据的偏置参数与权重参数;

56、e5:在output layer中增加权重w6;w6即为请求报文的域名特征pdomain、url特征purl、ip特征pip和请求参数特征pparameter;

57、output layer的计算方法如下:

58、ot=σ(wo·[ηt-1,xt]+bo);

59、其中,ot是输出门,wo是输出门的权重矩阵,bo是输出门的偏置项。

60、所述的步骤b中,针对原始攻击序列集合d1中的每一个原始流量,分别使用cicflowmeter方法提取原始流量的网络流量特征;然后对提取网络流量特征后的原始流量数据进行清洗,剔除包含单一值和空值的原始流量数据,最终得到清洗后的攻击序列集合d2={d1,…,dn}及对应的网络流量特征集合f={f1,…,fn+;其中,d1至dn分别表示清洗后的攻击序列集合d2中第1个原始流量至第n个原始流量,f1至fn分别表示第1个原始流量至第n个原始流量所对应的网络流量特征。

61、所述的步骤a中,采用dapt2020公开数据集作为原始攻击序列集合d1;dapt2020公开数据集中的apt攻击分为侦查、立足、横向、窃取破坏和清除5个阶段;将侦查、立足、横向、窃取破坏和清除这5个阶段均定义为攻击请求,将其余阶段定义为正常请求。

62、本发明基于威胁情报和流量特征,通过构造本地威胁情报库并获取情报源权威度特征tconfidence、时间有效性特征ttime、ip匹配特征tip和域名匹配特征tdomain;随后再通过构建样本报文特征库并获取域名特征pdomain、ip特征pip、url特征purl和请求参数特征pparameter;最终利用网络流量特征集合f、威胁情报特征t和报文特征p,训练并使用基于lstm循环神经网络的多融合检测模型,对未知流量序列进行apt攻击检测,确定是否存在apt攻击。本发明能够准确有效地对网络流量中可能存在的apt攻击行为进行检测,从而保障信息系统及网络的安全稳定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1