3. 数据安全基础概念:CIA三元组与防护体系
各位工程师,今天我们聊聊数据安全的基础。说实话,很多SCADA项目出问题,都是基础没打牢。我个人习惯把安全比作盖房子——地基不牢,后面装再多防盗门也没用。
3.1 机密性、完整性、可用性(CIA三元组)
CIA三元组是安全领域的铁三角。你想想看,任何一个安全事件,基本都能归到这三类里。
3.1.1 机密性(Confidentiality)
机密性说白了就是「不该看的人看不到」。我在项目中遇到过,某电厂的操作员站居然能直接查看PLC的组态密码明文。嗯,这就是典型的机密性缺失。
- 加密传输:SCADA通信必须用TLS/SSL,别再用裸TCP了
- 数据脱敏:日志里不能出现明文密码、密钥
- 权限隔离:工程师站和操作员站的数据要分开
⚠️ 我曾经踩过的坑:某次升级时,为了调试方便,临时关闭了OPC UA的加密认证。结果忘了恢复,运行了三个月才发现。从那以后,我要求所有临时变更必须走变更管理流程。
3.1.2 完整性(Integrity)
完整性就是「数据不能被篡改」。SCADA系统里,一个错误的设定值可能导致整个产线停摆。
- 哈希校验:固件升级前必须校验SHA256
- 数字签名:配置文件、组态文件都要签名
- 冗余校验:通信协议里加CRC32或更高级的校验
// 我常用的固件校验示例
// 升级前先算哈希,再比对
$ sha256sum firmware_v2.1.bin
a3f8b2c1d4e5... firmware_v2.1.bin
$ cat firmware.sig
a3f8b2c1d4e5... # 签名一致才允许升级
3.1.3 可用性(Availability)
可用性就是「系统该干活的时候不能掉链子」。SCADA最怕什么?DDoS攻击把控制网络打瘫了。我记得有个水处理厂,因为交换机被ARP攻击,导致所有PLC失联了40分钟。
- 冗余设计:双网、双电源、双控制器
- 流量整形:限制广播风暴、未知单播
- 故障隔离:一个区域出问题,不影响全局
3.2 身份认证
身份认证就是「证明你是你」。SCADA系统里,我见过最离谱的是所有工程师共用一个admin账号。你想想看,出事了怎么追溯?
3.2.1 认证方式
- 密码认证:至少12位,包含大小写+特殊字符
- 双因素认证:密码+硬件令牌或手机验证码
- 证书认证:适用于PLC、RTU等无人值守设备
💡 我的建议:SCADA系统尽量用LDAP或AD统一认证。别每个设备单独设密码,否则运维人员会偷偷把密码贴屏幕上。
3.3 授权与访问控制
授权就是「你能干什么」。访问控制就是「你能去哪儿」。这两个概念经常被混淆,我简单解释一下。
3.3.1 最小权限原则
每个用户只给完成工作所需的最小权限。我在项目中遇到过,一个实习生居然有修改PLC程序的权限。嗯,这不出事才怪。
| 角色 | 允许操作 | 禁止操作 |
|---|---|---|
| 操作员 | 监视、确认报警 | 修改设定值、下载程序 |
| 工程师 | 组态修改、固件升级 | 删除审计日志 |
| 管理员 | 用户管理、系统配置 | 直接操作现场设备 |
3.3.2 访问控制模型
- DAC(自主访问控制):文件所有者自己决定谁可以访问
- MAC(强制访问控制):系统统一规定,用户不能改
- RBAC(基于角色的访问控制):按角色分配权限,最常用
3.4 审计与日志
审计日志是安全事件的「黑匣子」。没有日志,出了事你连怎么发生的都不知道。我有个习惯:所有SCADA项目,第一件事就是配好日志服务器。
3.4.1 必须记录的日志
- 登录日志:谁、什么时间、从哪登录的
- 操作日志:谁修改了什么参数、什么时间
- 异常日志:通信中断、认证失败、硬件告警
3.4.2 日志管理要点
- 集中存储:别让日志散落在各个设备里
- 防篡改:日志文件要写保护,最好用WORM存储
- 定期备份:至少保留90天,合规要求可能更长
🔑 核心要点:CIA三元组是基础,身份认证是入口,授权控制是边界,审计日志是追溯。这四个环节缺一不可。
3.5 知识体系结构图
下面这张图展示了数据安全基础概念之间的关系。我习惯用这种图来给团队做培训,一目了然。
这张图我经常贴在项目白板上。你看,从CIA三元组出发,到具体的防护措施,最后落到SCADA系统安全。每个环节都环环相扣。
💡 实战建议:做SCADA安全评估时,先对照这张图检查每个环节。缺了哪个,哪个就是风险点。我每次做渗透测试,都是按这个思路来的。
公众号:蓝海资料掘金营,微信deep3321