[发明专利]一种基于TCP/IP协议栈指纹的操作系统被动识别方法及系统在审
申请号: | 201911086474.1 | 申请日: | 2019-11-08 |
公开(公告)号: | CN110868409A | 公开(公告)日: | 2020-03-06 |
发明(设计)人: | 石俊峥;熊刚;范鑫磊;苟高鹏;李镇;宋嘉莹;刘梦严 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/24 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 陈艳 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 tcp ip 协议 指纹 操作系统 被动 识别 方法 系统 | ||
本发明提供了一种基于TCP/IP协议栈指纹的操作系统被动识别方法及系统,在不需要对网络加密流量解密的前提下,利用IP协议、TCP协议以及TLS协议的头部字段信息和网络流包长和包传输时间序列的统计信息,识别客户端的操作系统类型以及主要版本信息,进而评估目标网络中各主机的网络安全漏洞风险,推断互联网中NAT设备的存在数量。本发明借鉴流量分类领域中的已有成果,在特征集中引入网络流的统计信息特征,增强不同操作系统流量之间的区分性;并首次将LightGBM模型作为完成识别任务的机器学习模型,利用该模型支持类别特征输入的特性,解决了多维度类别特征one‑hot编码后导致的特征维度爆炸问题。
技术领域
本发明涉及一种基于TCP/IP协议栈指纹的操作系统被动识别方法及系统,属于计算机软件技术领域。
背景技术
近些年来,由于各种智能设备使用量的增长和网络加密技术的发展,网络监控和管理技术面临越来越多的问题和挑战。众所周知,了解本地网络中所有主机的操作系统信息,是完成保障网络安全,优化网络管理等任务必不可少的一环。一方面,大部分网络漏洞与特定的操作系统种类和版本有关,因此掌握本地网络中各主机的操作系统信息有助于及时修补潜在漏洞,免受恶意攻击;另一方面,网络地址转换(NAT)设备在互联网中的部署规模日益增大,严重破坏了IP协议的端到端特性,增加了网络拓扑的复杂性,而对于操作系统识别方法的研究可用于测量网络中的NAT规模。
识别网络中客户端操作系统信息的方法主要分为两种:主动和被动。主动识别方法指构造特定的网络报文发往待测主机,根据待测主机的响应推断其操作系统相关信息,具有针对性强和准确性高等特点。然而,主动识别行为很容易被入侵检测系统或网络防火墙等安全设备检测并拦截,无法将探测数据包发送到目标主机,导致其仅适用于少量场景。与主动识别方法相比,被动识别方法不需要和目标主机进行交互,仅需监听网络中的数据包,通过提取并利用网络数据包中的协议头部信息,载荷信息和其他信息来识别目标主机的操作系统。由于被动识别方法不受防火墙等安全设备的影响,其适用范围更广,但其局限性是识别准确性相对较差。
根据是否加密,操作系统被动识别方法的研究对象可分为明文流量和加密流量。对于明文流量,操作系统被动识别的主流方法是利用深度包检测(DPI)技术获取网络数据包中应用层的特征字符串,并结合正则匹配技术在已经构建好的字典或数据库中通过查询得到客户端的操作系统信息。例如,利用HTTP协议中的User-Agent字段,DNS协议中操作系统开发商的相关域名以及NTP协议的服务器地址等信息都可以获取客户端的操作系统信息。
对于加密流量,操作系统被动识别方法通常利用了操作系统在实现TCP/IP协议栈时的细微差异以及设备性能上的差异。对于不同类型的操作系统,客户端发往服务端的TCP握手报文和TLS Client Hello报文中都隐含了大量操作系统信息。例如,IP层的TTL初始值、报文长度值,TCP层的WIN初始值、MSS初始值、Options初始序列和TLS层的TLS版本、加密套件序列、扩展类型序列等信息都可以组成识别操作系统信息的指纹。
然而,以上方法均不适用于加密网络中大规模主机操作系统信息的细粒度识别任务。仅利用TCP握手报文的IP层和TCP层信息,在识别客户端操作系统主版本任务中的准确率、召回率和精度都非常低,难以满足要求。因此,从网络流信息中引入新的指纹特征,比如TLS层的参数信息和网络流的统计信息,并结合性能更好的机器学习模型,是解决加密网络中大规模主机操作系统信息细粒度识别问题的关键。
发明内容
本发明的目的是将现有技术的已有成果结合起来,并引入新的网络流特征处理方法,克服当前技术对于动态网络中加密流量客户端操作系统信息识别精度和粒度不佳的缺陷。在不需要对网络加密流量解密的前提下,利用IP协议、TCP协议以及TLS协议的头部字段信息和网络流包长和包传输时间序列的统计信息,识别客户端的操作系统类型以及主要版本信息,进而评估目标网络中各主机的网络安全漏洞风险,推断互联网中NAT设备的存在数量。
本发明的技术方案如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911086474.1/2.html,转载请声明来源钻瓜专利网。