Skip to content

安全合规 = 设计阶段的内置属性 ​

解决什么问题:安全 = 后期补丁 vs 内置属性—— 安全合规不是"加在产品上",而是"设计在产品里"。后期补丁 = 永远追不上攻击者。

业务问题 ​

真实场景 ​

场景 1:等保审计时才发现问题

上线 2 年的系统,等保三级审计:
  - 弱密码策略(部分账号 123456)
  - 无访问日志
  - 无数据加密(数据库明文)
  - 无入侵检测
  - 第三方库含已知漏洞
  - 权限混乱(A 能访问所有数据)
  
后果:
  - 1 个月紧急整改
  - 客户失去信任
  - 可能被处罚

失败模式 ​

失败模式后果
安全 = 后期补丁永远追不上
最小权限原则缺失数据泄露
无威胁建模关键风险未被识别
依赖含漏洞攻击面扩大
无审计日志无法溯源
合规当摆设真出问题无法应对

控制论视角 ​

Ch 6 §6.3:"解耦" + Ch 4 §4.6:"不变量"

安全 = 多层防护
  - 边界(ACL、防火墙)
  - 认证(AuthN)
  - 授权(AuthZ)
  - 审计(Audit)
  - 加密(Encryption)
  - 监控(Detection)

每层都是控制律的"输入端口"
  - 输入验证 = Ch 4 §4.6 不变量
  - 解耦 = 隔离攻击面

核心概念 ​

安全 4 要素 ​

CIA + N:
  C - Confidentiality(机密性)
  I - Integrity(完整性)
  A - Availability(可用性)
  N - Non-repudiation(不可否认)
  
每一项都是独立维度:
  - C:谁能看
  - I:内容是否被篡改
  - A:何时能访问
  - N:能否否认操作

零信任(Zero Trust) ​

原则:
  - 从不信任,始终验证
  - 最小权限
  - 假设已经泄露
  
vs 传统(边界防护):
  - 防火墙内 = 信任
  - 防火墙外 = 不信任
  - 边界被突破 = 全军覆没
  
零信任实现:
  - mTLS(服务间加密)
  - OAuth 2.0 / OIDC(认证)
  - RBAC / ABAC(授权)
  - 服务网格(Istio)

威胁建模 ​

方法:STRIDE
  S - Spoofing(伪装)
  T - Tampering(篡改)
  R - Repudiation(否认)
  I - Information Disclosure(信息泄露)
  D - Denial of Service(拒绝服务)
  E - Elevation of Privilege(权限提升)
  
每个威胁:
  1. 识别(识别资产 + 攻击面)
  2. 评估(可能性 + 影响)
  3. 缓解(控制措施)
  4. 验证(测试 + 演练)

OWASP Top 10(web 应用) ​

1. 注入(SQL/NoSQL/Command)
2. 认证失效
3. 敏感数据暴露
4. XML 外部实体(XXE)
5. 访问控制失效
6. 安全配置错误
7. XSS
8. 不安全反序列化
9. 已知漏洞组件
10. 日志和监控不足

合规框架 ​

GDPR(欧盟隐私)
  - 数据主体权利
  - 同意管理
  - 数据可移植
  - 72h 报告泄露
  
SOC 2(服务组织控制)
  - 安全性
  - 可用性
  - 处理完整性
  - 机密性
  - 隐私
  
ISO 27001(信息安全管理)
  - 风险评估
  - 控制措施
  - 持续改进
  
等保 2.0(中国)
  - 物理安全
  - 网络安全
  - 主机安全
  - 应用安全
  - 数据安全

工程实践 ​

实战 1:认证与授权 ​

认证(Authentication):
  - OAuth 2.0 / OIDC
  - JWT(含短期 + 刷新)
  - 多因素认证(MFA)
  - 单点登录(SSO)
  
授权(Authorization):
  - RBAC(Role-Based)
  - ABAC(Attribute-Based)
  - 最小权限
  - 定期审计

实战 2:数据保护 ​

传输中加密:
  - TLS 1.3
  - mTLS(服务间)
  - HTTPS 强制
  
存储加密:
  - 数据库加密(at rest)
  - 字段级加密(敏感字段)
  - 密钥管理(KMS / Vault)
  
敏感数据处理:
  - 不存明文
  - 不在日志输出
  - 不在错误信息暴露

实战 3:依赖管理 ​

工具:
  - Snyk
  - Dependabot
  - npm audit / pip-audit
  - OWASP Dependency-Check
  
流程:
  1. CI 自动扫描
  2. 高危漏洞 = 阻塞部署
  3. 定期更新
  4. SBOM(依赖清单)

实战 4:日志和审计 ​

必须记录:
  - 认证(登录/登出)
  - 授权决策
  - 数据访问(特别是敏感数据)
  - 配置变更
  - 异常行为
  
不可记录:
  - 密码(任何形式)
  - 信用卡号
  - 完整的 token
  - 密钥
  
保留期:
  - 业务决定(合规要求)
  - 至少 90 天
  - 关键操作:更长

实战 5:DevSecOps ​

原则:
  - 安全 = 全员责任(不只是安全团队)
  - 自动化(CI/CD 中嵌入)
  - 早期(设计阶段就考虑)
  - 持续(监控 + 响应)
  
工具链:
  - SAST(静态分析):SonarQube, Semgrep
  - DAST(动态分析):OWASP ZAP, Burp
  - SCA(依赖扫描):Snyk, Trivy
  - 容器扫描:Trivy, Clair
  - 密钥扫描:git-secrets, TruffleHog

反模式 vs 正模式 ​

反模式正模式
"我们之后加安全"设计阶段就考虑
自己写加密算法用标准库 + KMS
在 URL 里传 token在 Header + HTTPS
日志记录密码不记录敏感数据
长期 JWT(无刷新)短期 + 刷新

性能指标 ​

指标衡量健康值
漏洞修复时间高危漏洞发现到修复< 7 天
依赖新鲜度依赖更新比例> 80%
MFA 覆盖启用 MFA 的账号100%
密钥轮换密钥轮换周期< 90 天
审计日志完整关键操作覆盖100%

边界判断 ​

何时用零信任 ​

  • 多云/混合云
  • 远程办公
  • 第三方协作
  • 高敏感数据

何时可简化 ​

  • 内部工具
  • 单租户
  • 低敏感

何时升级 ​

当前升级到触发条件
边界防护零信任攻击面扩大
无 MFA强制 MFA数据泄露风险
手动漏洞修复自动化漏洞过多

与 L 层对位 ​

与四源对位 ​

主题cyberneticsIDDDEvent-DrivenSE@G
边界防护Ch 6 §6.3 解耦Ch 3 ACLCh 13 集成—
最小权限Ch 6 §6.7 耦合利用Ch 10 聚合——
加密通信Ch 20 信息论—Ch 3 Schema—
审计日志Ch 15 测量Ch 8 事件Ch 14 监控—
威胁建模Ch 4 §4.6 不变量Ch 4 风险驱动—Ch 20 静态分析

关键洞察 ​

  1. 安全 = 内置属性——不是后期补丁。
  2. 零信任是现代默认——边界防护已过时。
  3. 最小权限原则——每个用户/服务只给必要的权限。
  4. 依赖是新攻击面——SBOM 是安全审计基础。
  5. 合规 ≠ 安全——但合规是底线。
  6. DevSecOps 是文化——安全不是安全团队的责任。
  7. 与 cybernetics 同构:Ch 6 §6.3 解耦 = 安全边界;Ch 4 §4.6 不变量 = 输入验证。

阅读路径 ​

新手:
  1. 安全 4 要素 + 零信任(基础)
  2. OWASP Top 10(常见漏洞)
  
深入:
  3. 威胁建模 STRIDE
  4. 合规框架(GDPR / SOC 2)
  
实战:
  5. 认证授权(OAuth / JWT)
  6. DevSecOps 工具链

相关链接 ​

从名家方法论与工程化思路中蒸馏出自己的工程体系。