3. 角色与责任

做工业物联网安全,最怕什么?

最怕出了事,大家互相推。资产所有者说“设备是集成商装的”,集成商说“产品是供应商造的”,供应商说“维护商没打补丁”。一圈下来,漏洞还在那,损失已经造成了。

IEC 62443 最聪明的地方,就是它把责任边界画清楚了。它不跟你讲空话,它告诉你:谁该干什么,谁该对什么负责。今天我们就来拆开揉碎了讲。

核心观点:IEC 62443 不是让一个人干所有事,而是让每个角色守好自己的门。责任划分清楚了,安全才能闭环。

IEC 62443 四大角色责任框架 工业控制系统安全 资产所有者 系统集成商 产品供应商 维护服务商 核心责任 • 安全策略制定 • 风险评估 • 安全需求定义 核心责任 • 系统设计集成 • 安全配置 • 验收测试 核心责任 • 产品安全开发 • 漏洞管理 • 安全文档 核心责任 • 补丁管理 • 持续监控 • 应急响应 关键原则:责任共担,边界清晰 每个角色都有自己的安全域,不能越界,也不能甩锅。 安全是所有人的事,但每个人的事都不一样。

3.1 资产所有者:安全的第一责任人

资产所有者是谁?说白了,就是掏钱建厂、运营产线、最终承担安全后果的那个人或那个组织。在 IEC 62443 里,资产所有者是安全链条的起点,也是终点。

我见过不少工厂,老板觉得安全是 IT 部门的事,或者觉得买了设备就万事大吉。其实不是。资产所有者要干的事,比你想的多得多。

责任领域 具体内容 常见误区
安全策略制定 建立组织级安全方针,明确安全目标 把安全策略写成摆设,没人看也没人执行
风险评估 识别资产、威胁、脆弱性,确定风险等级 只做一次评估,后续再也不更新
安全需求定义 向集成商和供应商提出明确的安全要求 只说“要安全”,不说具体要什么
安全验收 确认交付的系统满足安全需求 只看功能,不看安全配置
持续改进 定期审查安全状态,推动改进 验收完就不管了

我的建议:资产所有者一定要有一份“安全需求清单”。别指望集成商替你操心,他们操心的是项目能不能按时交付。你不出需求,他们就按最低标准做。

3.2 系统集成商:把安全装进系统里

系统集成商是干活的人。他们把各种产品拼到一起,组成一个能用的系统。但问题来了——拼的时候,安全怎么放进去?

我记得有个项目,集成商把 PLC、HMI、工业交换机全连上了,网络拓扑画得漂漂亮亮。结果我一问,所有设备都用默认密码,防火墙规则全开。集成商说:“先通起来再说,安全后面再搞。”嗯,后面再搞,往往就永远不搞了。

系统集成商的核心责任,我总结为三条:

  1. 安全设计:在系统架构阶段就把安全考虑进去,比如网络分段、访问控制、日志审计。
  2. 安全配置:所有设备必须按安全基线配置,禁用不必要的服务,修改默认凭证。
  3. 安全验证:交付前做安全测试,证明系统确实达到了安全需求。

注意:集成商不能替资产所有者做安全决策。比如“这个区域要不要隔离”,必须由资产所有者定。集成商可以提建议,但不能拍板。

3.3 产品供应商:把安全做进产品里

产品供应商是造东西的。PLC、变频器、工业交换机、SCADA 软件,都是供应商造的。IEC 62443 对供应商的要求,核心就一句话:产品本身必须是安全的。

什么叫“产品本身安全”?我举个例子。你买一台 PLC,拿回来就能用,但默认开着 Telnet、密码是 admin/admin、固件有已知漏洞——这叫不安全。供应商应该在出厂前就把这些事处理好。

供应商的责任,我习惯分成两个阶段:

阶段 责任 具体做法
开发阶段 安全开发生命周期 安全需求分析、威胁建模、安全编码、安全测试
交付阶段 安全文档与漏洞管理 提供安全配置指南、已知漏洞清单、补丁机制
售后阶段 漏洞响应与补丁发布 建立 PSIRT(产品安全事件响应团队),定期发布安全公告

关键点:供应商不能把安全责任甩给集成商或用户。产品出厂时就应该有安全基线,用户只需要做“配置”,不需要做“加固”。

3.4 维护服务商:守住安全的最后一道防线

维护服务商是系统交付后,负责日常运维的人。可能是资产所有者自己的团队,也可能是外包的第三方。不管是谁,责任是一样的。

我曾经遇到一个案例:某化工厂的 DCS 系统,供应商早就发布了安全补丁,但维护商一直没打。结果被勒索病毒攻击,产线停了三天。资产所有者气得跳脚,但仔细一看合同,维护商的职责里根本没写“补丁管理”。

维护服务商的核心责任:

  • 补丁管理:跟踪供应商的安全公告,评估补丁影响,及时部署。
  • 安全监控:持续监视系统安全状态,发现异常及时告警。
  • 应急响应:制定安全事件响应计划,发生事件时快速处置。
  • 定期审计:检查安全配置是否被篡改,用户权限是否合规。

我曾经踩过的坑:维护商说“我们负责打补丁”,但合同里没写“打补丁前要测试”。结果有一次补丁打上去,跟某个老版本的驱动冲突,整个系统蓝屏了。从那以后,我要求所有维护合同必须写明“补丁测试流程”。

3.5 责任边界:谁该做什么,谁不该做什么

责任划分清楚了,但边界往往模糊。我给大家一个简单的判断方法:

  • 资产所有者:负责“要什么安全”,不负责“怎么实现安全”。
  • 系统集成商:负责“把安全装进去”,不负责“产品本身的安全”。
  • 产品供应商:负责“产品是安全的”,不负责“系统怎么用”。
  • 维护服务商:负责“安全状态保持”,不负责“重新设计安全”。

举个例子:如果一台 PLC 有漏洞,那是供应商的责任。如果集成商没按安全基线配置,那是集成商的责任。如果资产所有者没要求安全配置,那是资产所有者的责任。如果维护商没打补丁,那是维护商的责任。

重要提醒:责任划分不是用来甩锅的,是用来明确工作内容的。每个角色都把自己的事做好,安全自然就上去了。如果大家都等着别人先动手,那漏洞就会一直开着。

3.6 实战建议:如何落地责任划分

说了这么多理论,来点实际的。我在项目中总结了一套落地方法:

  1. 合同里写清楚:每个角色的安全责任必须在合同或 SLA 中明确列出,不能含糊。
  2. 建立责任矩阵:用 RACI 矩阵(谁负责、谁批准、谁支持、谁知情)把每项安全活动对应到具体角色。
  3. 定期开安全对齐会:资产所有者、集成商、供应商、维护商每季度碰一次头,确认责任执行情况。
  4. 做安全交接:系统从集成商交给维护商时,必须有正式的安全交接文档,包括配置清单、密码表、漏洞记录。

嗯,这些事看起来繁琐,但真出了事,你就知道它们有多重要了。安全不是一个人的事,是所有人的事。但每个人的事,必须清清楚楚。