完整教程:系统架构设计师备考第67天——数据库系统的安全&系统架构的脆弱性

一、数据库系统的安全设计

1. 数据库安全设计的评估标准
  • 国际标准
    • TCSEC(橘皮书):分4类(A/B/C/D)7级,强调机密性与访问控制。
    • ITSEC:欧洲标准,分离功能需求(F)与评估等级(E)。
    • CC标准(ISO/IEC 15408):通用评估框架,覆盖安全能力(TOE)与保障要求(EAL1-7)。
  • 核心评估维度
    • 身份鉴别:强认证机制(如多因子认证)。
    • 访问控制:基于角色(RBAC)或属性(ABAC)的权限模型。
    • 审计追踪:记录敏感操作(如数据修改、权限变更)。
    • 数据加密:传输层(TLS/SSL)与存储层(透明加密/TDE)。
2. 数据库的完整性设计
  • 实体完整性:主键约束(唯一性+非空),防止重复记录。
  • 参照完整性:外键约束,确保关联表数据一致性(如级联删除)。
  • 用户定义完整性
    • 域约束:数据类型、范围(如年龄>0)。
    • 业务规则:触发器(Trigger)实现复杂逻辑(如库存不足时禁止订单)。
  • 典型技术
    • 校验和(Checksum):检测材料篡改。
    • 事务机制(ACID):原子性保障操作完整性。

考点提示:数据库完整性 vs. 安全性

  • 完整性:防材料错误(业务逻辑);安全性:防未授权访问(攻击防护)。

二、架构架构的脆弱性分析

1. 脆弱性根源与分类
  • 来源
    • 设计瑕疵(如协议缺陷)。
    • 实现弱点(如缓冲区溢出)。
    • 配置错误(默认密码未修改)。
  • 软件脆弱性类型
    软件脆弱性
    设计脆弱性
    结构脆弱性
    架构模式缺陷
    组件交互漏洞
2. 典型软件架构的脆弱性分析
架构风格脆弱性表现应对措施
分层架构层间通信瓶颈;底层错误扩散至全环境(如空指针)冗余设计;异步消息队列
C/S架构客户端信息泄露;二层结构暴露数据库凭证三层结构;HTTPS加密传输
B/S架构HTTP协议易受中间人攻击;会话劫持启用HSTS;会话令牌绑定IP
事件驱动架构死循环风险;高并发导致数据丢失限流机制;事务补偿
MVC架构视图频繁调用模型降低性能;控制器未验证输入(SQL注入)输入过滤;缓存优化
微服务架构分布式事务管理复杂;服务通信链路过长(延迟累积)服务网格(如Istio);熔断机制

高频考点

  • 分层架构的“层间通信脆弱性”常考性能与安全性权衡。
  • 微服务架构的“分布式复杂性”是案例分析重点。

三、安全架构设计案例分析

案例1:电子商务系统安全性设计
  • 威胁应对
    • 支付安全:PCI-DSS合规(加密卡号+独立支付区)。
    • DDoS防护:CDN分流+Web应用防火墙(WAF)。
    • 数据泄露:敏感信息脱敏(如手机号部分隐藏)。
  • 架构策略
    • 纵深防御:网络层(防火墙)→ 应用层(输入验证)→ 资料层(加密)。
    • 零信任模型:动态验证每次请求身份。
案例2:基于混合云的工业安全架构
  • 挑战:本地设备与云平台协同时的攻击面扩大。
  • 解决方案
    • 边缘计算:敏感数据本地处理(减少传输风险)。
    • 安全切片:5G uRLLC切片隔离关键控制流量。
    • 统一审计:集中日志分析(SIEM系统)覆盖混合环境。
  • 技术整合
    • SDN网络:动态策略下发隔离威胁。
    • 机密计算:TEE(可信执行环境)保护运行时数据。

四、考题示例(高频考点)

  1. 选择题

    在MVC架构中,哪一层的脆弱性可能导致SQL注入攻击?
    A. 模型层
    B. 视图层
    C. 控制器层
    答案:C(未验证用户输入)

  2. 案例分析题

    某微服务系统在高并发场景下出现数据不一致,请从架构脆弱性角度分析原因并提出改进方案。
    答题要点

    • 原因:服务间异步通信丢失消息;无分布式事务协调。
    • 方案:引入Saga模式;消息队列持久化+重试机制。

学习建议

  • 重点理解不同架构的脆弱性特征(如分层架构的“错误扩散” vs. 微服务的“通信复杂性”)。
  • 结合案例掌握安全设计模式(如零信任、纵深防御)。
  • 考题多聚焦实际场景应用(如电商支付、工业物联网)。
posted @ 2025-12-04 21:30  gccbuaa  阅读(0)  评论(0)    收藏  举报