系统架构设计师备考第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. 微服务的"通信复杂性")。
  • 结合案例掌握安全设计模式(如零信任、纵深防御)。
  • 考题多聚焦实际场景应用(如电商支付、工业物联网)。
相关推荐
倔强的石头_4 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
cipher1 天前
ERC-4626 通胀攻击:DeFi 金库的"捐款陷阱"
前端·后端·安全
jiayou641 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤2 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区3 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1773 天前
《从零搭建NestJS项目》
数据库·typescript
郑州光合科技余经理4 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php
一次旅行4 天前
网络安全总结
安全·web安全
加号34 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏4 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker