3. SCADA典型资产与权限对象识别
做SCADA权限审计,第一步不是去翻账号列表,而是先把“有哪些资产、每类资产上存在哪些可被授权的对象”摸清楚。资产清单决定了审计范围,权限对象决定了审计粒度。范围漏了,审计结论就不可信;粒度粗了,只能看到“某人能登录HMI”,却看不到“他能操作哪些画面、哪些点、哪些脚本”。本节围绕六类典型资产和四类权限对象展开,并给出一份可直接使用的资产清单模板。
六类典型资产及其权限特征
SCADA系统的资产不是同质的,不同资产承载的权限语义差别很大,识别时必须分类对待。
- RTU(远程终端单元):通常部署在站控层或远端站点,负责采集现场模拟量、数字量并执行遥控。其权限对象主要是遥测点、遥信点、遥控点、遥调点以及通信参数。RTU往往通过通信网关或前置机被上位访问,本地直接登录配置的场景较少,但一旦存在本地维护口,就是高风险入口。
- PLC(可编程逻辑控制器):承担逻辑联锁与顺序控制,权限对象包括程序块、变量表、强制表、硬件组态和在线下载权限。PLC的“下载程序”权限等价于改变现场控制逻辑,属于最高危权限之一,审计时必须单独标记。
- HMI(人机界面):操作员日常面对的画面系统,权限对象是画面、按钮、输入域、报警确认、趋势调用等。HMI权限最贴近“操作安全”,因为误操作、越权操作都直接体现在这里。
- Historian(历史数据库):存储过程数据与事件记录,权限对象是测点标签、数据查询、数据导出、归档修改。Historian的写入与删除权限必须严格控制,否则历史数据可被篡改,事后追溯失效。
- 工程站:工程师进行组态、下装、调试的工作站,权限对象是工程文件、组态数据库、脚本、下装通道。工程站往往是“权限放大器”,一个工程站账号可能同时影响多台PLC和HMI。
- 通信网关:连接不同协议与网络区域的中间设备,权限对象是通道配置、协议映射表、路由规则、白名单。网关权限被篡改可能导致数据被转发到非授权区域,属于典型的边界风险点。
这六类资产在权限审计中的关注点不同:RTU和PLC关注“控制权”,HMI关注“操作权”,Historian关注“数据权”,工程站关注“组态权”,网关关注“通道权”。识别时不能只登记IP和型号,必须把每类资产上“可被授权的对象”一并记录。
资产清单梳理方法
资产清单不是简单抄设备台账,而是按“可审计、可授权、可定位”三个要求来组织。推荐按以下顺序推进。
第一步,确定采集范围。以SCADA系统边界为准,把直接参与监控、控制、数据存储和网络互联的设备全部纳入。边界外的办公终端、打印机不纳入,但通过VPN或跳板机可进入SCADA网络的终端必须纳入,因为它们可能成为权限跳板。
第二步,按资产类型分组登记。每类资产记录最小必要字段:资产编号、名称、类型、IP地址、所在区域(控制区/非控制区)、厂商型号、固件或软件版本、责任人、是否支持本地维护口、是否接入域控。字段不求多,但必须能支撑后续权限核对。
第三步,逐资产枚举权限对象。这是最容易被跳过的一步。以HMI为例,不能只写“HMI-01”,而要列出它包含哪些画面、哪些画面含操作按钮、哪些按钮关联遥控点。以PLC为例,要列出程序块清单和可强制变量表。枚举结果直接决定后续“账号—权限对象”对照表能否建立。
第四步,标注风险等级。可按“是否可直接影响现场设备”和“是否可修改历史数据”两个维度打分。例如PLC下载权限、RTU遥控权限、Historian归档删除权限、网关路由修改权限,都应标为高。风险等级不是装饰,它决定审计抽样的优先级。
权限对象四类分类
权限对象是“可以被授予或拒绝的最小操作单元”。在SCADA中,通常归为四类,分类的目的是让授权和审计有统一语言。
| 类别 | 典型对象 | 常见操作 | 审计要点 |
|---|---|---|---|
| 画面对象 | 流程图画面、报警画面、趋势画面、按钮、输入域 | 查看、切换、点击、输入 | 操作按钮是否与岗位匹配,是否存在“只读岗位可点击” |
| 点对象 | 遥测点、遥信点、遥控点、遥调点、设定值 | 读取、写入、强制、封锁 | 遥控与设定值写入是否单独授权,强制操作是否留痕 |
| 脚本对象 | 画面动作脚本、计算脚本、报警联动脚本 | 查看、编辑、启用、停用 | 脚本可绕过画面权限直接操作点,必须单独管控 |
| 配置对象 | 通信通道、协议映射、组态文件、下装通道、归档策略 | 查看、修改、下装、删除 | 配置修改是否走变更审批,下装是否有双人确认 |
四类对象中,画面对象最直观,点对象最贴近控制,脚本对象最隐蔽,配置对象影响面最大。审计时建议按“配置→脚本→点→画面”的顺序倒查:先看谁能改配置,再看谁能改脚本,然后看谁能操作点,最后核对画面权限是否与前三者一致。这样容易发现“画面只读但脚本可写点”这类不一致。
可直接使用的资产与权限对象清单模板
下面给出一份简化模板,字段可根据现场调整。示例行中的参数为教学假设,不代表真实系统。
资产编号,资产名称,类型,IP,区域,责任人,权限对象类别,权限对象示例,风险等级
AST-001,1号站RTU,RTU,10.10.1.11,控制区,张工,点对象,YC_101/YX_101/YK_101,高
AST-002,主控PLC,PLC,10.10.1.21,控制区,李工,配置对象,OB1/FB_Valve/强制表,高
AST-003,操作员HMI,HMI,10.10.1.31,控制区,王工,画面对象,画面P-101/按钮YK_101,中
AST-004,历史库服务器,Historian,10.10.2.41,非控制区,赵工,点对象,标签TAG_101/归档删除,高
AST-005,工程师站,工程站,10.10.2.51,非控制区,李工,脚本对象,画面脚本/下装通道,高
AST-006,协议网关,通信网关,10.10.1.5,边界,陈工,配置对象,通道CH1/映射表/路由,高
填写时注意两点:一是“权限对象示例”要写到具体名称,不要只写类别;二是风险等级要能解释,例如“高”是因为该对象可直接影响现场设备或可修改历史记录。清单完成后,下一步才是把账号与这些对象逐一对照,进入权限矩阵的建立与差异分析。