SCADA安全十年攻防:从物理隔离到零信任的血泪教训
我入行那会儿,大概是2014年。当时跑的第一个工厂项目,客户信誓旦旦地告诉我——“我们的SCADA系统绝对安全,因为根本不联网。” 物理隔离,懂吧?PLC、RTU、上位机全跑在专有以太网上,外加几道门禁。那时候的感觉就是,这玩意儿像一座孤岛,外界风浪再大也打不透。可现在呢?没有人再提物理隔离了。IT和OT融合喊了好几年,MES、ERP、云平台都要数据,SCADA被直接或间接地推到了互联网边缘。于是,噩梦开始了。不是我危言耸听,这几年工业圈子私下聊起的勒索事件,至少有一半以上跟SCADA网的安全短板有关。
说真的,有些工厂的网络架构,看一眼就血压飙升——办公网和生产网之间就一台家用路由器,甚至直接拉根网线共享宽带。更离谱的是,工程师站的操作系统还停留在Windows XP,连个补丁都打不了。你以为这是段子?不,现实往往更魔幻。
SCADA系统的脆弱性,是娘胎里带出来的。当年设计MODBUS、DNP3这些工控协议的时候,科学家们满脑子都是“可靠传输”和“实时响应”,至于认证、加密?不存在的。随便一个Modbus TCP包甩过去,下位机就乖乖照办。现在很多PLC的联网模块默认密码还是admin/admin,有的甚至连密码都没有。我们做过一次渗透测试,用Shodan一扫,大把的西门子S7-1200赤裸裸地暴露在公网上。那种冲击感,像发现自家大门没锁,里面还摆着现金。
暴露在公网的可联网PLC与SCADA系统界面截图
更头疼的是补丁管理。IT系统打补丁基本上是自动化的,但SCADA不行。你敢随便重启一台跑了十年的PLC么?停机一小时,可能就是几十万的损失。所以很多漏洞就这么晾着。比如我记得2017年WannaCry变种攻击某车企,涂装车间直接瘫痪了两天。后来复盘,攻击入口居然是车间角落一台连网的工控机,因为没打SMB漏洞补丁。这事儿当时圈子里炸了锅,大家突然发现,原来病毒真的能让机器人“罢工”。
血淋淋的现实:为什么传统的IT安全套不进SCADA?
有时候跟IT安全的朋友聊天,他们一上来就建议上NAC、上EDR,甚至搞全流量威胁检测。我通常只能苦笑。OT环境最核心的诉求是可用性和实时性,机密性反而是老三。曾经有个项目,我们在测试IDS规则时误触发了一个阻断动作,导致某化工厂的反应釜阀门异常关闭,差点酿成事故。自那以后我就明白:在SCADA的世界里,误报比漏报可怕一万倍。
还有一个认知差:IT安全讲究“纵深防御”,可在许多老工厂里,生产网内部根本就是一片平坦。一旦攻击者突破了边界(往往通过一个弱口令的VPN或钓鱼邮件),就能横向移动到核心控制器。这就像一座城堡,城墙高耸,可里面全是联通的木结构,一把火烧一片。很多安全人员压根不知道车间里有哪些资产,IP地址混乱,设备台账靠Excel,出了问题只能抓瞎。
QA问答:直面你最关心的实际问题
QA问答:直面你最关心的实际问题
问:既然老SCADA系统动不了,那企业到底该怎么起步?总不能躺平吧?
答:当然不能躺!但第一步不是砸钱买设备,是先做资产梳理和网络拓扑可视化——听起来很基础对吧?可事实上超过60%的工业企业连自己生产网里到底有哪些节点都说不清楚。我的建议是:用被动式的网络探测工具(别主动扫描,会出事)画出一张真实拓扑图,标记出控制器、HMI、历史数据库的位置,然后立马进行网络分段。哪怕只是用VLAN把PLC与办公网隔开,再在边界摆一台支持工控协议深度解析的防火墙,也能挡住80%的常见攻击。等保2.0对“安全区域边界”的要求大体就是这个思路。另外,把工程师站和操作员站的操作系统尽可能升级,至少打上关键补丁,禁止随意插U盘。别嫌土,这比上任何高大上的方案都实在。
问:我们公司想用OPC UA替换老的OPC Classic,要花多少钱?值不值?
答:OPC UA内置了证书认证和加密,安全性确实甩OPC DA十几条街。但实话实说,全面替换的成本不低——不只是买Server/Client的License,更贵的是改造老旧PLC的通信模块。很多老设备只支持传统协议,就得额外加协议转换网关,比如Modbus转OPC UA。软件侧的配置也折磨人,特别是UA的证书管理,我见过好几个项目卡在证书更新上几个月动弹不得。但如果你有条件(比如新产线建设),我的建议是果断上OPC UA,顺便把网络架构也优化一下,一步到位支持订阅和报警。值不值?从安全延伸到数据标准化的角度,长期值。不过短期预算有限的话,至少先用上OPC UA的Tunnel封装传统流量,加一道壳也比裸奔强。
零信任悄悄进了车间,但远远不够
最近两年“零信任”在OT安全圈火起来了。概念挺好:永不信任,始终验证。用在SCADA里,就是精准控制每一台设备之间的访问权限,哪怕同在一个网段。技术实现上,微隔离、软件定义边界(SDP)算是主流。但我们实操下来发现,阻力往往来自车间主任——“你们搞的这个策略,万一我这台触摸屏连不上PLC,生产停了算谁的?” 所以微隔离策略的粒度得磨得很细,要允许必要的Modbus读写点通过,又不能放行所有。这活儿既需要懂IT安全,又得熟悉工艺流程,复合型人才凤毛麟角。
还有一点很容易被忽视:物理安全。零信任的底层假设是网络不可信,可要是有人直接拔网线插个伪装设备呢?或者趁夜班偷偷把编程电缆连到控制器上?车间里经常发生莫名其妙的事故。曾经有家电子厂,某个PLC的逻辑块被人远程篡改,导致产线良率骤降。查了半天,发现攻击者通过摄像头漏洞潜入内网,然后利用工程笔记本电脑上遗留的TIA Portal软件直连了PLC。这算网络攻击还是物理渗透?边界早已模糊。
工程师用笔记本电脑连接现场PLC进行调试
另一个尴尬的事实:工业防火墙和SIEM的报警噪声太大。一个石化厂一天能产生上百万条安全事件,可真正有威胁的也许不到十条。靠人工分析根本不现实。于是大家开始尝试机器学习异常检测,学习正常的操作基线,把偏离基线的行为拎出来。听起来很美,可经常误把设备启停、工艺切换当成异常。工程师烦了,就关掉告警,然后系统就成了摆设。我有时候觉得,安全产品最大的敌人不是黑客,而是被使用者讨厌。
云来了,SCADA的边界彻底消失
云来了,SCADA的边界彻底消失
现在讲工业互联网,把SCADA数据传到云平台做分析,边缘计算节点预处理。云化带来了弹性,也带来了全新的攻击面。暴露在互联网上的API网关如果被突破,攻击者可以直接下发虚假数据点,诱使操作员做出错误动作。去年有一家供水公司,攻击者篡改了云端SCADA仪表板的压力读数,还好现场有经验丰富的工程师发现实际压力不对,紧急手动关阀,否则管网都得炸。
于是,可信计算又被拎出来了。从硬件可信根出发,确保边缘侧设备启动过程没有被篡改,再结合云端的持续性验证。但普及度很低,因为成本高、实施复杂。中小制造企业根本搞不起,只能依赖云供应商的基础防护。有个朋友开玩笑说,他们厂的“云SCADA”安全,全靠运维小哥每天祈祷。
那么,SCADA安全的明天会不会好起来?我持谨慎乐观。监管越来越严,等保2.0加上关键信息基础设施保护条例,逼着企业必须投钱。攻击者也在进化,勒索即服务(RaaS)都盯上制造业了,勒索金额翻着倍涨。这场攻防战没有终点。
最后啰嗦一句:不管你用多先进的方案,请一定重视人的因素。技术人员安全意识培训、第三方运维管控、账号生命周期管理……这些最“软”的环节,往往才是致命伤。别问我怎么知道的,都是泪。




