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

未命名 10-08 阅读:71 评论:0

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


背景技术:

2.apt攻击是一种复杂的高级持续威胁攻击,主要指针对重要企业、政府、科研院所等高价值目标的特定信息系统或网络执行的网络攻击。相比一般的网络攻击,apt攻击往往会造成非常严重的损害,包括重要信息窃取和关键基础设施被破坏等。
3.apt攻击多是利用先进的复合式攻击手段,经过策划对特定的目标进行长期持续性的网络攻击。apt攻击途径跟其他攻击方式相比更具有隐蔽性,具有检测难、持续时间长和攻击目标明确等特征。因此传统基于攻击特征的入侵检测和防御方法在检测和防御apt方面效果很不理想。随着深度学习技术的不断发展,目前越来越多的科研人员使用深度学习技术进行apt攻击的威胁检测与攻击重构。但由于apt攻击的复杂性、隐蔽性、针对性,攻击者往往采取各种行为规避系统的检测,因此传统的深度学习技术并没有达到很好的预期效果。
4.申请号为202210948265.9,申请日为2022年8月8日的中国发明专利《一种apt攻击识别方法、装置、电子设备及介质》,公开了一种apt攻击识别方法,包括:获取针对待检测对象的网络攻击相关信息;从网络攻击相关信息中提取apt攻击特征;根据apt攻击特征,通过特征检测、行为检测和机器学习分别进行多维度的威胁点检测,得到待检测对象的第一apt攻击识别结果、第二apt攻击识别结果和第三apt攻击识别结果;根据第一apt攻击识别结果、第二apt攻击识别结果和第三apt攻击识别结果,确定待检测对象的目标apt攻击识别结果。该申请能够将特征检测、行为检测、机器学习根据各个检测点的特点应用不同的检测方法,能够有效的提升检测效率,降低误报。但由于其在进行多维度的威胁点检测时,所提取的威胁特征维度较为有限,从而导致威胁特征识别效果不佳,影响到整体apt攻击识别效果。


技术实现要素:

5.本发明的目的是提供一种基于威胁情报和流量特征的apt攻击检测方法,能够准确有效地对网络流量中可能存在的apt攻击行为进行检测,从而保障信息系统及网络的安全稳定。
6.本发明采用下述技术方案:
7.一种基于威胁情报和流量特征的apt攻击检测方法,依次包括以下步骤:
8.a:获取apt攻击的原始流量序列作为原始攻击序列集合d1,并根据网络请求的属性对原始攻击序列集合d1中每个原始流量分别进行标签设定,标记为攻击请求或正常请求;
9.b:提取原始攻击序列集合d1中原始流量的网络流量特征,并对原始流量数据进行
数据清洗,得到数据清洗后的攻击序列集合d2及对应的网络流量特征集合f;
10.c:利用现有apt攻击威胁情报库构造本地威胁情报库,并通过本地威胁情报库中威胁情报的ip地址、域名、情报源权威度、发布时间和更新时间,与攻击序列集合d2中的每个原始流量进行比较计算,获取每个原始流量的威胁情报特征t,威胁情报特征t包括情报源权威度特征t
confidence
、时间有效性特征t
time
、ip匹配特征t
ip
和域名匹配特征t
domain

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

12.e:利用步骤b中得到的网络流量特征集合f、步骤c中得到的威胁情报特征t和步骤d中得到的报文特征p,使用基于lstm循环神经网络的多融合检测模型进行训练,最终得到训练后的多融合检测模型;
13.f:利用训练后的多融合检测模型对未知流量序列进行apt攻击检测,确定是否存在apt攻击。
14.所述的步骤c包括以下具体步骤:
15.c1:收集整理威胁情报,构造本地威胁情报库;
16.c2:分别对攻击序列集合d2中的每个原始流量进行解包,获取原始流量di中所有请求对应的域名和ip地址;
17.c3:对攻击序列集合d2中的每个原始流量,分别提取对应的威胁情报特征t;威胁情报特征t包括情报源权威度特征t
confidence
、时间有效性特征t
time
、ip匹配特征t
ip
和域名匹配特征t
domain

18.所述的步骤c3中:对于情报源权威度t
confidence
,根据不同apt威胁情报的来源设置不同的情报源权威度t
confidence

19.对于时间有效性特征t
time
,设当前时间为t
now
,威胁情报最后更新时间为t
update
,则威胁情报数据的时间有效性特征其中,v为时间差阈值。
20.所述的步骤c3中,ip匹配特征t
ip
的提取过程如下:
21.c31-1:根据威胁情报库,计算可能被攻击者作为控制端的ip地址段i;
22.设威胁情报库中第j条情报rj中的请求ip地址所对应的整数型为r
ip
,则可能被攻击者控制的ip地址段i={r
ip
+lm},其中,lm为{-m,

,m}的整数序列,m为预设值;
23.c31-2:计算ip匹配特征t
ip

24.若原始流量di的请求ip地址整数型q
ip
在威胁情报rj的控制端ip地址段i内,则原始流量di的请求ip地址对应的ip匹配特征原始流量di的ip匹配特征其中,j为威胁情报库中的情报数量。
25.所述的步骤c3中,域名匹配特征t
domain
的提取过程如下:
26.c32-1:分别提取每个原始流量di中的域名有效字符串e,以及威胁情报库中每条apt威胁情报的域名有效字符串序列gj;
27.c32-2:将域名有效字符串e,与威胁情报库中域名有效字符串序列gj中的字符串进行逐个比较,计算得到域名匹配特征t
domain
;具体方法如下:
28.对于域名有效字符串e,以及威胁情报库中域名有效字符串序列gj中的某个字符串g,设g
len
为字符串g的长度,e
len
为域名有效字符串e的长度;arg是长度为g
len
的全0数组,用于记录字符串g的匹配记录;are是长度为e
len
的全0数组,用于记录字符串e的匹配记录;min
len
代表匹配允许的最小长度,如果匹配长度小于min
len
则跳过;max
len
表示匹配过程中,从r开始的子串er与比较字符串从s开始的子串gs的最长可能匹配,子串er为有效字符串e的子串,子串gs为字符串g的子串;逐个遍历子串er和gs的字符,获得当前定位情况下连续相似字符串的最大长度k
len
;按上述方法遍历所有子串,得到所有的连续相似最大长度集合k
len
,则两个字符串的相似度为:
[0029][0030]
流量序列的域名匹配特征
[0031]
所述的步骤d包括以下具体步骤:
[0032]
d1:收集apt攻击样本构建样本报文特征库,通过静态和/或动态分析提取样本报文特征库中每个apt攻击样本的网络请求特征,网络请求特征包括请求域名值、请求ip地址、请求url值和请求参数;
[0033]
d2:分别对攻击序列集合d2中的每个原始流量进行解包,获取原始流量di对应的请求报文,从请求报文中拆分出请求域名值d
domain
、url请求值d
url
、请求ip值d
ip
、请求参数值d
parameter

[0034]
d3:提取域名特征p
domain

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

[0039]
设原始流量di中的请求ip地址对应的整数型为q
ip
,报文特征库中第k个apt攻击样本的请求ip值整数型为则原始流量di与第k个apt攻击样本的ip地址相似度为:
[0040][0041]
ip特征
[0042]
d5:提取url特征p
url

[0043]
设原始流量di的url请求值为d
url
,报文特征库中第k个apt攻击样本的url请求值为利用simhash算法计算对应的url相似度p
url
,得到url特征
[0044]
d6:提取请求参数特征p
parameter

[0045]
设原始流量di的请求参数值为d
parameter
,报文特征库中第k个apt攻击样本的请求参数值为利用simhash算法计算对应的请求参数相似度pj,得到请求参数特征
[0046]
所述的步骤e中,基于lstm循环神经网络的多融合检测模型在lstm模型四层机构基础上,分别在forward layer层与backward layer层中增加drop layer层,在backward layer层与output layer层中增加optimizing layer层。
[0047]
所述的步骤e包括以下具体步骤:
[0048]
e1:输入数据为d
input
,并为d
input
增加权重w1,权重w1即为步骤c3中得到的情报源权威度t
confidence
,forward layer的计算公式如下:
[0049]it
=σ(wi·

t-1
,x
t
]+bi);
[0050]
其中,i
t
是输入门,σ是激活函数,wi是输入门的权重矩阵,h
t-1
是multi-lstm上一时刻最终输出,bi是当前输入单元状态的偏置项,x
t
为输入数据,即d
input
,后续的x
t
为上一层数据的计算结果;
[0051]
e2:在forward layer增加权重wf和权重w2;其中,权重wf为前层权重,初始为单位阵,根据前一时刻不断调整,权重w2为随机0、1矩阵;
[0052]
e3:在backward layer增加权重wb、w3和w4;其中,权重wb为后层权重,w3和w4分别为步骤c3中得到的域名匹配特征t
domain
和ip匹配特征t
ip

[0053]
backward layer计算公式如下
[0054]ft
=σ(wb·

t-1
,x
t
]+bb);
[0055]
其中,f
t
是遗忘门,bb是当前遗忘门的偏置项;
[0056]
e4:在optimizing layer中增加权重w5,对backward layer结果进行优化,使用最小二乘梯度下降,使结果快速收敛;
[0057]
最小二乘梯度下降计算公式如下:
[0058][0059]
其中,f(x)为最小二乘梯度下降函数,x为上一时刻输入数据,αm与为第m组数据的偏置参数与权重参数;
[0060]
e5:在output layer中增加权重w6;w6即为请求报文的域名特征p
domain
、url特征p
url
、ip特征p
ip
和请求参数特征p
parameter

[0061]
output layer的计算方法如下:
[0062]ot
=σ(wo·

t-1
,x
t
]+bo);
[0063]
其中,o
t
是输出门,wo是输出门的权重矩阵,bo是输出门的偏置项。
[0064]
所述的步骤b中,针对原始攻击序列集合d1中的每一个原始流量,分别使用cicflowmeter方法提取原始流量的网络流量特征;然后对提取网络流量特征后的原始流量数据进行清洗,剔除包含单一值和空值的原始流量数据,最终得到清洗后的攻击序列集合d2={d1,

,dn}及对应的网络流量特征集合f={f1,

,fn+;其中,d1至dn分别表示清洗后的攻击序列集合d2中第1个原始流量至第n个原始流量,f1至fn分别表示第1个原始流量至第n个原始流量所对应的网络流量特征。
[0065]
所述的步骤a中,采用dapt2020公开数据集作为原始攻击序列集合d1;dapt2020公开数据集中的apt攻击分为侦查、立足、横向、窃取破坏和清除5个阶段;将侦查、立足、横向、窃取破坏和清除这5个阶段均定义为攻击请求,将其余阶段定义为正常请求。
[0066]
本发明基于威胁情报和流量特征,通过构造本地威胁情报库并获取情报源权威度特征t
confidence
、时间有效性特征t
time
、ip匹配特征t
ip
和域名匹配特征t
domain
;随后再通过构建样本报文特征库并获取域名特征p
domain
、ip特征p
ip
、url特征p
url
和请求参数特征p
parameter
;最终利用网络流量特征集合f、威胁情报特征t和报文特征p,训练并使用基于lstm循环神经网络的多融合检测模型,对未知流量序列进行apt攻击检测,确定是否存在apt攻击。本发明能够准确有效地对网络流量中可能存在的apt攻击行为进行检测,从而保障信息系统及网络的安全稳定。
附图说明
[0067]
图1为本发明的流程示意图。
具体实施方式
[0068]
以下结合附图和实施例对本发明作以详细的描述:
[0069]
如图1所示,本发明所述的基于威胁情报和流量特征的apt攻击检测方法,依次包括以下步骤:
[0070]
a:获取apt攻击的原始流量序列作为原始攻击序列集合d1,并根据网络请求的属性对原始攻击序列集合d1中每个原始流量分别进行标签设定,标记为攻击请求或正常请求;
[0071]
本发明中,可采用dapt2020公开数据集作为原始攻击序列集合d1;dapt2020公开数据集中包含大量apt攻击的原始流量数据,且dapt2020公开数据集中将apt攻击分为侦查、立足、横向、窃取破坏和清除5个阶段;本发明中,将侦查、立足、横向、窃取破坏和清除这5个阶段均定义为攻击请求,将其余阶段定义为正常请求;
[0072]
b:提取原始攻击序列集合d1中原始流量的网络流量特征,并对原始流量数据进行数据清洗,得到数据清洗后的攻击序列集合d2及对应的网络流量特征集合f;
[0073]
本发明中,针对原始攻击序列集合d1中的每一个原始流量,分别使用cicflowmeter方法提取原始流量的网络流量特征;其中,网络流量特征包含流持续时间、正向传输的数据包总数和反向传输的数据包总数等共76个特征;
[0074]
然后,对提取网络流量特征后的原始流量数据进行清洗,剔除包含单一值和空值
的原始流量数据,最终得到清洗后的攻击序列集合d2={d1,

,dn}及对应的网络流量特征集合f={f1,

,fn};
[0075]
其中,d1至dn分别表示清洗后的攻击序列集合d2中第1个原始流量至第n个原始流量,f1至fn分别表示第1个原始流量至第n个原始流量所对应的网络流量特征;
[0076]
c:利用现有apt攻击威胁情报库构造本地威胁情报库,并通过本地威胁情报库中威胁情报的ip地址、域名、情报源权威度、发布时间和更新时间,与攻击序列集合d2中的每个原始流量进行比较计算,获取每个原始流量的威胁情报特征t,威胁情报特征t包括情报源权威度特征t
confidence
、时间有效性特征t
time
、ip匹配特征t
ip
和域名匹配特征t
domain

[0077]
所述的步骤c包括以下具体步骤:
[0078]
c1:收集整理威胁情报,构造本地威胁情报库;
[0079]
在分析判别apt攻击时,威胁情报是一个重要的参考。本发明中,可通过现有apt攻击威胁情报库进行威胁情报的收集。现有apt攻击威胁情报库包括微步在线、360威胁情报中心和virustotal等数据库。
[0080]
对于获取到的每条apt威胁情报,分别提取威胁情报的ip地址、域名、情报源权威度、发布时间和更新时间6个属性信息;
[0081]
c2:分别对攻击序列集合d2中的每个原始流量进行解包,获取原始流量di中所有请求对应的域名和ip地址;
[0082]
c3:对攻击序列集合d2中的每个原始流量,分别提取对应的威胁情报特征t;威胁情报特征t包括情报源权威度特征t
confidence
、时间有效性特征t
time
、ip匹配特征t
ip
和域名匹配特征t
domain
;其中,下角标ip指ip地址,domain指域名,confidence指情报源权威度,time指情报时间有效性;
[0083]
本发明中,对于情报源权威度t
confidence
,由于情报的来源不同,其可信程度不同,因此本发明通过研究,为不同apt威胁情报的来源设置不同的情报源权威度t
confidence
;例如表1所示:
[0084]
表1情报源权威度及排名
[0085][0086]
威胁情报自身具有的时效性要求,是判断威胁情报价值的重要指标之一。因此本
发明通过研究,根据威胁情报最后更新时间t
update
距离用户检索该威胁情报的时间差,判断此威胁情报的有效性。时间差的数值越小就代表此威胁情报的及时性越强,可信度越高。当时间差的数值大于设定的时间差阈值v时,则代表此威胁情报已无利用价值。
[0087]
设当前时间为t
now
,威胁情报最后更新时间为t
update
,则该威胁情报数据的时间有效性特征
[0088]
本实施例中,时间差阈值v取值可为30,即将超过30天的威胁情报判断为已无利用价值。
[0089]
由于威胁情报中的ip地址多为apt攻击者使用的控制端,用于下载攻击载荷、接受控制指令和流量转发等。当威胁情报中的ip地址为控制端时,攻击者有可能会向临近的ip地址进行横向移动,以获取更多的控制端。因此本发明通过研究,判定在一定范围内的ip地址段,均有可能被攻击者所控制,因此可作为控制端ip范围。
[0090]
根据上述分析,在本实施例中,ip匹配特征t
ip
的提取过程如下:
[0091]
c31-1:根据威胁情报库,计算可能被攻击者作为控制端的ip地址段i;
[0092]
设威胁情报库中第j条情报rj中的请求ip地址所对应的整数型为r
ip
,则可能被攻击者控制的ip地址段i={r
ip
+lm},其中,lm为{-m,

,m}的整数序列;m为预设值;
[0093]
步骤c31-1中,将威胁情报库中第j条情报rj中的请求ip地址,作为一个0到255的整数,然后再将已转化为整数的每段控制端ip地址,转化为二进制形式并得到对应的二进制数,最后将得到的二进制数转变为长整型,最终得到威胁情报库中第j条情报rj中的请求ip地址所对应的整数型表示r
ip

[0094]
c31-2:计算ip匹配特征t
ip

[0095]
若原始流量di的请求ip地址整数型q
ip
在威胁情报rj的控制端ip地址段i内,则原始流量di的请求ip地址对应的ip匹配特征原始流量di的ip匹配特征
[0096]
其中,j为威胁情报库中的情报数量;m的取值为10。
[0097]
由于apt攻击者通常也会使用域名作为网路访问的控制端,用于下载攻击载荷、接受控制指令和流量转发等,使用域名能够方便地进行服务器的切换,通过改变域名的解析地址即可使用不同的服务器提供控制服务。本发明通过研究,发现apt攻击者在注册域名时往往会使用名称类似的域名,例如“morjgs01.top、morjgs02.top”,“iw.gamegame.info、iw.gamegames.top”等。因此,本发明通过计算原始流量di与每条apt威胁情报的域名的相似度,实现域名匹配特征t
domain
的提取,具体方法如下:
[0098]
c32-1:由于大多数域名的前缀和后缀重复性较高,因此舍去域名中的前缀“www”和后缀“com”以提取域名的有效信息,即分别提取每个原始流量di中的域名有效字符串e,以及威胁情报库中每条apt威胁情报的域名有效字符串序列gj;
[0099]
c32-2:将域名有效字符串e,与威胁情报库中域名有效字符串序列gj中的字符串进行逐个比较,计算得到域名匹配特征t
domain
;具体方法如下:
[0100]
对于域名有效字符串e,以及威胁情报库中域名有效字符串序列gj中的某个字符串g,设g
len
为字符串g的长度,e
len
为域名有效字符串e的长度;arg是长度为g
len
的全0数组,
用于记录字符串g的匹配记录;are是长度为e
len
的全0数组,用于记录字符串e的匹配记录;min
len
代表匹配允许的最小长度,如果匹配长度小于min
len
则跳过;max
len
表示匹配过程中,从r开始的子串er与比较字符串从s开始的子串gs的最长可能匹配,子串er为有效字符串e的子串,子串gs为字符串g的子串;逐个遍历子串er和gs的字符,获得当前定位情况下连续相似字符串的最大长度k
len
;按上述方法遍历所有子串,得到所有的连续相似最大长度集合k
len
,则两个字符串的相似度为:
[0101][0102]
因此,流量序列的域名匹配特征因此,流量序列的域名匹配特征
[0103]
d:构建样本报文特征库,并通过样本报文特征库中apt攻击样本的请求域名值、请求ip地址、请求url值和请求参数,与攻击序列集合d2中的每个原始流量进行比较计算,获取序列集合d2的报文特征p,报文特征p包括域名特征p
domain
、ip特征p
ip
、url特征p
url
和请求参数特征p
parameter

[0104]
由于apt组织攻击使用的下载、攻击载荷等通常有一定的关联性,控制模块、通信模块等具有一定的继承关系,因此获取序列集合d2的报文特征对于检测apt攻击行为具有极大的意义;本发明中,报文特征p的具体提取方法如下:
[0105]
d1:收集apt攻击样本构建样本报文特征库,通过静态和/或动态分析提取样本报文特征库中每个apt攻击样本的网络请求特征,网络请求特征包括请求域名值、请求ip地址、请求url值和请求参数;
[0106]
d2:分别对攻击序列集合d2中的每个原始流量进行解包,获取原始流量di对应的请求报文,从请求报文中拆分出请求域名值d
domain
、url请求值d
url
、请求ip值d
ip
、请求参数值d
parameter

[0107]
d3:提取域名特征p
domain

[0108]
提取域名特征p
domain
的方法与步骤c32-2中提取域名匹配特征t
domain
思路一致,具体如下:
[0109]
对于原始流量di的请求域名有效字符串u,报文特征库中域名有效字符串序列hk中的某个字符串h,设h
len
为字符串h的长度,u
len
为域名有效字符串u的长度;arh是长度为h
len
的全0数组,用于记录字符串h的匹配记录;aru是长度为u
len
的全0数组,用于记录字符串u的匹配记录;min
p_len
代表匹配允许的最小长度,如果匹配长度小于min
p_len
则跳过;max
p_len
表示匹配过程中,从r开始的子串ur与比较字符串从s开始的子串hs的最长可能匹配,子串ur为有效字符串u的子串,子串hs为字符串h的子串;逐个遍历子串ur和hs的字符,获得当前定位情况下连续相似字符串的最大长度k
p_len
;按上述方法遍历所有子串,得到所有的连续相似最大长度集合k
p_len

[0110]
则两个字符串的相似度为:
[0111]
[0112]
因此,流量序列的域名匹配特征
[0113]
d4:提取ip特征p
ip

[0114]
设原始流量di中的请求ip地址对应的整数型为q
ip
,报文特征库中第k个apt攻击样本的请求ip值整数型为则原始流量di与第k个apt攻击样本的ip地址相似度为:
[0115][0116]
则ip特征
[0117]
本实施例中,m取值为10;
[0118]
d5:提取url特征p
url

[0119]
设原始流量di的url请求值为d
url
,报文特征库中第k个apt攻击样本的url请求值为利用simhash算法计算对应的url相似度p
url
,得到url特征
[0120]
simhash算法属于本领域常规技术,在此不在赘述;
[0121]
d6:提取请求参数特征p
parameter

[0122]
设原始流量di的请求参数值为d
parameter
,报文特征库中第k个apt攻击样本的请求参数值为利用simhash算法计算对应的请求参数相似度pj,得到请求参数特征
[0123]
e:利用步骤b中得到的网络流量特征集合f、步骤c中得到的威胁情报特征t和步骤d中得到的报文特征p,使用基于lstm循环神经网络的多融合检测模型(multi-lstm)进行训练,最终得到训练后的多融合检测模型;
[0124]
本发明中,基于lstm循环神经网络的多融合检测模型(multi-lstm)在原有lstm模型上进行了改进,在原有的四层机构基础上分别在forward layer层与backward layer层中增加了drop layer层,在backward layer层与output layer层中增加了optimizing layer层;drop layer层的增加能够有效提高本技术中算法的适用性,避免过拟合发生;optimizing layer层的增加可实现对backward layer层结果的进一步优化。
[0125]
所述的步骤e包括以下具体步骤:
[0126]
e1:输入数据为d
input
,并为d
input
增加权重w1,权重w1即为步骤c3中得到的情报源权威度t
confidence
,forward layer的计算公式如下:
[0127]it
=σ(wi·

t-1
,x
t
]+bi)
[0128]
其中i
t
是输入门,σ是激活函数,wi是输入门的权重矩阵,h
t-1
是multi-lstm上一时刻最终输出,bi是当前输入单元状态的偏置项,x
t
为输入数据,即d
input
,后续的x
t
为上一层数据的计算结果;
[0129]
e2:在forward layer增加权重wf和权重w2,用于在drop layer随机断开一定比例的网络连接以避免过拟合;
[0130]
其中,权重wf为前层权重,初始为单位阵,根据前一时刻不断调整,权重w2为随机0、1矩阵;
[0131]
e3:在backward layer增加权重wb、w3和w4;其中,权重wb为后层权重,w3和w4分别为步骤c3中得到的域名匹配特征t
domain
和ip匹配特征t
ip

[0132]
backward layer计算公式如下
[0133]ft
=σ(wb·

t-1
,x
t
]+bb)
[0134]
其中,f
t
是遗忘门,bb是当前遗忘门的偏置项;
[0135]
e4:在optimizing layer中增加权重w5,对backward layer结果进行优化,使用最小二乘梯度下降,使结果快速收敛;
[0136]
最小二乘梯度下降计算公式如下:
[0137][0138]
其中f(x)为最小二乘梯度下降函数,x为上一时刻输入数据,αm与为第m组数据的偏置参数与权重参数。
[0139]
e5:由于样本报文特征具有较高的可信度,因此在output layer中增加权重w6;其中w6即为步骤d中获得的请求报文的域名特征p
domain
、url特征p
url
、ip特征p
ip
和请求参数特征p
parameter

[0140]
output layer的计算方法如下:
[0141]ot
=σ(wo·

t-1
,x
t
]+bo)
[0142]
其中o
t
是输出门,wo是输出门的权重矩阵,bo是输出门的偏置项。
[0143]
本发明在数据集dapt2020中随机抽取80%数据作为训练集,进行模型训练,通过多次迭代训练达到收敛,最终得到训练后的多融合检测模型。
[0144]
f:利用训练后的多融合检测模型对未知流量序列进行apt攻击检测,确定是否存在apt攻击。

技术特征:
1.一种基于威胁情报和流量特征的apt攻击检测方法,其特征在于,依次包括以下步骤:a:获取apt攻击的原始流量序列作为原始攻击序列集合d1,并根据网络请求的属性对原始攻击序列集合d1中每个原始流量分别进行标签设定,标记为攻击请求或正常请求;b:提取原始攻击序列集合d1中原始流量的网络流量特征,并对原始流量数据进行数据清洗,得到数据清洗后的攻击序列集合d2及对应的网络流量特征集合f;c:利用现有apt攻击威胁情报库构造本地威胁情报库,并通过本地威胁情报库中威胁情报的ip地址、域名、情报源权威度、发布时间和更新时间,与攻击序列集合d2中的每个原始流量进行比较计算,获取每个原始流量的威胁情报特征t,威胁情报特征t包括情报源权威度特征t
confidence
、时间有效性特征t
time
、ip匹配特征t
ip
和域名匹配特征t
domain
;d:构建样本报文特征库,并通过样本报文特征库中apt攻击样本的请求域名值、请求ip地址、请求url值和请求参数,与攻击序列集合d2中的每个原始流量进行比较计算,获取序列集合d2的报文特征p,报文特征p包括域名特征p
domain
、ip特征p
ip
、url特征p
url
和请求参数特征p
parameter
;e:利用步骤b中得到的网络流量特征集合f、步骤c中得到的威胁情报特征t和步骤d中得到的报文特征p,使用基于lstm循环神经网络的多融合检测模型进行训练,最终得到训练后的多融合检测模型;f:利用训练后的多融合检测模型对未知流量序列进行apt攻击检测,确定是否存在apt攻击。2.根据权利要求1所述的基于威胁情报和流量特征的apt攻击检测方法,其特征在于,所述的步骤c包括以下具体步骤:c1:收集整理威胁情报,构造本地威胁情报库;c2:分别对攻击序列集合d2中的每个原始流量进行解包,获取原始流量d
i
中所有请求对应的域名和ip地址;c3:对攻击序列集合d2中的每个原始流量,分别提取对应的威胁情报特征t;威胁情报特征t包括情报源权威度特征t
confidence
、时间有效性特征t
time
、ip匹配特征t
ip
和域名匹配特征t
domain
。3.根据权利要求2所述的基于威胁情报和流量特征的apt攻击检测方法,其特征在于,所述的步骤c3中:对于情报源权威度t
confidence
,根据不同apt威胁情报的来源设置不同的情报源权威度t
confidence
;对于时间有效性特征t
time
,设当前时间为t
now
,威胁情报最后更新时间为t
update
,则威胁情报数据的时间有效性特征其中,v为时间差阈值。4.根据权利要求2所述的基于威胁情报和流量特征的apt攻击检测方法,其特征在于,所述的步骤c3中,ip匹配特征t
ip
的提取过程如下:c31-1:根据威胁情报库,计算可能被攻击者作为控制端的ip地址段i;设威胁情报库中第j条情报r
j
中的请求ip地址所对应的整数型为r
ip
,则可能被攻击者控制的ip地址段i={r
ip
+l
m
},其中,l
m
为{-m,

,m}的整数序列,m为预设值;
c31-2:计算ip匹配特征t
ip
;若原始流量d
i
的请求ip地址整数型q
ip
在威胁情报r
j
的控制端ip地址段i内,则原始流量d
i
的请求ip地址对应的ip匹配特征原始流量d
i
的ip匹配特征其中,j为威胁情报库中的情报数量。5.根据权利要求2所述的基于威胁情报和流量特征的apt攻击检测方法,其特征在于,所述的步骤c3中,域名匹配特征t
domain
的提取过程如下:c32-1:分别提取每个原始流量d
i
中的域名有效字符串e,以及威胁情报库中每条apt威胁情报的域名有效字符串序列g
j
;c32-2:将域名有效字符串e,与威胁情报库中域名有效字符串序列g
j
中的字符串进行逐个比较,计算得到域名匹配特征t
domain
;具体方法如下:对于域名有效字符串e,以及威胁情报库中域名有效字符串序列g
j
中的某个字符串g,设g
len
为字符串g的长度,e
len
为域名有效字符串e的长度;ar
g
是长度为g
len
的全0数组,用于记录字符串g的匹配记录;ar
e
是长度为e
len
的全0数组,用于记录字符串e的匹配记录;min
len
代表匹配允许的最小长度,如果匹配长度小于min
len
则跳过;max
len
表示匹配过程中,从r开始的子串e
r
与比较字符串从s开始的子串g
s
的最长可能匹配,子串e
r
为有效字符串e的子串,子串g
s
为字符串g的子串;逐个遍历子串e
r
和g
s
的字符,获得当前定位情况下连续相似字符串的最大长度k
len
;按上述方法遍历所有子串,得到所有的连续相似最大长度集合k
len
,则两个字符串的相似度为:流量序列的域名匹配特征6.根据权利要求1所述的基于威胁情报和流量特征的apt攻击检测方法,其特征在于,所述的步骤d包括以下具体步骤:d1:收集apt攻击样本构建样本报文特征库,通过静态和/或动态分析提取样本报文特征库中每个apt攻击样本的网络请求特征,网络请求特征包括请求域名值、请求ip地址、请求url值和请求参数;d2:分别对攻击序列集合d2中的每个原始流量进行解包,获取原始流量d
i
对应的请求报文,从请求报文中拆分出请求域名值d
domain
、url请求值d
url
、请求ip值d
ip
、请求参数值d
parameter
;d3:提取域名特征p
domain
;对于原始流量d
i
的请求域名有效字符串u,报文特征库中域名有效字符串序列h
k
中的某个字符串h,设h
len
为字符串h的长度,u
len
为域名有效字符串u的长度;ar
h
是长度为h
len
的全0数组,用于记录字符串h的匹配记录;ar
u
是长度为u
len
的全0数组,用于记录字符串u的匹配记录;min
p_len
代表匹配允许的最小长度,如果匹配长度小于min
p_len
则跳过;max
p_len
表示匹配过程中,从r开始的子串u
r
与比较字符串从s开始的子串h
s
的最长可能匹配,子串u
r
为有效字符串u的子串,子串h
s
为字符串h的子串;逐个遍历子串u
r
和h
s
的字符,获得当前定位情况
下连续相似字符串的最大长度k
p_len
;按上述方法遍历所有子串,得到所有的连续相似最大长度集合k
p_len
,则两个字符串的相似度为:流量序列的域名匹配特征d4:提取ip特征p
ip
;设原始流量d
i
中的请求ip地址对应的整数型为q
ip
,报文特征库中第k个apt攻击样本的请求ip值整数型为则原始流量d
i
与第k个apt攻击样本的ip地址相似度为:ip特征d5:提取url特征p
url
;设原始流量d
i
的url请求值为d
url
,报文特征库中第k个apt攻击样本的url请求值为利用simhash算法计算对应的url相似度p
url
,得到url特征d6:提取请求参数特征p
parameter
;设原始流量d
i
的请求参数值为d
parameter
,报文特征库中第k个apt攻击样本的请求参数值为利用simhash算法计算对应的请求参数相似度p
j
,得到请求参数特征7.根据权利要求1所述的基于威胁情报和流量特征的apt攻击检测方法,其特征在于,所述的步骤e中,基于lstm循环神经网络的多融合检测模型在lstm模型四层机构基础上,分别在forward layer层与backward layer层中增加drop layer层,在backward layer层与output layer层中增加optimizing layer层。8.根据权利要求7所述的基于威胁情报和流量特征的apt攻击检测方法,其特征在于,所述的步骤e包括以下具体步骤:e1:输入数据为d
input
,并为d
input
增加权重w1,权重w1即为步骤c3中得到的情报源权威度t
confidence
,forward layer的计算公式如下:i
t
=σ(w
i
·

t-1
,x
t
]+b
i
);其中,i
t
是输入门,σ是激活函数,w
i
是输入门的权重矩阵,h
t-1
是multi-lstm上一时刻最终输出,b
i
是当前输入单元状态的偏置项,x
t
为输入数据,即d
input
,后续的x
t
为上一层数据的计算结果;e2:在forward layer增加权重w
f
和权重w2;其中,权重w
f
为前层权重,初始为单位阵,根据前一时刻不断调整,权重w2为随机0、1矩阵;e3:在backward layer增加权重w
b
、w3和w4;其中,权重w
b
为后层权重,w3和w4分别为步骤c3中得到的域名匹配特征t
domain
和ip匹配特征t
ip

backward layer计算公式如下f
t
=σ(w
b
·

t-1
,x
t
]+b
b
);其中,f
t
是遗忘门,b
b
是当前遗忘门的偏置项;e4:在optimizing layer中增加权重w5,对backward layer结果进行优化,使用最小二乘梯度下降,使结果快速收敛;最小二乘梯度下降计算公式如下:其中,f(x)为最小二乘梯度下降函数,x为上一时刻输入数据,α
m
与为第m组数据的偏置参数与权重参数;e5:在output layer中增加权重w6;w6即为请求报文的域名特征p
domain
、url特征p
url
、ip特征p
ip
和请求参数特征p
parameter
;output layer的计算方法如下:o
t
=σ(w
o
·

t-1
,x
t
]+b
o
);其中,o
t
是输出门,w
o
是输出门的权重矩阵,b
o
是输出门的偏置项。9.根据权利要求1所述的基于威胁情报和流量特征的apt攻击检测方法,其特征在于:所述的步骤b中,针对原始攻击序列集合d1中的每一个原始流量,分别使用cicflowmeter方法提取原始流量的网络流量特征;然后对提取网络流量特征后的原始流量数据进行清洗,剔除包含单一值和空值的原始流量数据,最终得到清洗后的攻击序列集合d2={d1,

,d
n
}及对应的网络流量特征集合f={f1,

,f
n
};其中,d1至d
n
分别表示清洗后的攻击序列集合d2中第1个原始流量至第n个原始流量,f1至f
n
分别表示第1个原始流量至第n个原始流量所对应的网络流量特征。10.根据权利要求1所述的基于威胁情报和流量特征的apt攻击检测方法,其特征在于:所述的步骤a中,采用dapt2020公开数据集作为原始攻击序列集合d1;dapt2020公开数据集中的apt攻击分为侦查、立足、横向、窃取破坏和清除5个阶段;将侦查、立足、横向、窃取破坏和清除这5个阶段均定义为攻击请求,将其余阶段定义为正常请求。

技术总结
本发明公开了一种基于威胁情报和流量特征的APT攻击检测方法,包括以下步骤:A:获取原始攻击序列集合并进行标记;B:获取数据清洗后的攻击序列集合及对应的网络流量特征集合;C:利构造本地威胁情报库并获取每个原始流量的威胁情报特征;D:构建样本报文特征库并获取序列集合的报文特征;E:利用得到的网络流量特征集合、威胁情报特征和报文特征,对基于LSTM循环神经网络的多融合检测模型进行训练并得到训练后的多融合检测模型;F:利用训练后的多融合检测模型对未知流量序列进行APT攻击检测,确定是否存在APT攻击。本发明能够准确有效地对网络流量中可能存在的APT攻击行为进行检测,从而实现信息系统及网络的安全稳定。从而实现信息系统及网络的安全稳定。从而实现信息系统及网络的安全稳定。


技术研发人员:张良 杨秉杰 薛钰 赵巍 白文娟 刘岳 方坤 周锦 时辰
受保护的技术使用者:郑州信大先进技术研究院
技术研发日:2023.06.30
技术公布日:2023/10/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐