一种恶意加密流量检测方法及装置

文档序号:28560690发布日期:2022-01-19 16:43阅读:132来源:国知局
一种恶意加密流量检测方法及装置

1.本发明涉及网络安全技术领域,尤其涉及一种恶意加密流量检测方法及装置。


背景技术:

2.网络中的加密流量正在迅速增加。ssl(secure socket layer)以及升级的tls(transport layer security)等安全协议被广泛应用于建立可信的加密连接,这有效地保证了网络通信的机密性和完整性。谷歌的透明性报告显示,通过谷歌的95%以上的流量是加密的。加密作为一种安全措施,为攻击者隐藏其恶意活动保留了一个流量的灰色区域,如恶意软件传递、c&c通道(command&control channel命令控制通道)以及数据回传。相关报告显示,自2019年以来,利用加密通道绕过传统安全控制的网络攻击数量迅速增加了260%。同时,近四分之一的恶意软件现在使用tls进行通信。加密流量的普遍性和有效负载的不可见性给网络安全带来了巨大的挑战。因此,现阶段对识别隐藏在加密流量中的恶意活动具有迫切需求和重要意义。
3.现有的加密恶意流量检测方法大致可分为4类:基于解密的、基于签名的、基于特征的机器学习和基于原始数据的表示学习。
4.基于解密的加密恶意流量检测方法本质上是中间人攻击。在客户端与服务器之间设置拦截器,用于解密、检测、重新加密和转发流量,解密得到明文就可以使用深度包检测技术进行检测,简单粗暴。然而,解密和重新加密需要大量的计算与时间开销的同时,解密得到明文破坏了安全通道,严重侵犯了用户的隐私。
5.基于签名的加密恶意流量检测方法通过识别加密流量中与已知恶意行为的签名相匹配的可见模式来检测威胁,包括目的ip、证书、ja3/ja3s指纹等,其中,ja3/ja3s指纹为客户端和服务器之间的tls协商的指纹,可用于黑名单识别隐藏在加密流量中的威胁。与基于解密的方法相比,基于签名的方法更简单、更方便,但无法应对未知攻击。攻击者可以轻易地改变流量模式以逃避检测。
6.基于特征的机器学习加密恶意流量检测方法由于加密得不到实际载荷,可以利用未加密的tls握手消息中的丰富信息(包括版本、密码套件、扩展、证书等)来识别威胁。此外,包长序列和到达时间序列可以作为网络行为特征描述的补充。得到这些特征后,输入经典的机器学习模型进行分类。设计良好的特征在很大程度上依赖于人类的专业知识。在高度动态的网络环境中,选择合适的特征集需要专家知识,这严重影响了选择的效率和有效性。
7.基于原始数据的表示学习加密恶意流量检测方法作为一种新兴的机器学习方法被广泛应用于各个领域,它可以在不需要人工干预的情况下从原始数据中自动发现最佳的数据表示。作为典型的表示学习方法,深度学习模型在加密恶意软件流量检测中取得了相当好的效果。现有的方法大多是在双向网络流的粒度级别上进行威胁识别,过分关注单个流的统计特征或数据表示,而忽略了流之间相关关系。面对未知的或伪装得很好的加密恶意流量,仅仅依赖于每个孤立网络流的特征而没有全局流的关联关系,会导致效果不理想。
同时恶意软件遵循固定的程序建立会话,相应的网络通信模式非常繁琐。现有的研究要么直接忽略数据包长度序列,要么简单地将多个视图中的特征串联起来,这将无法充分利用恶意软件流量的本质。


技术实现要素:

8.本发明实施例提供了一种恶意加密流量检测方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷,以解决现有技术对恶意加密流量检测时计算与时间开销较大,过度依赖人类专业知识,过分关注单个流的统计特征或数据表示导致检测效果不理想的问题。
9.本发明的技术方案如下:
10.本发明提供一种恶意加密流量检测方法,包括:
11.以单条加密会话为粒度抓取数据包,获取每条加密会话对应的握手信息、多个tls记录以及包含所述加密会话目的ip和目的端口的二元组信息,并根据每个加密会话对应的多个tls记录的长度生成各加密会话的tls记录长度序列;
12.构建各加密会话的加密流量图,所述加密流量图以所述加密会话组作为节点,并基于各加密会话之间的关联关系建立边;其中,将目的ip、目的端口相同的加密会话标记为关联并建立边,和/或,根据各加密会话的tls记录长度序列建立knn(k-nearest neighbor)图,将每个加密会话与其最接近的第一设定数量个邻居标记为关联并建立边;
13.采用预设规则对各加密会话的握手信息进行特征表示,结合所述加密流量图通过两层图注意力网络进行更新聚合,计算待评价加密会话的握手信息关于所有一阶邻居和二阶邻居的注意力聚合,作为可信度值;
14.采用一层图注意力网络结合所述加密流量图,计算所述待评价加密会话与所有一阶邻居的tls记录长度序列差的绝对值的注意力聚合,作为平稳性值;
15.将所述可信度值和所述平稳性值输入预训练的前馈神经网络得到所述待评价加密会话的恶意性评分。
16.在一些实施例中,各加密会话的tls记录长度序列分别包含第二设定数量个元素,各元素分别记载相应加密会话的前第二设定数量个tls记录的长度值;其中,若存在一加密会话对应的tls记录数量小于第二设定数量,则采用0补齐相应的tls记录长度序列。
17.在一些实施例中,所述握手信息至少包括协议版本、加密套件信息、扩展类型、公钥长度和证书信息。
18.在一些实施例中,采用预设规则对各加密会话的握手信息进行特征表示,包括:
19.按照设定顺序记录各加密会话对应的握手信息中的多个状态参数,形成特征表示。
20.在一些实施例中,所述tls记录长度序列通过添加正负号标记tls记录的流向。
21.在一些实施例中,采用预设规则对各加密会话的握手信息进行特征表示,结合所述加密流量图通过两层图注意力网络进行更新聚合,计算待评价加密会话的握手信息关于所有一阶邻居和二阶邻居的注意力聚合注意力聚合,作为可信度值,包括:
22.采用第一层图注意力网络使所述加密流量图内所有加密会话聚合一阶邻居的握手信息特征表示,并更新;
23.采用第二层图注意力网络使更新后的加密流量图内所有所有加密会话聚合一阶邻居的握手信息特征表示;
24.输出所述待评价加密会话关于握手信息的注意力聚合,作为可信度值;
25.其中,每一次聚合过程中,计算各加密会话之间握手信息的注意力权重,计算式如下:
[0026][0027][0028]
其中,α
1i,j
表示加密会话i和加密会话j之间握手信息的注意力权重;w1为作线性变换的投影矩阵;hi为加密会话i的握手信息的特征表示,hj为加密会话j的握手信息的特征表示,hk为加密会话k的握手信息的特征表示,k∈ni,ni为加密会话i的所有一阶邻居加密会话集合;a1为前馈神经网络的参数,将特征向量映射到实数r1;m为斜率,m取值为0.2;
[0029]
计算加密会话i与其所有一阶邻居关于握手信息的注意力聚合,得到可信度值计算式如下:
[0030][0031]
其中,w1为作线性变换的投影矩阵,为所述一阶邻居和所述二阶邻居中第j个的握手信息的特征表示,ni为所述一阶邻居的集合;σ为非线性激活函数。
[0032]
在一些实施例中,采用一层图注意力网络结合所述加密流量图,计算所述待评价加密会话与所有一阶邻居的tls记录长度序列差的绝对值的注意力聚合,作为平稳性值,包括:
[0033]
计算各加密会话之间tls记录长度序列的注意力权重,计算式如下:
[0034][0035][0036]
其中,α
2i,j
表示加密会话i和加密会话j之间tls记录长度序列的注意力权重;w2为作线性变换的投影矩阵;si为加密会话i的握手信息的特征表示,sj为加密会话j的握手信息的特征表示,sk为加密会话k的握手信息的特征表示,k∈ni,ni为加密会话i的所有一阶邻居加密会话集合;a2为前馈神经网络的参数,将特征向量映射到实数r2;m为斜率,m取值为0.2;
[0037]
计算加密会话i与其所有一阶邻居关于tls记录长度序列的注意力聚合,得到稳定性值计算式如下:
[0038][0039]
其中,w2为作线性变换的投影矩阵,为所述待评价加密会话的tls记录长度序列,
为所述一阶邻居中第j个的tls记录长度序列,σ为非线性激活函数,ni为所述一阶邻居的数量;
[0040]
输出所述待评价加密会话关于tls记录长度序列差的绝对值的注意力聚合,作为平稳性值。
[0041]
在一些实施例中,将所述可信度值和所述平稳性值输入预训练的前馈神经网络得到所述待评价加密会话的恶意性评分,包括:
[0042]
将所述可信度值输入预训练的第一前馈神经网络得到可信度评分,将所述平稳性值输入预训练的第二前馈神经网络得到平稳性评分,将所述可信度评分与所述平稳性评分加权求和得到所述待评价加密会话的恶意评分。
[0043]
另一方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
[0044]
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
[0045]
本发明的有益效果至少是:
[0046]
本发明所述恶意加密流量检测方法及装置中,所述方法通过挖掘加密流量中各加密会话之间的关联关系来构建加密图,由单流孤立分析,转为多流协同分析。同时,提出了刻画加密恶意流量的两类属性,一是基于握手信息进行评价的可信度,二是基于tls记录长度序列评价的平稳性,通过图注意力网络综合分析计算待评价加密会话的可信度值和平稳性值,并输入预训练的前馈神经网络得到恶意性评分,以识别加密恶意流量。本发明通过挖掘加密会话之间的关系,对恶意加密流量的检测更准确,鲁棒性更高。
[0047]
进一步的,在通过图注意力网络计算平稳性值时,计算待评价加密会话与所有一阶邻居的绝对值差异,并进一步计算在图注意力网络下的聚合,可以反映通信行为的离散程度,更准确地对体现待评价加密会话的稳定性。
[0048]
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在书面说明及其权利要求书以及附图中具体指出的结构实现到并获得。
[0049]
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
[0050]
此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,并不构成对本发明的限定。在附图中:
[0051]
图1为本发明一实施例所述恶意加密流量检测方法的流程示意图;
[0052]
图2为本发明一实施例所述恶意加密流量检测方法中计算可信度值的逻辑示意图。
具体实施方式
[0053]
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对
本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
[0054]
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
[0055]
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
[0056]
现有技术所采用的加密恶意流量检测方法中,基于解密的、基于签名的、基于特征的机器学习和基于原始数据的表示学习的4类检测方法,存在检测时计算与时间开销较大,过度依赖人类专业知识,过分关注单个流的统计特征或数据表示导致检测效果不理想的问题,因此,本发明提供一种恶意加密流量检测方法及装置。
[0057]
具体的,所述恶意加密流量检测方法,如图1所示,包括步骤s101~s105:
[0058]
需要预先说明的是,本实施例中的步骤s101~s105并不是对各步骤先后顺序的限定,应当理解为,在特定的应用场景下,各步骤可以并行或调换先后顺序。
[0059]
步骤s101:以单条加密会话为粒度抓取数据包,获取每条加密会话对应的握手信息、多个tls记录以及包含加密会话目的ip和目的端口的二元组信息,并根据每个加密会话对应的多个tls记录的长度生成各加密会话的tls记录长度序列;
[0060]
步骤s102:构建各加密会话的加密流量图,加密流量图以加密会话组作为节点,并基于各加密会话之间的关联关系建立边;其中,将目的ip、目的端口相同的加密会话标记为关联并建立边,和/或,根据各加密会话的tls记录长度序列建立knn图,将每个加密会话与其最接近的第一设定数量个邻居标记为关联并建立边。
[0061]
步骤s103:采用预设规则对各加密会话的握手信息进行特征表示,结合所述加密流量图通过两层图注意力网络进行更新聚合,计算待评价加密会话的握手信息关于所有一阶邻居和二阶邻居的注意力聚合,作为可信度值。
[0062]
步骤s104:采用一层图注意力网络结合加密流量图,计算待评价加密会话与所有一阶邻居的tls记录长度序列差的绝对值的注意力聚合,作为平稳性值。
[0063]
步骤s105:将可信度值和平稳性值输入预训练的前馈神经网络得到待评价加密会话的恶意性评分。
[0064]
在步骤s101中,首先确定检测的粒度层级,本发明中所采用的检测粒度为单条加密会话,加密会话定义为双向加密网络流,即共享《ips,ipd,ports,portd,protocol》的单次连接的数据包集合,其中,ip为互联网协议地址,port为端口,protocol为协议名称,s代表源端,d代表目的端,源ip、源端口与目的ip、目的端口可以互换。通过对原始流量捕获进行拆分、重组,可以还原单条加密会话sessioni。
[0065]
进一步的,获取加密会话的两类特征信息,一类是握手信息,另一类是tls记录(tls record)。其中,握手信息是未加密的,具体包含协议版本、加密套件、扩展类型、公钥长度、证书等信息,主要用于反映会话访问网络服务的可信度。而对原始流量进行补货拆分和重组后,能够得到单条加密会话,并获取每条加密会话对应的多条tls记录。对于单条加密会话,记录其对应的多条tls记录的长度形成tls记录长度序列。在一些实施例中,各加密会话的tls记录长度序列分别包含第二设定数量个元素,各元素分别记载相应加密会话的
前第二设定数量个tls记录的长度值;其中,若存在一加密会话对应的tls记录数量小于第二设定数量,则采用0补齐相应的tls记录长度序列。在一些实施例中,所述tls记录长度序列通过添加正负号标记tls记录的流向。
[0066]
进一步地,还获取各加密会话对应的目的ip和目的端口,组成二元组信息,以标记流向。
[0067]
在步骤s102中,通过挖掘各加密会话之间的关联关系,构建加密流量图。具体的,将加密流量图表示为g=(v,e,a),其中,v与e分别为加密会话节点集合与边的集合。其中,每个节点代表单条加密会话,若两条加密会话之间具有相关性,则其之前存在边相连。具体通过邻接矩阵a来表示加密会话之间的关系,矩阵a表示为:
[0068][0069]
其中,n为加密会话的数量,若加密会话i与加密会话j存在关联关系,则a
i,j
=1,否则a
i,j
=0。a
i,j
=1时,则在加密流量图中对加密会话i与加密会话j之间的节点构建边,a
i,j
=0时,则不用构建边。具体的,本实施例提出两类关联规则确定加密会话之间是否存在关联关系,一类是基于二元组(ipd,portd)的关联规则,另一类是基于通信模式相似度的关联规则。
[0070]
具体的,对于二元组(ipd,portd)的关联规则,将所有目的ip与目的端口相同的加密会话关联起来,若加密会话i与加密会话j的(ipd,portd)相同,则a
i,j
=1,否则a
i,j
=0。
[0071]
对于基于通信模式相似度的关联规则,利用各加密会话的tls记录长度序列构件knn图,将所有通信模式相似的加密会话关联起来,具体的,若加密会话i最近的k个邻居包含加密会话j,则a
i,j
=1,否则a
i,j
=0。其中,构建knn图的方式一般包括三类:1)第一类是空间分割树(space-partitioning trees)算法;2)第二类是局部敏感哈希(locality sensitive hashing)算法;3)第三类是邻居搜索(neighbor exploring techniques)算法。其中,较常用的是k-d树和随机投影树,均属于第一类算法。
[0072]
进一步地,可以采用二元组(ipd,portd)的关联规则单独构建加密流量图,也可以采用基于通信模式相似度的关联规则单独构建加密流量图。在另一些实施例中,分别采用这两种关联规则构件加密流量图后,进行合并,得到包含两种特征的加密流量图。相比于单一关联规则建立的加密流量图,其包含更丰富的相关关系。
[0073]
在步骤s103中,由于握手信息用于互验合法性,其中所包含的信息可以用于表征加密会话的可信度。从加密会话的握手信息中提取特征,可以采用一维卷积神经网络进行特征提取。在本实施例中,握手信息至少包括协议版本、加密套件信息、扩展类型、公钥长度和证书信息。
[0074]
进一步地,采用预设规则对各加密会话的握手信息进行特征表示,包括:按照设定顺序记录各加密会话对应的握手信息中的多个状态参数,形成特征表示。
[0075]
示例性的,按照顺序连续记录握手信息中会话持续时间的整数值、会话包时间间隔序列的向量、上行字节计数的整数值、下行字节计数的整数值、下行字节数占比的浮点数、上行数据包计数的整数值、下行数据包计数的整数值、下行数据包占比的浮点数、判断是ssl还是tls的布尔值、公钥长度的整数值、判断是否有sni(服务器名称指示)扩展的布尔
值、判断sni中指明是否是ip的布尔值、判断sni中指明的ip与目的ip是否一致的布尔值、判断是否有证书的布尔值、判断证书链长度的整数值、判断证书的自注册至今的时间的整数值、证书有效期、判断证书是否过期的布尔值、判断证书是否为自签名的布尔值、ssl/tls协议版本的独热编码向量、客户端提供的加密套件列表的独热编码向量、客户端提供的扩展列表的独热编码向量、服务器端选择的加密套件的独热编码向量以及服务器端选择的扩展列表独热编码向量,最终得到握手信息的特征表示。
[0076]
基于握手信息的特征表示以及步骤s102中所构建的加密流量图,通过两层传统的图注意力网络(graph attention network,gat)连续聚合更新,计算各加密会话的握手信息的特征表示关于一阶邻居和二阶邻居的注意力聚合,将待评价加密会话经两层图注意力网络处理后的聚合作为可信度值来评价可信度。
[0077]
在一些实施例中,步骤s103,即采用预设规则对各加密会话的握手信息进行特征表示,结合所述加密流量图通过两层图注意力网络进行更新聚合,计算待评价加密会话的握手信息关于所有一阶邻居和二阶邻居的注意力聚合注意力聚合,作为可信度值,包括:
[0078]
步骤s1031:采用第一层图注意力网络使加密流量图内所有加密会话聚合一阶邻居的握手信息特征表示,并更新。
[0079]
步骤s1032:采用第二层图注意力网络使更新后的加密流量图内所有所有加密会话聚合一阶邻居的握手信息特征表示。
[0080]
步骤s1033:输出待评价加密会话关于握手信息的注意力聚合,作为可信度值。
[0081]
其中,每一次聚合过程中,计算各加密会话之间握手信息的注意力权重,计算式如下:
[0082][0083][0084]
其中,α
1i,j
表示加密会话i和加密会话j之间握手信息的注意力权重;w1为作线性变换的投影矩阵;hi为加密会话i的握手信息的特征表示,hj为加密会话j的握手信息的特征表示,hk为加密会话k的握手信息的特征表示,k∈ni,ni为加密会话i的所有一阶邻居加密会话集合;a1为前馈神经网络的参数,将特征向量映射到实数r1;m取值为0.2。
[0085]
计算加密会话i与其所有一阶邻居和二阶邻居关于握手信息的注意力聚合,得到可信度值计算式如下:
[0086][0087]
其中,w1为作线性变换的投影矩阵,为一阶邻居中第j个的握手信息的特征表示,ni为一阶邻居的集合;σ为非线性激活函数。
[0088]
本实施例中,在获得加密会话服务可信度表示时,使用两层图注意力网络去聚合握手信息,通过第一层图注意力网络时,每条加密会话都聚合了一阶邻居的信息,通过第二层图注意力网络时,就自动聚合了一阶与二阶邻居的信息。如图2(a)和图2(b)所示,原待评价加密会话包含特征a,一阶邻居包含了特征b,二阶邻居包含了特征c,在经过第一层图注意力网络时,每个加密会话都聚集了其一阶邻居的特征,此时待评价加密会话聚集了特征a
+b,一阶邻居聚集了特征b+c;如图2(b)和图2(c)所示,在经过第二层图注意力网络时,每个加密会话再一次聚集了更新后的一阶邻居的特征,此时,待评价加密会话聚集了特征a+b+c,将其输出为可信度值。
[0089]
在步骤s104中,加密会话的tls记录长度序列能够体现源端口和目标端口之间的通信关系,基于加密会话特征表示中的tls记录长度序列,应用改进的图注意力机制,考虑聚合所有一阶邻居与待评价的加密会话的tls记录长度序列绝对值差异,刻画相关加密会话的通信模式平稳性,通过计算注意力值差异化地考虑待评价加密会话的tls记录长度序列与所有一阶邻居的差值的绝对值加权求和邻居加密会话节点的影响。
[0090]
对tls记录长度序列求差异,可以反映通信行为的离散程度,因此采取相同的方式计算注意力权重,对于tls记录长度序列与所有一阶邻居的差值的绝对值加权求和,输入非线性激活函数σ得到通信模式平稳性表示。
[0091]
具体的,步骤s104中,采用一层图注意力网络结合所述加密流量图,计算所述待评价加密会话与所有一阶邻居的tls记录长度序列差的绝对值的注意力聚合,作为平稳性值,包括:
[0092]
步骤s1041:计算各加密会话之间tls记录长度序列的注意力权重,计算式如下:
[0093][0094][0095]
其中,α
2i,j
表示加密会话i和加密会话j之间tls记录长度序列的注意力权重;w2为作线性变换的投影矩阵;si为加密会话i的握手信息的特征表示,sj为加密会话j的握手信息的特征表示,sk为加密会话k的握手信息的特征表示,k∈ni,ni为加密会话i的所有一阶邻居加密会话集合;a2为前馈神经网络的参数,将特征向量映射到实数r2;m取值为0.2;
[0096]
步骤s1042:计算加密会话i与其所有一阶邻居关于tls记录长度序列的注意力聚合,得到稳定性值计算式如下:
[0097][0098]
其中,w2为作线性变换的投影矩阵,为所述待评价加密会话的tls记录长度序列,为所述一阶邻居中第j个的tls记录长度序列,σ为非线性激活函数,ni为一阶邻居的数量。
[0099]
步骤s1043:输出待评价加密会话关于tls记录长度序列差的绝对值的注意力聚合,作为平稳性值。
[0100]
步骤s105中,前馈神经网路需要进行预训练,基于现有样本数据建立包含多个加密会话的训练样本集,按照步骤s101~s104中的步骤,分别处理计算得到每个加密会话的可信度值和平稳性值,通过专家经营评估的方式,对各加密会话添加恶意评分作为标签。采用训练样本集对初始状态的前馈神经网络进行训练,以建立可信度值和平稳性值到恶意评分的映射。
[0101]
在获得加密会话通信模式平稳性表示时,使用一层图注意力网络去求通信模式的
差异,通过第一层网络时,自动求解所有一阶邻居与自身的tls记录长度序列差异。
[0102]
在一些实施例中,步骤s105,将可信度值和平稳性值输入预训练的前馈神经网络得到待评价加密会话的恶意性评分,包括:将可信度值输入预训练的第一前馈神经网络得到可信度评分,将平稳性值输入预训练的第二前馈神经网络得到平稳性评分,将可信度评分与平稳性评分加权求和得到待评价加密会话的恶意评分。
[0103]
在本实施例中,第一前馈神经网络与第二前馈神经网络分别通过预训练得到,分别构建可信度样本训练集和稳定性样本训练集,可信度样本训练集包括多个加密会话并添加对应的可信度评分作为标签,稳定性样本训练集包括多个加密会话并添加对应的稳定性评分作为标签。将可信度样本训练集中的加密会话按照步骤s101~s103中的步骤,分别处理计算得到每个加密会话的可信度值,以该可信度值作为输入,以对应的可信度评分作为输出,导入初始前馈神经网络进行训练得到第一前馈神经网络。将稳定性样本训练集中的加密会话按照步骤s101~s104中的步骤,分别处理计算得到每个加密会话的稳定性值,以该稳定性值作为输入,以对应的稳定性评分作为输出,导入初始前馈神经网络进行训练得到第二前馈神经网络。
[0104]
将可信度评分与平稳性评分加权求和得到待评价加密会话的恶意评分,该权重系数可以通过专家评定,或者通过神经网络进行训练调整,评估可信度得分与平稳性得分的重要程度,加速恶意加密流量的检测。
[0105]
另一方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
[0106]
另一方面,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述方法的步骤。
[0107]
下面结合一具体实施例,对本发明进行说明:
[0108]
本实施例提出了一种基于改进gat(graph attention network)的加密恶意流量检测方法,主要步骤包括:
[0109]
1)基于专家知识提取加密流量的特征表示,在确定检测粒度层级后,依据专家知识确认加密流量的特征表示,用于后续关联分析与恶意性判定。
[0110]
2)基于1)中提出的单条加密会话的特征表示提出两类关联规则,将访问相同网络服务与通信模式相似的加密会话相关联并构建加密流量图g。
[0111]
3)在2)得到g的基础上,针对1)提出的特征表示基于改进的图注意力机制(graph attention mechanism)分别刻画相关加密流量的可信性与平稳性。
[0112]
4)将3)中得到的单条会话的两类属性表示输入前馈神经网络综合考虑可信性与平稳性实现加密恶意流量的检测。
[0113]
其中,1)中基于专家知识提取加密流量的特征表示,包括:
[0114]
1.1检测粒度层级确定,在进行加密流量的特征表示时,首先需要确定检测的粒度层级。本发明定义检测粒度为单条加密会话,加密会话的定义为双向加密网络流,即共享《ips,ipd,ports,portd,protocol》的单次连接的数据包集合,其中,s代表源端,d代表目的端,源ip、源端口与目的ip、目的端口可以互换。通过对原始流量捕获进行拆分、重组,可以还原单条加密会话sessioni。
[0115]
1.2加密流量的特征表示,针对每条加密会话提取两类特征表示包含握手信息hi与tls记录的长度序列si。其中,握手信息是未加密的,具体包含协议版本、加密套件、扩展类型、公钥长度、证书等信息,主要反映了会话访问网络服务的可信度。而流量重组后将tcp segment还原拼接到一起后得到的tls record的长度序列,不仅可以反映会话承载的应用类型与功能,也可以通过分析与相关流的差异来刻画通信模式的平稳性。具体地,使用正负号来反映tls record的流向,正号表示从客户端流向服务端,符号表示从服务端流向客户端。tls record序列的长度定为20,不仅包含了连接建立前的握手阶段也包含了连接建立后的加密应用数据传输阶段,可以有效地反映流量功能,若tls record的数量不足20,则补0。
[0116]
进一步地,2)中基于不同的特征表示定义不同的规则来建模加密会话间的相关关系并构建加密流量图g,包括:
[0117]
2.1基于二元组(ipd,portd)的关联规则,将所有目的ip与目的端口相同的加密会话关联起来,若两条加密会话的目的ip与目的端口相同,存在边彼此相连。此关联规则将访问同一网络资源或服务的加密流量关联起来,一般来说此类流量的恶意性是一致的,因此可以协同分析。
[0118]
2.2基于通信模式相似度的关联规则,在数据包包长序列的基础上做了改进提出了基于tls record长度序列对加密会话构建knn图,将所有加密会话的k个最近邻加密会话节点与其相连建立关系,一般来说内网中扩散的恶意软件产生的恶意加密流量的行为模式十分相似,通信模式呈现出平稳性。同时基于二元组的关联规则在应对fast flux与p2p botnet等逃避检测的技术时有缺陷,本规则可以有效应对恶意软件逃避检测技术,可作为流间关系的补充。
[0119]
2.3将两张图合并,最终得到了有效建模了加密流量之间丰富的相关关系的加密流量图。
[0120]
进一步地,3)中基于图注意力机制刻画相关加密会话的可信性与平稳性,包括:
[0121]
3.1结合所述加密流量图通过两层图注意力网络进行更新聚合,计算待评价加密会话的握手信息关于所有一阶邻居和二阶邻居的注意力聚合,作为可信度值:
[0122]
3.1.1采用第一层图注意力网络使加密流量图内所有加密会话聚合一阶邻居的握手信息特征表示,并更新。
[0123]
3.1.2采用第二层图注意力网络使更新后的加密流量图内所有所有加密会话聚合一阶邻居的握手信息特征表示。
[0124]
3.1.3输出待评价加密会话关于握手信息的注意力聚合,作为可信度值。
[0125]
3.1.1~3.1.3中,每一层图注意力网络中,计算各加密会话之间握手信息的注意力权重,计算式如下:
[0126][0127][0128]
其中,α
1i,j
表示加密会话i和加密会话j之间握手信息的注意力权重;w1为作线性变换的投影矩阵;hi为加密会话i的握手信息的特征表示,hj为加密会话j的握手信息的特征表示,hk为加密会话k的握手信息的特征表示,k∈ni,ni为加密会话i的所有一阶邻居加密会话
集合;a1为前馈神经网络的参数,将特征向量映射到实数r1;m取值为0.2。
[0129]
计算加密会话i与其所有一阶邻居关于握手信息的注意力聚合,得到可信度值计算式如下:
[0130][0131]
其中,w1为作线性变换的投影矩阵,为一阶邻居中第j个的握手信息的特征表示,ni为一阶邻居的集合;σ为非线性激活函数。
[0132]
3.2采用一层图注意力网络结合所述加密流量图,计算所述待评价加密会话与所有一阶邻居的tls记录长度序列差的绝对值的注意力聚合,作为平稳性值:
[0133]
3.2.1计算各加密会话之间tls记录长度序列的注意力权重,计算式如下:
[0134][0135][0136]
其中,α
2i,j
表示加密会话i和加密会话j之间tls记录长度序列的注意力权重;w2为作线性变换的投影矩阵;si为加密会话i的握手信息的特征表示,sj为加密会话j的握手信息的特征表示,sk为加密会话k的握手信息的特征表示,k∈ni,ni为加密会话i的所有一阶邻居加密会话集合;a2为前馈神经网络的参数,将特征向量映射到实数r2;m取值为0.2;
[0137]
3.2.2计算加密会话i与其所有一阶邻居关于tls记录长度序列的注意力聚合,得到稳定性值计算式如下:
[0138][0139]
其中,w2为作线性变换的投影矩阵,为所述待评价加密会话的tls记录长度序列,为所述一阶邻居中第j个的tls记录长度序列,σ为非线性激活函数,ni为一阶邻居的数量。
[0140]
3.2.3输出待评价加密会话关于tls记录长度序列差的绝对值的注意力聚合,作为平稳性值。
[0141]
最后,4)中,在获得了单条加密会话的访问网络服务的可信性与相关通信模式的平稳性后,综合考虑二者对于恶意性检测的影响,实现加密恶意流量的检测。
[0142]
具体的,将单条会话的可信度表示(记为reliability)与平稳性表示(记为stationarity)分别输入两个预训练得到的前馈性神经网络中,输出不同的得分scorer与scores,最终得分score如下式:
[0143]
score=scorer+αscoresꢀꢀꢀ
(7)
[0144]
其中,α为可训练的系数,用于评估可信度得分与平稳性得分的重要程度,加速恶意加密流量的检测,本实施例中提到的图注意力网络与前馈神经网络均是协同训练的。
[0145]
本实施例中定义了加密会话的两类属性,可以有效反映加密流量的恶意性。定义了加密流量之间的两类相关关系,并构图来建模加密会话之间的关系,检测模型更鲁棒,不会受单条流量样本的影响。应用改进的图注意力网络模型,差异化地刻画不同相关流量对于检测分析的影响。同时考虑可信度与平稳性,在现网环境中可以取得更好的效果。加密会
话特征表示中的握手信息特征可以改为使用未加密握手信息的原始字节,应用1dcnn进行学习,也可以取得不错的效果,且不用提取特征,效率提高。
[0146]
综上所述,本发明所述恶意加密流量检测方法及装置中,所述方法通过挖掘加密流量中各加密会话之间的关联关系来构建加密图,由单流孤立分析,转为多流协同分析。同时,提出了刻画加密恶意流量的两类属性,一是基于握手信息进行评价的可信度,二是基于tls记录长度序列评价的平稳性,通过图注意力网络综合分析计算待评价加密会话的可信度值和平稳性值,并输入预训练的前馈神经网络得到恶意性评分,以识别加密恶意流量。本发明通过挖掘加密会话之间的关系,对恶意加密流量的检测更准确,鲁棒性更高。
[0147]
进一步的,在通过图注意力网络计算平稳性值时,计算待评价加密会话与所有一阶邻居的绝对值差异,并进一步计算在图注意力网络下的聚合,可以反映通信行为的离散程度,更准确地对体现待评价加密会话的稳定性。
[0148]
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
[0149]
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
[0150]
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
[0151]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1