威脅建模系統(tǒng)教程-簡(jiǎn)介和工具(一)

? ??背景

????很多人對(duì)威脅建模這項(xiàng)活動(dòng)抱有陌生感庇麦,什么是威脅吻谋?什么是建模逝变?和安全威脅情報(bào)是不是有關(guān)巡社?和架構(gòu)安全分析(Architecture Risk Analysis)什么關(guān)系膛堤? 能否用Kill Chain替代?

????威脅建模是一種基本的安全實(shí)踐晌该。定義是通過(guò)識(shí)別系統(tǒng)和潛在威脅來(lái)優(yōu)化提升安全性肥荔,設(shè)置對(duì)策防止和減輕系統(tǒng)威脅的影響。軟件的開(kāi)發(fā)過(guò)程:面臨的內(nèi)外部場(chǎng)景不斷在變化朝群,應(yīng)用程序被修改燕耿、升級(jí)、用戶需求也在變化姜胖,需要為每個(gè)應(yīng)用程序識(shí)別潛在威脅誉帅、對(duì)應(yīng)的優(yōu)先級(jí)、記錄風(fēng)險(xiǎn)并采取措施。

? ? 有必要為讀者梳理一次“架構(gòu)設(shè)計(jì)安全分析辦法”更容易從頂層設(shè)計(jì)理解這一步所做的工作蚜锨。架構(gòu)安全分析重點(diǎn)關(guān)注三個(gè)階段:安全控制档插、系統(tǒng)設(shè)計(jì)、軟件開(kāi)發(fā)過(guò)程亚再,威脅建模是第二階段其中一部分工作郭膛。我們實(shí)施安全防御利用信息不對(duì)稱(chēng)的其中一個(gè)門(mén)檻就是安全控制,包括身份認(rèn)證氛悬、授權(quán)则剃、加密原等則,這也是在滲透測(cè)試和安全審計(jì)重點(diǎn)關(guān)注的點(diǎn)如捅;在系統(tǒng)設(shè)計(jì)分析時(shí)棍现,先規(guī)劃掌握架構(gòu)圖、DFD數(shù)據(jù)圖(可以從GDPR借用)

伪朽,細(xì)化組件轴咱、中間件、邏輯烈涮。然后執(zhí)行三個(gè)小階段:1朴肺、已知攻擊分析。微軟的STRIDE(STRIDE是欺騙坚洽,篡改戈稿,否認(rèn),信息泄露讶舰,拒絕服務(wù)和特權(quán)提升的首字母縮寫(xiě))方法論是其中一個(gè)有用的工具鞍盗。設(shè)計(jì)層面根據(jù)這個(gè)STRIDE原則、了解曾經(jīng)面臨過(guò)哪些威脅(我強(qiáng)烈建議培訓(xùn)階段應(yīng)業(yè)務(wù)解釋公司曾經(jīng)面臨過(guò)哪些攻擊然后描述抽取出風(fēng)險(xiǎn)來(lái)總結(jié)威脅)跳昼。制定適合自己的威脅列表般甲,然后計(jì)算并考慮如何評(píng)估(DREAD)修復(fù)和設(shè)計(jì)來(lái)降低、轉(zhuǎn)移鹅颊、接受風(fēng)險(xiǎn)敷存。2、識(shí)別特定攻擊堪伍,上一步偏通用原則锚烦,每個(gè)存在的系統(tǒng)各自不同。3帝雇、對(duì)軟件底層依賴(lài)涮俄、供應(yīng)層面進(jìn)行分析。發(fā)現(xiàn)軟件威脅的最好階段是上述三個(gè)階段尸闸,實(shí)施以上的工作彻亲,投入的安全修復(fù)成本將降低數(shù)倍孕锄。

????威脅模型可以通過(guò)任何方式展示、文檔苞尝、列表硫惕、圖表,但是至少需要包括軟件組件野来、信任邊界、安全控制措施踪旷、數(shù)據(jù)的描述以及對(duì)應(yīng)風(fēng)險(xiǎn)的優(yōu)先級(jí)曼氛;未發(fā)生的威脅的可能性排序;對(duì)存在的風(fēng)險(xiǎn)令野、可能的攻擊的策略措施的回顧舀患;減少威脅的補(bǔ)救措施。

????我們必須意識(shí)到SDLC并不是銀彈气破,根本沒(méi)有什么是最佳實(shí)踐聊浅。威脅建模這件事難以推行是有客觀困難的。軟件開(kāi)發(fā)從瀑布流模式到公司推廣開(kāi)展的敏捷實(shí)踐中现使,需要作出以下改變:從關(guān)注各階段文檔到快速關(guān)注缺陷和溝通反應(yīng)低匙;從建模階段作為總系統(tǒng)的重點(diǎn)投入方向到把安全特性盡量納入小的迭代周期,接納威脅驅(qū)動(dòng)設(shè)計(jì)碳锈;從一些重型的工具(STRIDE)到支持定期處理迭代產(chǎn)生的威脅顽冶;從依賴(lài)有條不紊的測(cè)試計(jì)劃發(fā)布到實(shí)現(xiàn)極致的工具自動(dòng)化;從基于經(jīng)驗(yàn)歸檔威脅庫(kù)到支持機(jī)器學(xué)習(xí)售碳、物聯(lián)網(wǎng)强重、云時(shí)代的新威脅。

????工具

????這項(xiàng)安全能力學(xué)習(xí)的梯度陡增贸人,從業(yè)者需要具備專(zhuān)業(yè)安全间景、開(kāi)發(fā)、系統(tǒng)知識(shí)而且輔助的自動(dòng)化程序很少艺智。而系統(tǒng)創(chuàng)建完整的安全威脅模型需要深入了解倘要。準(zhǔn)確的模型也需要依靠清楚業(yè)務(wù)過(guò)去面臨的攻擊案例和攻擊模式(MITRE ATT&CK)。

????開(kāi)源力惯、商業(yè)工具可以輔助我們快速碗誉、美觀、系統(tǒng)地構(gòu)建威脅模型父晶、輸出威脅文檔哮缺。我們總不能在白板上“開(kāi)局一張圖,其他全靠說(shuō)”甲喝〕⑽《威脅建模:設(shè)計(jì)和交付更安全的軟件》書(shū)里提到的工具大都已經(jīng)過(guò)時(shí),但是從側(cè)面可以讓我們了解到不要言威脅建模就必稱(chēng)STRIDE,要作為專(zhuān)家借著深厚的安全領(lǐng)域功底,運(yùn)用威脅建模思想作為工具進(jìn)行實(shí)踐糠溜〈就妫“盲人摸象不如走馬觀花,走馬看花不如駐馬看花非竿,駐馬看花不如下馬看花”蜕着,下一番苦功夫深入一線、貼近業(yè)務(wù)红柱、豐富經(jīng)驗(yàn)承匣、充實(shí)積累,創(chuàng)建有價(jià)值的建模知識(shí)锤悄。本系列將以一些案例和工具說(shuō)明韧骗,通過(guò)大量文章帶領(lǐng)大家共同探討這種由經(jīng)驗(yàn)豐富的專(zhuān)家驅(qū)動(dòng)的分析技術(shù)能否應(yīng)用于工具自動(dòng)化?

  1. trike?

    octotrike是一種不同STRIDE的方法論零聚, http://www.octotrike.org/tools.shtml 是單獨(dú)的excel文件袍暴,可以輔助提高威脅建模的效率和有效性。trike是一個(gè)統(tǒng)一的安全審計(jì)概念框架,從風(fēng)險(xiǎn)管理和資產(chǎn)為中心的角度用工具將威脅模型以相對(duì)可靠隶症,可重復(fù)的方式實(shí)現(xiàn)政模,可以描述系統(tǒng)從其高級(jí)架構(gòu)到其實(shí)現(xiàn)細(xì)節(jié)的安全特性。包含了一定的自動(dòng)化攻擊推導(dǎo)功能蚂会。不推薦使用览徒。

  2. seasponge是mozilla出品,https://github.com/mozilla/seasponge颂龙,使用nodejs編寫(xiě)习蓬,可以拖拽,支持項(xiàng)目文件管理措嵌,缺點(diǎn)是沒(méi)有實(shí)現(xiàn)威脅列表的自動(dòng)生成躲叼,雖近年來(lái)無(wú)人維護(hù),使用起來(lái)還是比較推薦的企巢。

  3. seamonster https://sourceforge.net/projects/seamonster/一款基于攻擊樹(shù)和濫用案例(abuse-cases枫慷,用戶濫用或利用軟件功能中的弱點(diǎn)來(lái)攻擊應(yīng)用程序)模型的攻擊,用來(lái)補(bǔ)充思考勉強(qiáng)可用浪规,思路有些落后或听。

  4. owasp-threat-dragon?http://docs.threatdragon.org/?是個(gè)新工具,用Electron實(shí)現(xiàn)了客戶端笋婿,作為owasp孵化項(xiàng)目雄心勃勃誉裆。強(qiáng)烈推薦。


  5. pta工具 http://www.ptatechnologies.com/ 是由adam shostack參與咨詢(xún)的一個(gè)商業(yè)工具缸濒,對(duì)于各個(gè)細(xì)節(jié)足丢、條目做得很完善粱腻。推薦。

  6. 微軟的官方威脅建模工具斩跌。https://docs.microsoft.com/zh-cn/azure/security/azure-security-threat-modeling-tool 绍些,可以訪問(wèn)https://github.com/AzureArchitecture/threat-model-templates下載最新的包含IOT信息的模板,該工具可以自動(dòng)生成識(shí)別威脅報(bào)告耀鸦,具備威脅庫(kù)模板柬批,強(qiáng)烈推薦使用。

  7. https://github.com/izar/pytm? 一個(gè)python庫(kù)袖订,可以用編程當(dāng)時(shí)實(shí)現(xiàn)構(gòu)建數(shù)據(jù)流圖萝快、輸出威脅列表。

  8. https://github.com/stevespringett/threatmodel-sdk 一個(gè)javasdk著角,作用同上。

????下一系列旋恼,本文將以TMT等工具為例吏口,分別介紹基于攻擊樹(shù)和STRIDE的方法實(shí)施以攻擊者和資產(chǎn)為中心的針對(duì)應(yīng)用程序的建模活動(dòng)冰更。大概分為六步:組織推廣产徊、識(shí)別資產(chǎn)、概述有價(jià)值資產(chǎn)的體系結(jié)構(gòu)蜀细、分析應(yīng)用程序內(nèi)的流程舟铜、子流程,創(chuàng)建數(shù)據(jù)流圖奠衔、以列表的方式描述識(shí)別威脅以進(jìn)一步處理谆刨、對(duì)威脅進(jìn)行分類(lèi),復(fù)用該方法归斤、評(píng)估威脅的嚴(yán)重性并采取措施痊夭。

????有朋友反饋說(shuō)涉及安全系列的內(nèi)容每次單詞都看得懂,但是組合在一起的概念看不明白脏里∷遥考慮到我們寫(xiě)文章是為了全面提升組織能力,鞏固心得迫横,接下來(lái)我將盡力寫(xiě)得通俗易懂些番舆。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市矾踱,隨后出現(xiàn)的幾起案子恨狈,更是在濱河造成了極大的恐慌,老刑警劉巖呛讲,帶你破解...
    沈念sama閱讀 218,451評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拴事,死亡現(xiàn)場(chǎng)離奇詭異沃斤,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)刃宵,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,172評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén)衡瓶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人牲证,你說(shuō)我怎么就攤上這事哮针。” “怎么了坦袍?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,782評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵十厢,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我捂齐,道長(zhǎng)蛮放,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,709評(píng)論 1 294
  • 正文 為了忘掉前任奠宜,我火速辦了婚禮包颁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘压真。我一直安慰自己娩嚼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,733評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布滴肿。 她就那樣靜靜地躺著岳悟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪泼差。 梳的紋絲不亂的頭發(fā)上贵少,一...
    開(kāi)封第一講書(shū)人閱讀 51,578評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音堆缘,去河邊找鬼春瞬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛套啤,可吹牛的內(nèi)容都是我干的宽气。 我是一名探鬼主播,決...
    沈念sama閱讀 40,320評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼潜沦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼萄涯!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起唆鸡,我...
    開(kāi)封第一講書(shū)人閱讀 39,241評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤涝影,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后争占,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體燃逻,經(jīng)...
    沈念sama閱讀 45,686評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡序目,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,878評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了伯襟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片猿涨。...
    茶點(diǎn)故事閱讀 39,992評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖姆怪,靈堂內(nèi)的尸體忽然破棺而出叛赚,到底是詐尸還是另有隱情,我是刑警寧澤稽揭,帶...
    沈念sama閱讀 35,715評(píng)論 5 346
  • 正文 年R本政府宣布俺附,位于F島的核電站,受9級(jí)特大地震影響溪掀,放射性物質(zhì)發(fā)生泄漏事镣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,336評(píng)論 3 330
  • 文/蒙蒙 一揪胃、第九天 我趴在偏房一處隱蔽的房頂上張望璃哟。 院中可真熱鬧,春花似錦只嚣、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,912評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至障般,卻和暖如春调鲸,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背挽荡。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,040評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工藐石, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人定拟。 一個(gè)月前我還...
    沈念sama閱讀 48,173評(píng)論 3 370
  • 正文 我出身青樓于微,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親青自。 傳聞我的和親對(duì)象是個(gè)殘疾皇子株依,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,947評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容