專家論道:如何利用威脅模式
威脅模式是能夠讓隱藏的安全威脅和機(jī)制變成明顯的威脅和機(jī)制的有效方式,這樣安全人員就可以編寫安全要求以及架構(gòu)和測(cè)試安全工具。作為開始,筆者想使用STRIDE的修正版,它可以清晰的將威脅到機(jī)制繪制處理。這樣的話,當(dāng)開始新項(xiàng)目時(shí)(如SOA Web服務(wù)等),我們就可以確定哪些標(biāo)準(zhǔn)可以幫助項(xiàng)目進(jìn)行。
| 
 威脅  | 
 機(jī)制  | 
 示例標(biāo)準(zhǔn)  | 
| 
 Spoofing  | 
 驗(yàn)證  | 
 WS-Security  | 
| 
 篡改數(shù)據(jù)  | 
 數(shù)字簽名、Hash  | 
 WS-Security + XML Signature  | 
| 
 爭(zhēng)議  | 
 審計(jì)日志  | 
 無  | 
| 
 信息暴露  | 
 加密  | 
 WS-Security + XML Encryption  | 
| 
 拒絕服務(wù)  | 
 可用性服務(wù)  | 
 無  | 
| 
 特權(quán)的提升  | 
 授權(quán)  | 
 無  | 
威脅模式通常都被誤解了,他們并不是關(guān)于建構(gòu)威脅的。作為防御性程序員,我們幾乎不能控制威脅,我們的工作只是超出漏洞并修復(fù)漏洞。漏洞基本上是被動(dòng)的系統(tǒng)缺陷,威脅是利用漏洞的各種操作,那么我們就能夠1)確認(rèn)威脅;2)處理威脅。威脅建模的最終結(jié)果不是威脅列表,而是解決方法的列表。并且不僅僅是通用列表,積極的威脅還能夠幫助我們?cè)诩軜?gòu)中找出對(duì)策。
此外,如果我們對(duì)比構(gòu)建軟件的架構(gòu)/設(shè)計(jì)早期階段的方法,威脅模式其實(shí)是一種對(duì)比/比較的結(jié)構(gòu)化方法。例如,如果我們正在建立一套Web服務(wù)并在SOA風(fēng)格(WS-*)和REST風(fēng)格間進(jìn)行選擇,我們可能會(huì)想看看每種軟件安全棧支持的現(xiàn)行標(biāo)準(zhǔn)。
| 
 威脅  | 
 機(jī)制  | 
 示例SOA標(biāo)準(zhǔn)  | 
 示例REST標(biāo)準(zhǔn)  | 
| 
 Spoofing  | 
 驗(yàn)證  | 
 WS-Security  | 
 XML Signature (僅響應(yīng))  | 
| 
 篡改數(shù)據(jù)  | 
 數(shù)字簽名、Hash  | 
 WS-Security + XML Signature  | 
 XML Signature (僅響應(yīng))  | 
| 
 爭(zhēng)議  | 
 審計(jì)日志  | 
 無  | 
 無  | 
| 
 信息暴露  | 
 加密  | 
 WS-Security + XML Encryption  | 
 XML Encryption (僅響應(yīng))  | 
| 
 拒絕服務(wù)  | 
 可用性服務(wù)  | 
 無  | 
 無  | 
| 
 特權(quán)的提升  | 
 授權(quán)  | 
 無  | 
 無  | 
威脅建模幫助我們將非常抽象的對(duì)象(如分析服務(wù)中的軟件安全功能等)描繪出具體的結(jié)構(gòu),但是如你所見,威脅建模并不是關(guān)于威脅,而是關(guān)于安全架構(gòu)元素。這只是個(gè)示例,并不是完整的威脅模型,但是它能夠提供有效的的方式來查找安全架構(gòu)中的問題。















 
 
 




 
 
 
 