威胁建模(Threat modeling)

“从概念上讲,大多数人在日常生活中都采用了某种形式的威胁建模,甚至没有意识到这一点。” (维基百科)勒索软件攻击的发生并不是因为该公司没有进行威胁建模。相反,公司必须改进威胁建模过程。
此外,由於相关公司已经完成了调查,这意味着威胁建模已经到位并且正在进行中。勒索软件攻击已被识别、分析和确认。现在是评估消除问题的特定解决方案或减轻风险的对策的时候了。因此,无需提出将威胁建模作为主动性或解决方案的建议。
在这个问题中,攻击者无需用户交互即可在网络中四处移动。结果,技术安全控制比诸如意识培训的行政管理更有效。

细粒度与粗粒度访问控制(Fine-Grained vs. Coarse-Grained Access Control)
访问控制可能不是防止勒索软件攻击再次发生的最终解决方案。但是,它是四个选项中最好的。
. 自主访问控制 (DAC) 是一种粗粒度的访问控制机制,而基於风险的访问控制(基於标准或基於分数)是一种细粒度的访问控制,通常依赖於基於属性的访问控制 (ABAC)。
. 基於风险的访问控制是“零信任”的核心要素,可以有效缓解横向移动和数据泄露。
https://ithelp.ithome.com.tw/upload/images/20210531/20132160dp7fzh7u1H.jpg
-细粒度、动态和可见性

勒索软件(Ransomware)
勒索软件可以像需要用户交互的病毒(特洛伊木马)一样被动运行,也可以像蠕虫一样主动传播,无需用户交互即可感染其他计算机(WannaCry)。
勒索软件是一种来自密码病毒学的恶意软件,除非支付了赎金,否则就威胁要发布受害者的数据或永久阻止对其的访问。”
勒索软件攻击通常是使用伪装成合法文件的特洛伊木马进行的,当它作为电子邮件附件到达时,用户会被诱骗下载或打开。然而,一个引人注目的例子是 WannaCry 蠕虫,它在没有用户交互的情况下自动在计算机之间传播。
资料来源:维基百科

威胁建模(Threat Modeling)
本节介绍具体的定义和众所周知的威胁建模方法。
. “威胁建模是一种风险评估形式,它对特定逻辑实体的攻击和防御方面进行建模,例如一段数据、一个应用程序、一个主机、一个系统或一个环境。” (NIST SP 800-154,草案)
. 在系统和软件工程中,威胁建模是一种“系统的探索技术,以暴露任何可能以破坏、披露、修改数据或拒绝服务的形式对系统造成损害的情况或事件。” (ISO 24765:2017)
. 威胁建模是捕获、组织和分析影响应用程序安全性的所有信息的过程。( OWASP )
. 威胁建模是“一种工程技术,可用於帮助您识别可能影响您的应用程序的威胁、攻击、漏洞和对策。您可以使用威胁建模来塑造应用程序的设计、满足公司的安全目标并降低风险。” (微软
“威胁模型本质上是影响应用程序安全性的所有信息的结构化表示。从本质上讲,它是通过安全眼镜查看应用程序及其环境的视图。” (OWASP)
从 ISO 3100 的角度来看,威胁建模是系统和软件工程背景下的一种“风险管理”形式。风险管理包括如下图所示的活动:
https://ithelp.ithome.com.tw/upload/images/20210531/201321604igM5F7njW.jpg
-ISO 31000

NIST 以数据为中心的系统威胁建模
本出版物中介绍的以数据为中心的系统威胁建模方法有四个主要步骤:

  1. 识别和表徵感兴趣的系统和数据;
  2. 识别并选择要包含在模型中的攻击向量;
  3. 表徵用於减轻攻击向量的安全控制;和
  4. 分析威胁模型。

微软威胁建模
威胁建模应该是您日常开发生命周期的一部分,使您能够逐步完善您的威胁模型并进一步降低风险。有五个主要的威胁建模步骤:

  1. 定义安全要求。
  2. 创建应用程序图。
  3. 识别威胁。
  4. 减轻威胁。
  5. 验证威胁已得到缓解。
    https://ithelp.ithome.com.tw/upload/images/20210531/20132160dvoMB07zYd.png
    -图片来源:微软

参考
. 勒索软件
. NIST SP 800-154(草稿):数据中心系统威胁建模指南
. 微软威胁建模
. OWASP 威胁建模备忘单
. OWASP 威胁建模
. 粗粒度与细粒度访问控制——第一部分
. 粗粒度和细粒度授权
. 适应风险的访问控制(RAdAC)

资料来源: Wentz Wu QOTD-20210322


<<:  进击的软件工程师之路-软件战斗营 第十四周

>>:  {CMoney战斗营} 的第十四周 # Web API

Day 17:700. Search in a Binary Search Tree

今日题目 题目连结:700. Search in a Binary Search Tree 题目主题...

透过 EventBus 解决 TransactionTooLargeException 问题

最近在 App 里面加上了纪录使用者登山轨迹的功能後,上线的第一个周末 Firebase Crash...

【在 iOS 开发路上的大小事-Day06】透过 Delegate 来传值

前情提要 一般我们在做传值动作的时候,会有好几种方式可以做,像是用 Segue、Closure、De...

13 出牌倒数要怎麽做才好?

整理一下算分数方法 这个方法实在太扯了,他很明显的有分成三个区块, 用 round 拿到该范围的卡 ...

[Tableau Public] day 16:试着分析appstore资料集-1

Ok接续昨天的进度,先新增一张工作表。 名称为「各类型app数量/占比树状图」,我们选择「F1」、「...