一种基于DPI的物联网加密流量监控方法技术

技术编号:33387746 阅读:15 留言:0更新日期:2022-05-11 23:03
本发明专利技术公开了一种基于DPI的物联网加密流量监控方法,包括物联网IoT加密流量,其特征在于:通过在所述物联网IoT加密流量中,加入流量指纹,结合DPI信息用于流量模式的检测,用以判断流量模式是否正常,同时为了更深入地避免误检概率,利用TLS协议扩展功能加入应用协议版本信息和客户端所能支撑的版本信息来具象化一个TLS连接;与传统的其他的方法不同,本发明专利技术另辟蹊径,不是去定义识别特定威胁的新方法,而是在不搜索特定流量或恶意软件指纹的情况下,以通用方式对网络流量进行分类。以通用方式对网络流量进行分类。以通用方式对网络流量进行分类。

【技术实现步骤摘要】
一种基于DPI的物联网加密流量监控方法


[0001]本专利技术涉及互联网监控
,主要提供一种基于DPI的物联网加密流量监控方法。

技术介绍

[0002]近年来,网络流量在不同的网络协议和行为准则下发生了巨大变化,大多数网络流量以加密的方式进行传输,随着加密网络流量的逐步盛行,明文协议的使用频率较低,尽管它们在LAN网络中仍然相对流行,在网络内容加密传输的应用场景中,网络的可见性就变得尤为重要了。这意味着需要用新的测量指标来补充现有技术,检测加密网络流量的同时对该流量进行特征化,用于识别网络行为以及防备安全威胁和变化。在一些家庭网络中,使用云服务运行的物联网和医疗设备的广泛使用带来了新的安全问题,因为用户不再直接与设备进行信息交换,而只能通过云服务进行信息交换。这种基于云的安全趋势也出现在领先的防火墙供应商生产的产品上,这些产品可以单独使用云控制台进行访问,并且不再连接到位于公司场所的防火墙。
[0003]假设网络的可见性是当代网络安全机制的基础,显然很有必要采取适当的措施及机制来保证零信任和现代家庭网络的正常运行,这也是本专利技术的目标所在,因为各种原因,加密流量的解密并不实用,包括但不限于道德和技术问题,这些问题阻止MITM(中间人)技术在非TLS(传输层安全)协议(如SSH、BitTorrent 和Skype)上运行。

技术实现思路

[0004](一)专利技术目的
[0005]本专利技术的目的在于提供一种基于DPI的物联网加密流量监控方法,以解决上述
技术介绍
中提出的问题。r/>[0006](二)技术方案
[0007]为实现上述目的,本专利技术提供如下技术方案:一种基于DPI的物联网加密流量监控方法包括物联网IoT加密流量,通过在所述物联网IoT加密流量中,加入流量指纹,结合DPI信息用于流量模式的检测,用以判断流量模式是否正常,同时为了更深入地避免误检概率,利用TLS协议扩展功能加入应用协议版本信息和客户端所能支撑的版本信息来具象化一个TLS连接,在DPI信息的基础上,为了更深入地识别流量模式,利用分箱技术对加密流量进行指标度量以及分类,基于全面的度量值列表对最近的流量进行归类,并将其与一个给定设备的流量模型进行欧式距离比对,检测是否匹配,从而达到检测恶意流量的目的,其具体步骤流程如下:
[0008]步骤一,在加密流量协议TLS中设置客户端和服务端的流量指纹,TLS通信流经过加密的双向网络通道时使用共享秘钥进行加密,共享秘钥在TLS会话双向握手时双向确认,TLS握手时,通信双方在采用的算法,交换证书和密码选项达成一致后,对数据进行加密后再进行交换。TLS客户端发送一条Clienthello 消息,消息包含支持的密码,压缩方法和其
他的参数,包括TLS密码系统采用椭圆曲线选项等信息,服务端接收消息后响应SeverHello消息,该消息包括选择TLS协议版本,密码和压缩方法,压缩方法在客户端消息中包含的客户端支持的压缩方法中选择;然后服务端发送一条可选的认证消息,包含服务端使用的公钥。握手消息以明文进行传输,所以可以被客户端通过消息解析获得,通过解码第一次握手消息,应用程序可以检测客户端和服务端数据如何交换,如何解析服务端和客户端的配置信息、流量指纹以及客户端的应用程序等, ClientHello消息中有服务端标识SNI,含有客户端可以访问的服务端的名字,指纹方法优选采用JA3C和JA3S。
[0009]步骤二,基于DPI信息对物联网加密网络流量进行监测,多数家庭设备和智能设备都不是直接与家庭局域网通信而是与云端进行通信,当两个本地的设备需要通信时,并不是直接进行数据的交换,而是在使用时均连接了云端的服务,云端通信基本上都是加密的,监测工具应当监测IoT的流量来确保设备是正常工作的,在本专利技术中,对IOT设备加密流量进行监测时,优选地采用DPI 技术来标识流量并提取可用于对流量进一步进行分类的相关元数据,通过比较两端恶意流量的指纹和正常流量的指纹可以推测出通信的特征,从而达到检测宿主指纹是否发生了变化的目的。
[0010]步骤三,进一步地采用加密TLS协议扩展功能来区分应用协议列表,在本专利技术中,优选的采用JA3来检测应用程序中的变化,因为在已知的列表中的JA3C 指纹必须保持稳定,任意一个新的JA3C签名表示,有一个新的或者未知的应用在运行,或者已存在的应用受到了更改,或者受到了侵害,对于给定的JA3C,服务端一般总是使用同样的JA3S,这样,指纹元组<JA3C,JA3S>对于相同的客户端和服务端是稳定的,如果JA3S变了,但JA3C没有变,一定是服务端的软件配置发生了变更。
[0011]进一步的为了从HTTPS通信协议中区分一个通用的TLS连接,在 ClientHello消息包中,有一个TLS的扩展功能,客户端可以使用ALPN,应用层协议协商,来告诉服务端其所使用的应用协议列表,比如:HTTP/1.1和 HTTP2.0,而非web类型的应用比如VPN就不能使用ALPN来通知服务端其使用的HTTP协议,另一个TLS扩展的功能是支持的版本信息,版本信息可以有客户端指定所支持的TLS版本,版本信息与ALPN联合起来可以作为web客户端应用的指纹,从而可以在本质上特征化一个具体的TLS连接。
[0012]步骤四,进一步地采用分箱技术对加密流量进行指标度量以及分类,基于全面的度量值列表对最近的流量进行归类,并将其与一个给定设备的建设的流量模型进行对比,检测是否匹配,这种策略的限制在于如果能找到匹配的模型,归类为正常的流量,网络中存在的一种新流量模型时,需要检测是否为恶意流量来判断该行为是否为一种异常流量。
[0013]优选的,在本专利技术中,优选采用分箱技术作为DPI流量模型的补充,可以连续监控流量行为,比如:IAT,流量包长度,字节分布式特征,以及实际吞吐量和上传/下载的度量值等。这些信息可以用来发现网络行为的变化,同时也用于检测连接的核心特征,比如:交换会话,文件上传/下载,协议通道等。
[0014]优选的,使用DPI组件检测应用层协议可以标记网络流量:比如,使用 TLS.Instagram观测SNI以cdninstagram.com结尾的TLS流量;对于每一次连接直到连接结束,不管是客户端到服务端模式还是服务端到客户端模式,进行下面的度量指标的计算:将通过TCP三次握手协议后的流量包载荷,将其划分为6个分箱,分别为P1,P2,P3,P4,P5,P6,比如:P1:小于64字节,P2: 65~128,P3:129~256,P4:257~512,P5:513~1024,P6:1025以
上,计算流量包的 IAT,将其划分为6个分箱,I1,I2,I3,I4,I5,I6;比如:I1:小于1ms,I2: 1~5ms,I3:5~10ms,I4:10~50ms,I5:50~100ms,I6:100ms以上。
[0015]优选的,计算负载字节信息熵H(X):为了节省周期计算的计算开销,基于连接的第一个长度为N的数据包,比如256,创建一个本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于DPI的物联网加密流量监控方法,包括物联网IoT加密流量,其特征在于:通过在所述物联网IoT加密流量中,加入流量指纹,结合DPI信息用于流量模式的检测,用以判断流量模式是否正常,同时为了更深入地避免误检概率,利用TLS协议扩展功能加入应用协议版本信息和客户端所能支撑的版本信息来具象化一个TLS连接,在DPI信息的基础上,为了更深入地识别流量模式,利用分箱技术对加密流量进行指标度量以及分类,基于全面的度量值列表对最近的流量进行归类,并将其与一个给定设备的流量模型进行欧式距离比对,检测是否匹配,从而达到检测恶意流量的目的,其具体步骤流程如下:步骤一,在加密流量协议TLS中设置客户端和服务端的流量指纹,TLS通信流经过加密的双向网络通道时使用共享秘钥进行加密,共享秘钥在TLS会话双向握手时双向确认,TLS握手时,通信双方在采用的算法,交换证书和密码选项达成一致后,对数据进行加密后再进行交换。TLS客户端发送一条Clienthello消息,消息包含支持的密码,压缩方法和其他的参数,包括TLS密码系统采用椭圆曲线选项等信息,服务端接收消息后响应SeverHello消息,该消息包括选择TLS协议版本,密码和压缩方法,压缩方法在客户端消息中包含的客户端支持的压缩方法中选择;然后服务端发送一条可选的认证消息,包含服务端使用的公钥。握手消息以明文进行传输,所以可以被客户端通过消息解析获得,通过解码第一次握手消息,应用程序可以检测客户端和服务端数据如何交换,如何解析服务端和客户端的配置信息、流量指纹以及客户端的应用程序等,ClientHello消息中有服务端标识SNI,含有客户端可以访问的服务端的名字,指纹方法优选采用JA3C和JA3S。步骤二,基于DPI信息对物联网加密网络流量进行监测,多数家庭设备和智能设备都不是直接与家庭局域网通信而是与云端进行通信,当两个本地的设备需要通信时,并不是直接进行数据的交换,而是在使用时均连接了云端的服务,云端通信基本上都是加密的,监测工具应当监测IoT的流量来确保设备是正常工作的,在本发明中,对IOT设备加密流量进行监测时,优选地采用DPI技术来标识流量并提取可用于对流量进一步进行分类的相关元数据,通过比较两端恶意流量的指纹和正常流量的指纹可以推测出通信的特征,从而达到检测宿主指纹是否发生了变化的目的。步骤三,进一步地采用加密流量TLS协议扩展功能来区分应用协议列表,在本发明中,优选的采用JA3来检测应用程序中的变化,因为在已知的列表中的JA3C指纹必须保持稳定,任意一个新的JA3C签名表示,有一个新的或者未知的应用在运行,或者已存在的应用受到了更改,或者受到了侵害,对于给定的JA3C,服务端一般总是使用同样的JA3S,这样,指纹元组<JA3C,JA3S>对于相同的客户端和服务端是稳定的,如果JA3S变了,但JA3C没有变,一定是服务端的软件配置发生了变更。进一步的为了从HTTPS通信协议中区分一个通用的TLS连接,在ClientHello消息包中,有一个TLS的扩展功能,客户端可以使用ALPN,应用层协议协商,来告诉服务端其所使用的应用协议列表,比如:HTTP/1.1和HTTP2.0,而非web类型的应用比如VPN就不能使用ALPN来通知服务端其使用的HTTP协议,另一个TLS扩展的功能是支持的版本信息,版本信息可以有客户端指定所支持的TLS版本,版本信息与ALPN联合起来可以作为web客户端应用的指纹,从而可以在本质上特征化一个具体的TLS连接。步骤四,进一步地采用分箱技术对加密流量进行指标度量以及分类,基于全面的度量值列表对最近的流量进行归类,并将其与一个给定设备的建设的流量模型进行对比,检测
是否匹配,这种策略的限制在于如果能找到匹配的模型,归类为正常的...

【专利技术属性】
技术研发人员:郑超黄园园苏俊陈劲松
申请(专利权)人:中电积至海南信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1