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

1.5 小結(jié)

軟件漏洞大都是由常見的軟件瑕疵所引起的,這一事實(shí)早已不是秘密。對(duì)C和C++而言更是如此。這些語言在設(shè)計(jì)時(shí)假設(shè)其用戶具有一定水平的專業(yè)知識(shí),可事實(shí)上并非如此。結(jié)果導(dǎo)致售出的產(chǎn)品中包含大量的瑕疵,其中一些可能導(dǎo)致軟件漏洞。軟件開發(fā)者需要對(duì)用戶發(fā)現(xiàn)的漏洞(其中一些是惡意的)作出反應(yīng),接著就開始發(fā)布補(bǔ)丁和安裝補(bǔ)丁的循環(huán)周期。然而,補(bǔ)丁的數(shù)量實(shí)在太多,導(dǎo)致系統(tǒng)管理員并不能及時(shí)完成打補(bǔ)丁的工作。甚至有時(shí)補(bǔ)丁程序本身也包含安全缺陷。這種針對(duì)安全缺陷的反應(yīng)式策略并不奏效,我們需要一種在早期進(jìn)行預(yù)防和消除安全缺陷的策略。

引起軟件安全問題最主要的原因就是軟件中的瑕疵,有瑕疵的軟件隨處可見。那些廣泛使用的操作系統(tǒng)平均每千行代碼就有一兩個(gè)瑕疵,而它們都是由幾百萬行代碼所組成,因此通常都會(huì)包含數(shù)千個(gè)瑕疵[Davis 2003]。應(yīng)用軟件的規(guī)模雖然沒有操作系統(tǒng)那么龐大,但其每千行代碼包含的瑕疵數(shù)目差不多也是如此。雖然并非每個(gè)瑕疵都有安全問題,但是,就算它們導(dǎo)致安全漏洞的比例只有1%或2%,風(fēng)險(xiǎn)也是相當(dāng)大的。

SANS Institute主管Alan Paller曾沮喪地說過:“在SANS Institute Top 20 Internet Security排行榜中所列出的安全漏洞,都是由于糟糕的代碼編寫、不嚴(yán)格的測試、馬虎的軟件工程實(shí)踐所造成的。這些問題并非如某些外行所想,是什么‘前沿’問題,它們的技術(shù)解決方案都存在,可就是沒有得到很好地實(shí)現(xiàn)”[Kirwan 2004]。

理解漏洞產(chǎn)生的原理和如何進(jìn)行安全編程對(duì)于保護(hù)整個(gè)互聯(lián)網(wǎng)以及我們自身免受攻擊至關(guān)重要。要想減少軟件缺陷的數(shù)量,需要采用一種以健全的設(shè)計(jì)原則和有效的質(zhì)量管理實(shí)踐為基礎(chǔ)的、嚴(yán)肅的工程方法。

主站蜘蛛池模板: 大丰市| 昌乐县| 乳源| 新密市| 兴海县| 象州县| 两当县| 东方市| 房山区| 紫阳县| 汶川县| 化州市| 梨树县| 永昌县| 巧家县| 新密市| 南投市| 天峻县| 滁州市| 阿拉尔市| 东莞市| 云梦县| 武强县| 绵竹市| 临城县| 成武县| 安顺市| 涞源县| 靖宇县| 漳平市| 临潭县| 涿鹿县| 赤水市| 曲周县| 临安市| 烟台市| 东方市| 武平县| 河北省| 宜君县| 英超|