基于知识图谱的加密网络异常流量检测方法

文档序号:25033391发布日期:2021-05-11 17:04阅读:681来源:国知局
基于知识图谱的加密网络异常流量检测方法

本发明属于网络安全中的网络异常流量检测领域,具体涉及一种基于知识图谱的加密网络异常流量检测方法。



背景技术:

随着网络安全防范意识增强,加密通信占据主流,流量加密在保护隐私的同时也掩饰了非法企图,改变威胁形式的同时,也给网络安全防御带来了巨大的挑战。异常加密流量检测是互联网安全领域的一个重点问题,如何实现对网络加密流量的实时准确识别,是我国网络空间安全领域的重点问题,也是目前网络行为分析、网络规划建设、网络异常检测和网络流量模型研究的重点。

知识图谱,是结构化的语义知识库,用于以符号形式描述物理世界中的概念及其相互关系,其基本组成单位是“实体-关系-实体”三元组和实体及其相关属性-值对,实体间通过关系相互联结,构成网状的知识结构。

知识图谱具体包含3层含义:

1)知识图谱本身是一个具有属性的实体通过关系链接而成的网状知识库,从图的角度来看,知识图谱在本质上是一种概念网络,其中的节点表示物理世界的实体(或概念),而实体间的各种语义关系则构成网络中的边。由此,知识图谱是对物理世界的一种符号表达。

2)知识图谱的研究价值在于,它是构建在当前web基础之上的一层覆盖网络(overlaynetwork),借助知识图谱,能够在web网页之上建立概念间的链接关系,从而以最小的代价将互联网中积累的信息组织起来,形成可以被利用的知识。

3)知识图谱的应用价值在于它能够改变现有的信息检索方式,一方面通过推理实现概念检索(相对于现有的字符串模糊匹配方式而言);另一方面以图形化方式向用户展示经过分类整理的结构化知识,从而使人们从人工过滤网页寻找答案的模式中解脱出来。

综上所述,知识图谱对数据有很强的描述能力,可以很好地描述各个实体以及它们之间的关系。将知识图谱应用在攻击异常检测中,从网络流量中抽取信息构成知识图谱,利用知识图谱描述两个主机之间的交互关系,然后对此关系进行分析检测。

知识图谱的构造过程就是还原网络通信的过程,换成一种计算机能够理解的形式。攻击之前都会有一个攻击主机与受害方的交互流程,用知识图谱的形式来描述这个交互流程,也就是利用知识图谱构建网络攻击行为,同时依据阈值规则发现异常,开启预警。



技术实现要素:

为解决加密异常流量检测的准确性与时效性的问题,本发明提供了一种基于知识图谱的加密网络异常流量检测方法,基于知识图谱对网络通信过程进行描述,并将网络中的数据报文中的源和目的ip地址进行实体抽取得到顶点,并根据数据报文的标志位或者交互信息构建源和目的两实体之间的关系,通过统计实体间的交互通信数占比及两者连接数占比,判断网络通信流量的正常与否。

本发明公开了一种基于知识图谱的加密网络异常流量检测方法,包括以下步骤:

s1,利用抓包软件抓取加密协议协商阶段的报文和密钥;

s2,利用密钥对加密的流量解密从而得到明文的数据报文;

s3,实时获取通信网络中所产生的各种数据报文;

s4,将数据报文中的各个实体作为顶点,实体间的关系属性作为边,构建知识图谱;按顶点的特征字对顶点进行分组,同一数据报文的两个实体是一组,一组实体代表着两实体间进行通信流量的交互,对于接收到的数据报文,分析该数据报文的源ip和目的ip,如果现有实体中没有这两个ip,那么就新建两个实体,如果现有实体中已存在这两个ip,则找到这两个ip对应的两个实体;找到该两个实体后,对这两个实体依据其交互信息构建连接,如果其交互信息有请求有响应,那么创建实连接,如果其交互信息有请求没有响应,那么创建虚连接;再遍历与此两个实体有关的所有响应报文,若响应报文的序列号有和此实体报文的响应相匹配的,那么此响应报文对应的连接关系为实连接,否则此响应报文对应的连接关系为虚连接。结束对所有响应报文的分析,从而生成知识图谱。

s5,知识图谱构造完成后,由知识图谱中两个实体间的关系,统计两个实体间的连接数、交互信息数、实连接占比、虚连接占比;通信的两个实体之间的交互数据包的数量称为交互信息数,连接数是两个实体之间通信的次数。

s6,分别统计两个实体间相互交互的连接数占比;所述连接数占比,包括源ip向目的ip的连接数占比和目的ip向源ip的连接数占比。

s7,统计对所有实体的最终的检测值,包括连接数、交互信息数以及连接数占比,判断各检测值是否大于其对应的阈值,若大于阈值则判断通信网络中存在异常流量,发出异常流量预警。

步骤s1所述的抓包软件,具体为wireshark。

步骤s1所述的加密协议协商阶段,其信息交互过程分为两个阶段:安全连接的建立和加密数据的传输,安全连接的建立阶段包括初始握手、认证和密钥共享,在此阶段中通信双方交换其共同支持的加密算法,互相进行身份验证并建立密钥。密钥共享过程为明文传输,利用抓包软件抓取在安全连接的建立阶段的认证与密钥共享时所交换的密钥,从而将加密的流量恢复至明文状态。

所述的步骤s1,在认证和密钥共享过程中,客户端连上服务端;服务端发送ca证书给客户端;客户端验证该证书的可靠性;客户端从ca证书中取出公钥;客户端生成一个随机密钥k,并用这个公钥对随机密钥k加密得到加密密钥k’;客户端把加密密钥k’发送给服务端;服务端收到加密密钥k’后用自己的私钥对其解密得到随机密钥k,此时双方都得到了随机密钥k,完成认证和密钥共享。抓包软件通过捕获流量中的.pcap文件得到随机密钥k,然后利用随机密钥k对流量解密,得到明文流量。

所述实体包括数据报文中的ip地址,分为源ip和目的ip。

在统计连接数与交互信息数时,包括源ip向目的ip的连接数和交互信息数,以及目的ip向源ip的连接数和交互信息数。

本发明的有益效果为:

本发明是一种基于知识图谱的加密网络异常流量检测方法,不同于现有的统计方法,本发明针对现有网络上增长速度最快的加密流量,对加密流量进行异常检测,主要针对加密协议协商阶段获取到密钥,将流量恢复到明文,然后进行检测:首先建模生成一个正常的网络流量行为,并将当前的网络流量相较于正常行为的网络流量相对比来判断是否异常,在异常判断过程中,单由一类网络流量的对比无法准确判断此刻的攻击流量。本发明以数据流为研究对象,研究数据流的内部报文,并且用知识图谱来描述流量行为,提升了检测效率和准确度。通过知识图谱方法分析网络通信中的流量行为关系时,可以更清晰准确的评估网络实体在整个知识图谱中表现出来的活跃度和关联性,意义便是可以清晰准确的判断两个ip之间通信流量的交互频率。

附图说明

图1是正常通信流量的知识图谱图。

图2是异常通信流量的知识图谱图。

图3是本发明的检测方法的流程示意图。

图4是加密协议的交互过程示意图。

具体实施方式

为了更好的了解本发明内容,这里给出一个实施例。

互联网上的各类数据以知识图谱的方式表示,更加可以清晰直观的展现各个实体的行为及实体间的关系。一种典型的应用场景是,用户a与用户b进行通信,两者之间存在诸多流量,用户a向用户b发出请求报文,在数据报文中,用户a为源ip实体,用户b为目的ip实体,若正常流量时,用户b会对用户a回应响应报文,一方请求,一方回应,此连接便为一组实连接,此通信过程为正常通信流量,如图1所示。一种异常通信流量过程是,用户a向用户b发送请求报文,但是用户a并不会响应用户b发送给用户a的响应报文,所以用户a不断发送报文向用户b但不会响应用户b发送给自身的数据报文,所以此连接为一组虚连接,此异常通信流量如图2所示。

使用知识图谱的形式展现网络实体行为关系更加清晰直观,当网络规模变大同时网络中实体数量大幅增加时,可以利用知识图谱本身具有的便于搜索的性质进行解决。

本发明公开了一种基于知识图谱的加密网络异常流量检测方法,图3是本发明的检测方法的流程示意图,包括以下步骤:

s1,利用抓包软件抓取加密协议协商阶段的报文和密钥;

s2,利用密钥对加密的流量解密从而得到明文的数据报文;

s3,实时获取通信网络中所产生的各种数据报文;

s4,将数据报文中的各个实体作为顶点,实体间的关系属性作为边,构建知识图谱;按顶点的特征字对顶点进行分组,同一数据报文的两个实体是一组,一组实体代表着两实体间进行通信流量的交互,不同的数据报文的实体代表不同的分组。对于接收到的数据报文,分析该数据报文的源ip和目的ip,如果现有实体中没有这两个ip,那么就新建两个实体,如果现有实体中已存在这两个ip,则找到这两个ip对应的两个实体;找到该两个实体后,对这两个实体依据其交互信息构建连接,如果其交互信息有请求有响应,那么创建实连接,如果其交互信息有请求没有响应,那么创建虚连接;再遍历与此两个实体有关的所有响应报文,若响应报文的序列号有和此实体报文的响应相匹配的,那么此响应报文对应的连接关系为实连接,否则此响应报文对应的连接关系为虚连接。结束对所有响应报文的分析,从而生成知识图谱。

s5,知识图谱构造完成后,由知识图谱中两个实体间的关系,统计两个实体间的连接数、交互信息数、实连接占比、虚连接占比;通信的两个实体之间的交互数据包的数量称为交互信息数,连接数是两个实体之间通信的次数。实连接占比为实连接总数占总连接数的比值,虚连接占比为虚连接总数占总连接数的比值。

s6,分别统计两个实体间相互交互的连接数占比;所述连接数占比,包括源ip向目的ip的连接数占比和目的ip向源ip的连接数占比。

s7,统计对所有实体的最终的检测值,包括连接数、交互信息数以及连接数占比,判断各检测值是否大于其对应的阈值,若大于阈值则判断通信网络中存在异常流量,发出异常流量预警。

步骤s1所述的抓包软件,具体为wireshark。

步骤s1所述的加密协议协商阶段,其信息交互过程分为两个阶段:安全连接的建立和加密数据的传输,安全连接的建立阶段包括初始握手、认证和密钥共享,在此阶段中通信双方交换其共同支持的加密算法,互相进行身份验证并建立密钥。密钥共享过程为明文传输,利用抓包软件抓取在安全连接的建立阶段的认证与密钥共享时所交换的密钥,从而将加密的流量恢复至明文状态。

所述的步骤s1,在认证和密钥共享过程中,客户端连上服务端;服务端发送ca证书给客户端;客户端验证该证书的可靠性;客户端从ca证书中取出公钥;客户端生成一个随机密钥k,并用这个公钥对随机密钥k加密得到加密密钥k’;客户端把加密密钥k’发送给服务端;服务端收到加密密钥k’后用自己的私钥对其解密得到随机密钥k,此时双方都得到了随机密钥k,完成认证和密钥共享。抓包软件通过捕获流量中的.pcap文件得到随机密钥k,然后利用随机密钥k对流量解密,得到明文流量。

所述实体包括数据报文中的ip地址,分为源ip和目的ip。

在统计连接数与交互信息数时,包括源ip向目的ip的连接数和交互信息数,以及目的ip向源ip的连接数和交互信息数。

对一个数据报文,下面介绍具体实施步骤:

所述的步骤s1与s2如图4所示,密钥共享过程为明文传输,利用抓包软件抓取在安全连接的建立阶段的认证与密钥共享时所交换的密钥,从而将加密的流量恢复至明文状态。

如图4所示,认证和密钥共享过程中,客户端连上服务端;服务端发送ca证书给客户端;客户端验证该证书的可靠性;客户端从ca证书中取出公钥;客户端生成一个随机密钥k,并用这个公钥对随机密钥k加密得到加密密钥k’;客户端把加密密钥k’发送给服务端;服务端收到加密密钥k’后用自己的私钥对其解密得到随机密钥k,此时双方都得到了随机密钥k,完成认证和密钥共享。抓包软件通过捕获流量中的.pcap文件得到随机密钥k,然后利用随机密钥k对流量解密,得到明文流量,为后续构建流量的知识图谱进行异常检测做铺垫。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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