快捷搜索:  网络  渗透  后门  CVE  扫描  木马  黑客  as

深度解析工控收集流量特点

*

媒介

工控安全关系着国家安全,从工控收集流量中发现威胁举动是维护工控体系的手段之一。由于工业控制中的收集流量大可能是由工控设备按照生产工艺自动产生,与大部分由人为产生的互联网流量有极大的区分。因此,充分了解工业控制体系流量的特点有益于更好地开发有用的威胁检测手段。由于大部分的研究都是基于流量统计特性来对周期性进行说明,却没有深入到数据包的字段中。自己即是通过深入解析工控流量的字段,来探访工控流量的特点。

实验数据

本次的实验数据由工控实验平台产生,由上位机控制西门子S7-300PLC,PLC控制电机转速设备。在无任何人为操作的情形下,本次实验共抓取111815个数据包,充足用来对工控流量的特点进行阐发。以下图所示。

深度解析工控收集流量特点

上位机的IP为:192.168.1.33;PLC的IP为:192.168.1.10。由于上位机到PLC是命令下达的方向,而PLC到上位机通常为响应对复。因此,本文首要探访上位机到PLC方向的控制信道流量特点。为了更好地阐发数据包,自己写了一个简单的程序帮助阐发[传送门]。起首,提取上位机到PLC的数据包。行使程序,先查看实验数据的四元组信息。

深度解析工控收集流量特点

如图所示,上位机到PLC的流量为第[1]条。并通过程序过滤出这一方向的数据包,保存为102.pcap。下面就最先正式的阐发吧。 

阐发步骤

用wireshark关上102.pcap,先粗看下数据包是否具有周期性。

深度解析工控收集流量特点

由上图可得,仅从数据包长度看为:91-61-91-61-61-91-61-61-61-91-61-61-91…感觉有点周期,但并不是整齐的周期。其中还出现了少许长度为87的数据包。但一想到,控制信道中,数据包种类固定,可以先来看看,这个信道中有若干种不同长度的数据包。照样运行程序。

深度解析工控收集流量特点

由上图可得,有3种不同长度的数据包。这里的数据包长度取的是传输层tcp协定承载的数据长度,而wireshark取的是数据帧的长度,所以数值不同样。我这里的长度加上14就与wireshark的长度一致了。可以看到,控制通道里只出现47,77,73这三种长度,对应到wireshark,刚好是61,91,87。那出现的这3种数据包,自身具不具备周期性呢,这就可以看下数据包应用层数据的分布了。照样借助程序。先拔取长度为47的数据包。

深度解析工控收集流量特点

分别得到了两个文件,out_47.txt中可以看到应用层的分布,packets_47.pcap中为过滤出的长度为47的数据包。先来看看out_47.txt, 取前20条看。

深度解析工控收集流量特点

传输层tcp协定,data内容没有变迁。在wireshark中可以看到。

深度解析工控收集流量特点

该数据包协定为COTP,为S7协定中第6层协定,负责进行连接。再来看看长度为77以及长度为73的包。

深度解析工控收集流量特点

上图可以看到,长度为77的数据包,第一排红框中的值为递增变迁,第二排红框中的字在有规律的变迁,变迁规律为0258-0320-00c8-0190,数据库黑客,始终在交替周期变迁,其余值不变。在wireshark中可看到。

深度解析工控收集流量特点

变迁的字段为S7协定的Protocol Data Unit Reference,逐一递增;以及Data中的item中的Data字段。值得一提的是这种数据包的function code为write var(0X05)。再来看看长度为73的数据包。

深度解析工控收集流量特点

唯一有变迁的即是Protocol Data Unit Reference,这种数据包是用来要求读取PLC中的信息。

深度解析工控收集流量特点

长度为73的数据包但从字节上看,很难看出周期性;长度为77的function code为write的数据包,也只有item的data字段具有周期性。但这只是数据包内容的特点,可以再来看看数据包的时间分布是否具备周期性。运行程序,提取每一个数据包的时间戳。并根据规律打印出以下信息。

深度解析工控收集流量特点

上图打印的长度为73的包,第一列为数据包内容,第二列为时间戳,第三列为相邻数据包之间的时间戳的差。可以看到,具有高度固定的时间间隔,在98.2秒左右。

深度解析工控收集流量特点

上图打印的是长度为77的包,据观察,只有相隔4个数据包的时间戳(即是第5个数据包时间戳减去第1个的,第6个减第5个的,以此类推)的差值才会有大致固定的时间间隔,为3秒左右,也即是说明是以4个数据包为周期。这也相符数据包内容item的data字段的变迁规律。

深度解析工控收集流量特点

对于长度为47的数据包,据观察,大约在相隔6个数据包时差值会固定,大约相隔2秒,然则存在一些异常点,相隔时间并不整齐。由于这类数据包不带S7协定的应用层数据,比较好区别出来。实际检测中,可以将这种数据包过滤掉。

到此,需说明的是,本文是在一个简单的实验环境下抓取的数据包,实际过程中的工艺流程更为复杂,但一样可以用此类要领来进行阐发,发现工控流量中的特点以及规律。

总结

由此,可以得到,工业控制体系的流量团体上讲,大致具有周期性的规律。要是按长度细分下去,带有S7协定应用层数据的数据包某些字段呈周期性变迁规律,如长度为77的item的data字段。在时间维度上,带有S7协定应用层字段的数据包具有极高的时间周期性,如长度为73以及77的包。通过深入的阐发,本文确凿发现了工控数据流量的部分周期性特点。在未来的研究中,可以依据此类周期性的特点,有针对性的为工控体系设计异常检测方案。希翼本文能给人人一点启示,若有不妥的地方,欢迎一块儿讨论。

*

您可能还会对下面的文章感兴趣: