威胁建模系统教程-简介和工具(一)

    背景

    很多人对威胁建模这项活动抱有陌生感,什么是威胁?什么是建模?和安全威胁情报是不是有关?和架构安全分析(Architecture Risk Analysis)什么关系? 能否用Kill Chain替代?

    威胁建模是一种基本的安全实践。定义是通过识别系统和潜在威胁来优化提升安全性,设置对策防止和减轻系统威胁的影响。软件的开发过程:面临的内外部场景不断在变化,应用程序被修改、升级、用户需求也在变化,需要为每个应用程序识别潜在威胁、对应的优先级、记录风险并采取措施。

    有必要为读者梳理一次“架构设计安全分析办法”更容易从顶层设计理解这一步所做的工作。架构安全分析重点关注三个阶段:安全控制、系统设计、软件开发过程,威胁建模是第二阶段其中一部分工作。我们实施安全防御利用信息不对称的其中一个门槛就是安全控制,包括身份认证、授权、加密原等则,这也是在渗透测试和安全审计重点关注的点;在系统设计分析时,先规划掌握架构图、DFD数据图(可以从GDPR借用)

,细化组件、中间件、逻辑。然后执行三个小阶段:1、已知攻击分析。微软的STRIDE(STRIDE是欺骗,篡改,否认,信息泄露,拒绝服务和特权提升的首字母缩写)方法论是其中一个有用的工具。设计层面根据这个STRIDE原则、了解曾经面临过哪些威胁(我强烈建议培训阶段应业务解释公司曾经面临过哪些攻击然后描述抽取出风险来总结威胁)。制定适合自己的威胁列表,然后计算并考虑如何评估(DREAD)修复和设计来降低、转移、接受风险。2、识别特定攻击,上一步偏通用原则,每个存在的系统各自不同。3、对软件底层依赖、供应层面进行分析。发现软件威胁的最好阶段是上述三个阶段,实施以上的工作,投入的安全修复成本将降低数倍。

    威胁模型可以通过任何方式展示、文档、列表、图表,但是至少需要包括软件组件、信任边界、安全控制措施、数据的描述以及对应风险的优先级;未发生的威胁的可能性排序;对存在的风险、可能的攻击的策略措施的回顾;减少威胁的补救措施。

    我们必须意识到SDLC并不是银弹,根本没有什么是最佳实践。威胁建模这件事难以推行是有客观困难的。软件开发从瀑布流模式到公司推广开展的敏捷实践中,需要作出以下改变:从关注各阶段文档到快速关注缺陷和沟通反应;从建模阶段作为总系统的重点投入方向到把安全特性尽量纳入小的迭代周期,接纳威胁驱动设计;从一些重型的工具(STRIDE)到支持定期处理迭代产生的威胁;从依赖有条不紊的测试计划发布到实现极致的工具自动化;从基于经验归档威胁库到支持机器学习、物联网、云时代的新威胁。

    工具

    这项安全能力学习的梯度陡增,从业者需要具备专业安全、开发、系统知识而且辅助的自动化程序很少。而系统创建完整的安全威胁模型需要深入了解。准确的模型也需要依靠清楚业务过去面临的攻击案例和攻击模式(MITRE ATT&CK)。

    开源、商业工具可以辅助我们快速、美观、系统地构建威胁模型、输出威胁文档。我们总不能在白板上“开局一张图,其他全靠说”。《威胁建模:设计和交付更安全的软件》书里提到的工具大都已经过时,但是从侧面可以让我们了解到不要言威胁建模就必称STRIDE,要作为专家借着深厚的安全领域功底,运用威胁建模思想作为工具进行实践。“盲人摸象不如走马观花,走马看花不如驻马看花,驻马看花不如下马看花”,下一番苦功夫深入一线、贴近业务、丰富经验、充实积累,创建有价值的建模知识。本系列将以一些案例和工具说明,通过大量文章带领大家共同探讨这种由经验丰富的专家驱动的分析技术能否应用于工具自动化?

  1. trike 

    octotrike是一种不同STRIDE的方法论, http://www.octotrike.org/tools.shtml 是单独的excel文件,可以辅助提高威胁建模的效率和有效性。trike是一个统一的安全审计概念框架,从风险管理和资产为中心的角度用工具将威胁模型以相对可靠,可重复的方式实现,可以描述系统从其高级架构到其实现细节的安全特性。包含了一定的自动化攻击推导功能。不推荐使用。

  2. seasponge是mozilla出品,https://github.com/mozilla/seasponge,使用nodejs编写,可以拖拽,支持项目文件管理,缺点是没有实现威胁列表的自动生成,虽近年来无人维护,使用起来还是比较推荐的。

  3. seamonster https://sourceforge.net/projects/seamonster/一款基于攻击树和滥用案例(abuse-cases,用户滥用或利用软件功能中的弱点来攻击应用程序)模型的攻击,用来补充思考勉强可用,思路有些落后。

  4. owasp-threat-dragon http://docs.threatdragon.org/ 是个新工具,用Electron实现了客户端,作为owasp孵化项目雄心勃勃。强烈推荐。


  5. pta工具 http://www.ptatechnologies.com/ 是由adam shostack参与咨询的一个商业工具,对于各个细节、条目做得很完善。推荐。

  6. 微软的官方威胁建模工具。https://docs.microsoft.com/zh-cn/azure/security/azure-security-threat-modeling-tool ,可以访问https://github.com/AzureArchitecture/threat-model-templates下载最新的包含IOT信息的模板,该工具可以自动生成识别威胁报告,具备威胁库模板,强烈推荐使用。

  7. https://github.com/izar/pytm  一个python库,可以用编程当时实现构建数据流图、输出威胁列表。

  8. https://github.com/stevespringett/threatmodel-sdk 一个javasdk,作用同上。

    下一系列,本文将以TMT等工具为例,分别介绍基于攻击树和STRIDE的方法实施以攻击者和资产为中心的针对应用程序的建模活动。大概分为六步:组织推广、识别资产、概述有价值资产的体系结构、分析应用程序内的流程、子流程,创建数据流图、以列表的方式描述识别威胁以进一步处理、对威胁进行分类,复用该方法、评估威胁的严重性并采取措施。

    有朋友反馈说涉及安全系列的内容每次单词都看得懂,但是组合在一起的概念看不明白。考虑到我们写文章是为了全面提升组织能力,巩固心得,接下来我将尽力写得通俗易懂些。


©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容