齐安安小课堂 | 串口数据抓取以及串口数据模拟
文章插图
各位同学们好 , 好久不见!
齐安安小课堂又双叒叕开课啦~
本期来讲讲在工控现场使用的设备中
有哪些普遍存在又容易被忽视的安全隐患
只有重视每一个小细节
才能对工业安全做出更好的防护哦~
引言
在工控现场中 , 存在着几乎所有设备都离不开 , 很基础 , 但是也非常容易出现安全隐患的地方——串口 , 那么串口是什么呢?串口通信是否有风险?本次小课堂中我们将带来解答 , 并详细描述如何对串口进行安全攻防 。
? 什么是串口?
串口全称为串行通信接口 , 串行接口是一种可以将接收来自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 。
文章插图
▲图示串口通信过程
进行操作时使用的工具
文章插图
Virtual Serial Port Driver模拟串口
文章插图
友善串口调试工具 , 也可自己使用python包serial进行调试 , 示例为了操作方便使用工具 。
文章插图
串口数据抓取
开始监听com口数据
抓取的数据如图所示
文章插图
抓取的数据如图所示
文章插图
可以查看到dump view窗口中写入的数据
文章插图
以aa请求开头 , 以ff请求结尾 , 中间f0818283为数据 , 再观察工控机器的所做出对应的操作 , 即可了解到该指令的含义 。
串口数据通信
最后 , 使用友善串口调试助手发送串口数据即可
文章插图
结论
在经过测试验证的情况下 , 可以在没有进行串口通信加密的情况下 , 借助上位机(一般代指PC) , 绕过软件权限限制 , 对下位机(工控设备) , 进行随意的修改和发送指令 。
课后答疑
Q:如何对串口数据通信进行保护呢?
A:可以在接受到外设备发送过来的8个字节数据后 , 通过加密处理 , 生成16字节密钥与标签码 , 并将这些信息通过串口回传给外设备 。 如此便可防止串口被监听导致所发送的数据泄露 。
- 老年课堂 | 老年人智能手机的选择
- 心理上|互动心理课堂 给快递员减压
- AITD小课堂第七课:公链DAPP是什么,凭什么取代APP?
- GET|叮咚课堂邱明丰:在线教育的最终形态
- 齐鲁在线|创新教学改革 吉利学院融媒体系开展信息化对分课堂教研会
- 超能课堂:热管散热器应该怎么装?
- 极速鲨课堂:越大越强 CPU咋不做成巴掌大?
- 时下不少人养生|下列哪种人不适合泡温泉?蚂蚁庄园小课堂2020年11月27日答案
- 淘宝大学云课堂发布3.0版本 助力企业培训“千人千面”
- 设计|今日直播【Gen约课堂】地铁专题-叠合墙和复合墙结构体系的受力分析