串口数据抓取以及串口数据模拟

华盟原创文章投稿奖励计划

文章来源:网友投稿

文章作者:齐安安 

本期来讲讲在工控现场使用的设备中有哪些普遍存在但容易被忽视的安全隐患,重视每一个小细节,才对工业安全做出更好的防护哦~

在工控现场中,存在着几乎所有设备都离不开,很基础但是也很容易出现安全隐患的地方——串口,那么串口是什么呢?串口通信是否有风险?本次小课堂中我们将带来解答,并详细描述如何对串口进行安全攻防。

什么是串口?

串口全称为串行通信接口,串行接口是一种可以将接收来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接收的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。

工控现场中,所拥有的大部分网络设备都具备了串口通信,甚至将串口保留为最基础的调试接口,即使没有外接串口设备,我们也可以在PCB板上找到串口接出的pin针脚或焊点。如果工控设备没有对串口进行加密读取的话,就会产生对串口进行敏感数据操作可能性。

本文将模拟硬件与串口进行通信时及串口数据传输时对数据进行抓取和分析的过程,将模拟抓取到的数据发送给下位机,验证不经过系统时是否可以直接通过串口发送数据到下位机。

串口主要运用场景

串口是计算机上一种非常通用的设备通信协议。大多数计算机(不包括笔记本电脑)包含两个基于RS-232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用来获取远程采集设备上所产生的数据。

RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。用途诸多,比如连接鼠标、打印机或者Modem,也可以接工业仪器仪表。

STM32串口通信基础以及通信过程

通常PC机(或上位机)通常使用的都是RS232接口(通常为DB9封装),因此不能直接交叉连接。RS232接口是9针(或引脚),通常是TxD和RxD经过电平转换得到的。所以,要想使得芯片与PC机的RS232接口直接通信,需要也将芯片的输入输出端口也电平转换成rs232类型,再交叉连接。

串口数据抓取以及串口数据模拟

经过电平转换后,芯片串口和rs232的电平标准是不一样的:·单片机的电平标准(TTL电平):+5V表示1,0V表示0;·Rs232的电平标准:+15/+13 V表示0,-15/-13表示1。

串口数据抓取以及串口数据模拟

▲图示串口通信过程

进行操作时使用的工具

Serial Port Monitor抓串口包

串口数据抓取以及串口数据模拟

Virtual Serial Port Driver模拟串口

串口数据抓取以及串口数据模拟

友善串口调试工具,也可自己使用python包serial进行调试,示例为了操作方便使用工具

串口数据抓取以及串口数据模拟

串口数据抓取

开始监听com口数据

串口数据抓取以及串口数据模拟

抓取的数据如图所示

串口数据抓取以及串口数据模拟

可以查看到dump view窗口中写入的数据

串口数据抓取以及串口数据模拟

以aa请求开头,以ff请求结尾,中间f0818283为数据,再观察工控机器的所做出对应的操作,即可了解到该指令的含义。

串口数据通信

最后,使用友善串口调试助手发送串口数据即可

串口数据抓取以及串口数据模拟

结论

在经过测试验证的情况下,可以在没有进行串口通信加密的情况下,借助上位机(一般代指PC),绕过软件权限限制,对下位机(工控设备),进行随意的修改和发送指令。

课后答疑

1.如何对串口数据通信进行保护呢?可以在接受到外设备发送过来的8个字节数据后,通过加密处理,生成16字节秘钥与标签码,并将这些信息通过串口发送回给外设备。如此便可防止串口被监听导致所发送的数据泄露。
2.现代大多工控设备中会对串口进行加密保护吗?比较少,因为进行这样的操作需要直接连接到机器,但是工控现场保护较为严密,在有了物理保护后,这种软件层面上的保护一般因为节省成本而忽略掉。但是此类行为并不可取,工控数据对安全性要求非常高,不做串口加密保护的话就相当于存在一个已知的威胁隐患。所以,相关工业企业需要足够重视,更好地保护工业数据的安全。

本文原创,作者:张,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/271067.html

发表评论