威胁建模

威胁建模

什么是威胁建模?

威胁建模可以在产品设计阶段、架构评审阶段或者产品运行时开展,强迫我们站在攻击者的角度去评估产品的安全性,分析产品中每个组件是否可能被篡改、仿冒,是否可能会造成信息泄露、拒绝攻击

核心

像攻击者一样思考

为什么要做威胁建模?

1.站在攻击者的角度通过识别威胁,尽可能多的发现产品架构和功能设计中的安全风险

2.制定措施消减威胁,规避风险,确保产品的安全性

威胁建模方法——STRIDE

六类威胁

  • Spooling(仿冒)
  • Tampering(篡改)
  • Repudiation(抵赖)
  • InformationDisclosure(信息泄露)
  • Dos(拒绝服务)
  • Elevation of privilege(权限提升)

四类元素

  • 外部实体

    • 系统控制范围之外的用户、软件系统或者设备。作为一个系统或产品的输入或输出。在数据流图中用矩形表示外部实体。
  • 处理过程

    • 表示一个任务、一个执行过程,一定有数据流入和流出。在数据流图中用圆形表示。
  • 数据存储

    • 存储数据的内部实体,如数据库、消息队列、文件等。用中间带标签的两条平行线表示。
  • 数据流

    • 外部实体与进程、进程与进程或者进程与数据存储之间的交互,表示数据的流转。在数据流图中用箭头表示

威胁评估

  • 简单评价系统:危险=发生概率 X 潜在的损失

制定消减措施

  • 常见的消减措施如下

    • 仿冒

      • 身份验证、认证
    • 篡改

      • 完整性验证、访问控制
    • 抵赖

      • 安全管理’、安全审计、监控
    • 信息泄露

      • 敏感信息保护、数据加密、访问控制
    • 拒绝服务

      • 负载均衡、防DDOS
    • 权限提升

      • 授权、最小化

威胁评估模式——DREAD

  • 潜在损失(Damage Potential)
  • 重现性(Reproducibility)
  • 可利用性(Exploitability)
  • 受影响的用户(Affected users)
  • 可发现性(Discoverability)
发布了8 篇原创文章 · 获赞 7 · 访问量 317

猜你喜欢

转载自blog.csdn.net/fufu_good/article/details/103944240