早上八点,某制造厂的生产线突然停摆。监控画面定格在最后一台机械臂悬停的瞬间,操作员反复重启无果。排查半天才发现,攻击者通过一个未加密的Modbus请求,篡改了PLC的温度设定值,导致系统自动保护停机。这不是电影情节,而是工业通信协议安全漏洞带来的真实风险。
\n\n这些协议,天生就“赤膊上阵”
\n\n很多工厂还在用Modbus、Profibus、OPC Classic这类老协议。它们设计于上世纪七八十年代,核心目标是“通”,而不是“安”。就像当年修高速公路只考虑通车效率,根本没设收费站和监控。
\n\n以Modbus TCP为例,它默认不认证、不加密、不防重放。只要能连上网络,谁都能发个读写指令过去。好比你家大门钥匙挂在门口,纸条上写着‘请进,冰箱里有饮料’。
\n\n<!-- 一段典型的Modbus TCP请求(Wireshark抓包示意) -->\nTransaction ID: 0x0001\nProtocol ID: 0x0000\nLength: 6\nUnit ID: 1\nFunction Code: 0x03 (Read Holding Registers)\nStarting Address: 0x006B\nQuantity: 1\n\n这段数据在网络上明文传输,中间人不仅能看,还能改。比如把“读取压力值”变成“写入最大压力”,后果可想而知。
\n\nOT与IT融合,攻击面成倍放大
\n\n以前工厂控制系统(OT)是孤岛,现在为了远程监控、数据分析,纷纷接入企业内网甚至云平台。网络打通了,IT部门常用的远程桌面、文件共享协议也顺带进了车间。
\n\n某次现场排查发现,一台工程师站同时装着西门子Step7和TeamViewer,而且密码还是123456。攻击者一旦拿下这台机器,就能顺着S7协议直接操控整个产线。这就像把家里的智能门锁和小区公共WiFi接在一起,还用了弱密码。
\n\n现实中的“小疏忽”,可能引发大停产
\n\n有家企业为了方便调试,临时开放了BACnet协议的UDP端口397。本来说好三天后关闭,结果半年没人管。后来被自动化扫描工具发现,攻击者用公开的exploit脚本批量控制了暖通系统,把机房温度拉到40度以上,服务器接连过热宕机。
\n\n更常见的是设备出厂默认配置没改。比如某些工业交换机默认开启SNMP v1,团体名(community string)是public。这种信息在GitHub上一搜一大把,配合简单脚本就能批量获取设备拓扑和状态。
\n\n不是不能防,关键要动真格
\n\n换掉老协议不现实,但可以加“防护层”。比如在PLC前部署工业防火墙,规则要具体到“只允许IP 192.168.1.10在8:00-20:00发送Function Code 0x06的写请求”,其他一律拦截。
\n\n有条件的企业可以推TLS加密的OPC UA替代老旧的OPC DA。虽然配置复杂点,但至少通信是加密的,身份也能双向认证。就像从寄明信片升级成挂号信,还得双方核对身份证。
\n\n最怕的是“表面合规”。有些单位做了等保测评,报告一摞,但现场依旧是无线路由器直连PLC,工程师用个人手机热点传程序。安全不是贴瓷砖,贴完就完事。得有人定期查日志、改密码、关端口,把这些协议从“裸奔”状态拉回来。”,"seo_title":"工业通信协议安全问题解析 - 知用网网络安全专栏","seo_description":"深入剖析Modbus、OPC等工业通信协议的安全隐患,结合真实案例讲解OT网络中的常见漏洞与实用防护措施。","keywords":"工业通信协议,网络安全,Modbus安全,OPC UA,PLC安全,工控安全,OT安全"}