官术网_书友最值得收藏!

第2章 威脅

威脅常常比事件本身更加可怖。——索爾·阿林斯基

威脅無處不在。不過,如果妥善管理,我們也可以安然與威脅共存。軟件安全其實(shí)并沒有什么不同之處,只不過我們自己沒有幾百萬年進(jìn)化而來的本能來防御軟件方面的威脅。這也就是為什么我們需要樹立軟件安全的意識,為此我們必須把視角從軟件構(gòu)建者轉(zhuǎn)向攻擊者。理解一個(gè)系統(tǒng)的潛在風(fēng)險(xiǎn)是一切的起點(diǎn),我們應(yīng)該從這一點(diǎn)出發(fā),在軟件設(shè)計(jì)中加入可靠的防御和緩解措施。不過,要想在第一時(shí)間意識到這些風(fēng)險(xiǎn)的存在,我們暫且不要思考那些經(jīng)典的使用案例,也不要按照設(shè)計(jì)功能來使用軟件。我們必須首先看清軟件的本質(zhì):它是由一堆代碼和組件構(gòu)成的,這些代碼和組件承擔(dān)著數(shù)據(jù)處理和存儲的職責(zé)。

我們以曲別針為例,曲別針是一個(gè)設(shè)計(jì)十分巧妙的工具,它可以把一沓紙夾在一起。不過,曲別針本身也可以掰成一根筆直的鐵絲。典型的安全意識就是,我們應(yīng)該意識到犯罪分子可以把曲別針掰成鐵絲,再把這根鐵絲插進(jìn)鑰匙孔里、撥開鎖扣,然后推門而入。

這里需要強(qiáng)調(diào)的是,威脅包含各種可以帶來傷害的方式。刻意發(fā)動(dòng)的對抗性攻擊行為固然是我們探討的重點(diǎn),但是我們也絕對不能忽視因軟件錯(cuò)誤、人為錯(cuò)誤、意外事故和硬件故障等問題導(dǎo)致的威脅。

威脅建模可以為我們提供一個(gè)視角,讓我們可以在整個(gè)軟件開發(fā)過程中做出足以影響全局的安全性決策。后文介紹的處理方法強(qiáng)調(diào)的是概念和原則,而不會把重點(diǎn)放在威脅建模的具體方法上。微軟公司在21世紀(jì)初采用的早期威脅建模行之有效,但是需要對安全人員進(jìn)行大量的培訓(xùn),也需要安全人員付出巨大的努力。好在威脅建模的方式本身就很豐富,一旦理解了基本概念,人們很容易就可以對自己的威脅建模流程加以調(diào)整,從而利用有限的時(shí)間和精力,得到合理的回報(bào)。

我們當(dāng)然很難窮舉大型軟件系統(tǒng)的所有威脅和漏洞。因此,高明的安全工作是逐步提高標(biāo)準(zhǔn),而不是追求盡善盡美。我們可以首先找出一些潛在的風(fēng)險(xiǎn),然后緩解其中的一部分問題。即便如此,那也意味著做出了一定的改進(jìn)。這樣的做法或許就有可能避免出現(xiàn)重大的安全事件,這已經(jīng)是不容小覷的成就了。不過,我們恐怕從來都對那些遭到挫敗的攻擊一無所知,而缺乏反饋機(jī)制往往會讓人倍感失望。可以說,我們展現(xiàn)出來的安全意識越強(qiáng),我們就可以看到越多的威脅。

最后,理解威脅建模可以讓我們把視野從安全性上擴(kuò)展出去,從而重新審視我們的目標(biāo)系統(tǒng)。如果我們通過新的方式對軟件加以檢視,就可以更加深入地發(fā)現(xiàn)改進(jìn)、提升、簡化軟件的機(jī)會,也可以發(fā)現(xiàn)那些與安全性無關(guān)的新特性。

主站蜘蛛池模板: 图片| 武汉市| 昭平县| 横山县| 静安区| 榕江县| 江山市| 安西县| 北安市| 商南县| 延吉市| 石门县| 邯郸县| 寿宁县| 宁明县| 察隅县| 西城区| 离岛区| 隆化县| 奉贤区| 开化县| 东乌珠穆沁旗| 西峡县| 夏邑县| 枣庄市| 上饶县| 巴南区| 宝清县| 双峰县| 雅江县| 连南| 东海县| 个旧市| 大庆市| 宜兰市| 乳山市| 利辛县| 奉化市| 遂宁市| 陆丰市| 四子王旗|