APP下载

内网设备操作系统和设备类型识别的研究

2020-05-14姜渭鹏李应飞

电子元器件与信息技术 2020年2期
关键词:字段局域网数据包

姜渭鹏,李应飞

(超高压输电公司大理局,云南 大理 671000)

0 引言

能源行业的局域网环境中,局域网连接了众多的设备,安全设备,主机设备,工控设备,网络设备,安防设备等。为了保证业务安全及信息安全,通常需要资产的台账表去管理这些设备,被管理的这些设备通常会有分区、IP 地址、MAC地址、设备类型或者是型号、操作系统和端口信息,以表格的形式呈现并人工的去管理整个的局域网里面的设备。但是在实际工作环境中,由于整个的局域网是不断的变化的[1],同时在操作的过程中也可能由于疏忽,导致网线的错接或者是没有接,原有的资产发现不了等问题。实际生产环境中,上述两种方案部署和实施遇到很大的困难。现场生产设备负责重要的生产业务,专机专用,排斥安装第三方的客户端探针(agent)监测程序[2]。现场账号密码管理制度指导方针也不允许大量暴露登录密码给检查人员,检查人员面临泄漏账号密码的风险;同时现场可能存在过多办公主机终端,每个办公终端的账号密码都不同,存在不方便收集的问题[3]。因此,安装客户端探针(agent)监测程序或通过账号密码登录两种方式在现场开展检查工作时候不受欢迎,非能普及,并且在很多网络设备和安全设备等在设备上装agent是行不通的,会引入未知风险,并且实施难度大。本文提出一种凭籍网络主动扫描的方式,尝试解决收集并检查局域网所有设备工作的问题。使用网络主动扫描技术[4],只需要把探测设备接入网络,向目标主机发起通讯,不需要在目标主机上安装客户端探针(agent)程序,不需要维护账号密码。对实际生产环境中资产检查收集工作给出参考意见。

1 方案

1.1 思路

为了阐明设备信息收集(设备类型和操作系统)的方案,本文从设备的本身的软件和硬件特性,包括不同的设备类型,不同的操作系统,不同的软件之间的区别,来阐明可以使用技术的手段来自动检测设备的操作系统和设备类型等信息。从设备的硬件特性上来说,包含CPU的架构,有ARM,POWERPC,INTE,AMD。从操作系统的参数来说,不同的操作系统,其参数设置也是不一样的。

不同的操作系统TTL的初始值不一样,比如说window的为128-255,linux为64等。

不同操作系统的串口值不一样,WIN2000为例,它的TTL为128,窗口大小在17000~18000这个范围内。

不同的操作系统DF值不一样,DF值为报文分片,一般在系统里面设置一个报文的最大的长度为1580字节,但是网络中会允许传输大包,有的操作系统默认会支持报文分片,将大的报文分解成一个一个小的报文发送。

不同的操作系统TOS值不一样。

不同的操作系统对ICMP报文的回包处理方式不同。

从软件特性来说,不同的软件会开放不同的端口,比如开启了3306 端口,很有可能这台设备就会当作一个服务器使用,或者是开启了web端口,也可以过滤掉很多的嵌入式的设备[5]。

综上可知,从原理上可以通过不同设备的硬件特性,操作系统的差异性,以及软件的不同的服务去综合判断并获取设备信息(比如操作系统,和设备类型等)的可行性。

1.2 技术手段

Nmap探测工具,Nmap探测工具集成了操作系统的探测,端口探测,服务探测,设备类型识别,绕过防火墙探测等一系列的功能,在本文我们只阐述探测系统和设备类型的识别所用到的技术手段。

Nmap维护一个nmap-os-db数据库,存储了上千种操作系统信息,简单一点来说,Nmap通过TCP/IP协议栈的指纹信息来识别目标主机的操作系统信息,这主要是利用了RFC标准中,没有强制规范了TCP/IP的某些实现,于是不同的系统中TCP/IP的实现方案可能都有其特定的方式,这些细节上的差异,给nmap识别操作系统信息提供了方案,具体一点说,Nmap分别挑选一个close和open的端口,分别发送给一个经过精心设计的TCP/UDP数据包,当然这个数据包也可能是ICMP数据包[6]。然后根据收到返回报文,生成一份系统指纹。通过对比检测生成的指纹和nmapos-db数据库中的指纹,来查找匹配的系统。

Nmap-os-db文件,指纹头部使用| 符号隔开四个元素,分别是 厂商|操作系统|系统版本|设备类型,在指纹后面跟着的是指纹字段,分别是 SEQ,OPS,WIN,ECN,T1-T7,U1,IE等基本元素组成,Nmap的检测过程正是利用了上述的不同的操作系统和硬件以及应用的微小的差别,得到指纹类匹配指纹库的SEQ,OPS,WIN,ECN,T1-T7,U1,IE字段,如果匹配成功就得到了当前设备的厂商、操作系统、系统版本和设备类型的具体设备信息了。

Nmap发送探测报文的具体发包和探测流程如下:

①发送六个TCP SYN 报文,来生成4条指纹,分别是SEQ,OPS,WIN,T1。这些数据包的序列(sequence)和确认号(acknowledgementnumbers)是随机的,tcp选项和tcp窗口字段值也是不同的,其中报文的会包含时间戳的探测,这样不同的设备不同的操作系统返回的报文序列号,窗口,时间戳等有微小的差别,形成SEQ,OPS,WIN,T1四条指纹。②T2-T7指纹探测。分别发送TCP SYN到已经探明的不同的端口,同样是序号,确认好,窗口字段DF字段,TTL等字段的不同,构造探测报文,形成T2-T7字段。③U1 IE指纹探测。发送ICMP报文到设备,不同的设备不同的操作系统对ICMP报文的返回处理方式不一样,形成U1 IE指纹。通过上述的报文探测就可以得到Nmap-os-db每个设备的指纹内容,将这些内容写入Nmap-os-db文件里面就,当在下一次进行扫描的时候就会匹配写入的内容,如果匹配上了就可以得到其具体的设备类型[7-8]。

2 现场实施

主动扫描工具接入现场网络,网络上实现和目的终端设备互联互通;命令行测试效果如下:可以看到端口信息,mac地址,设备类型,操作系统信息全部探测出来。

3 结论

对比在终端主机上安装客户端探针程序(agent)和收集现场所有的终端主机账号密码,通过Nmap方式获取终端上的设备信息实施更受欢迎,其唯一条件就是保证探测设备和被探测设备之间的网络可达;该方案减少了目标设备的运维成本,避免了主机安装agent程序后带来的业务风险及账号密码泄漏的风险;实际资产收集,设备识别,现场排查工作中应用了该技术,提供了目标设备的识别检测效率,减少了人工收集所带来的一系列的问题。

猜你喜欢

字段局域网数据包
二维隐蔽时间信道构建的研究*
带钩或不带钩选择方框批量自动换
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于VPN的机房局域网远程控制系统
浅谈台湾原版中文图书的编目经验
C#串口高效可靠的接收方案设计
计算机局域网组建及管理探讨
无正题名文献著录方法评述
无正题名文献著录方法评述
局域网存在的安全隐患及其防治策略