監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 簽約案例 | 購買價格 | 在線試用 | 手機(jī)APP | 產(chǎn)品資料
X 關(guān)閉

保證軟件的安全的最佳做法

申請免費(fèi)試用、咨詢電話:400-8352-114

來源:泛普軟件 保證軟件的安全不需要完全改變你的軟件開發(fā)生命周期?!禨oftware Security: Building Security In》(軟件安全:內(nèi)建安全)一書的作者Gary McGraw日前接受了SearchAppSecurity.com網(wǎng)站的采訪,談了有關(guān)軟件安全的最佳做法。這些最佳做法能夠很容易地添加到你的軟件開發(fā)生命周期中。

 

問:你是一個建立安全軟件概念的早期宣傳者。你認(rèn)為安全行業(yè)取得了什么進(jìn)步?

 

McGraw:我們已經(jīng)取得了很多進(jìn)步。我對我們這個行業(yè)的發(fā)展軌跡感到很樂觀。最初,我們很難說服任何人相信軟件是計(jì)算機(jī)安全的大問題?,F(xiàn)在,每一個人都相信了。后來,我們很難說服人們相信誰能夠解決這個問題。現(xiàn)在,每一個人都認(rèn)識到只有軟件人員才能解決這個問題。這兩件事情是非常好的趨勢。

 

問:關(guān)于在軟件開發(fā)生命周期中建立安全的事情,這方面有什么進(jìn)展?

 

McGraw:你可以把機(jī)構(gòu)按照其特點(diǎn)分為三個成熟的階段。第一個階段是人們完全不知道這個問題。在這種機(jī)構(gòu)中,只有一個做軟件安全的人。他有3萬美元的預(yù)算,他負(fù)責(zé)管理這個大約有2萬員工的公司的軟件安全。他在設(shè)法保證這個機(jī)構(gòu)的軟件安全。這種類型的公司非常普遍。

 

第二個階段是我稱作“軟件安全消防隊(duì)”的地方。這種機(jī)構(gòu)有大約有20至30人負(fù)責(zé)軟件安全問題。他們的工作就是使用工具軟件測試代碼的性能,并且在人們制作查找軟件瑕疵的軟件時提供幫助。這是一件好事情,但是,這是一種事后的反應(yīng)。就像在一個消防隊(duì)那樣,非常重要的事情是教會你的開發(fā)人員如何自己處理安全問題,而不是等到發(fā)生火災(zāi)的時候跑來跑去地救火。

 

第三個階段是企業(yè)開始在整個開發(fā)機(jī)構(gòu)中采用軟件安全的最佳做法,使用最佳做法調(diào)整軟件開發(fā)生命周期,就像我在書中介紹的那樣。我想,處在這個階段的機(jī)構(gòu)是極少的。但是,很明顯的事情是每一個結(jié)構(gòu)都需要達(dá)到這個水平。

 

問:在你最新出版的《Software Security: Building Security In》一書中,你寫到了軟件安全的最佳做法,叫做“接觸點(diǎn)”。這種最佳做法能不能在沒有較大改變的情況下應(yīng)用到機(jī)構(gòu)的工作方式中?

 

McGraw:我曾努力找出不需要你完全改變你的軟件開發(fā)生命周期的一些做法。軟件開發(fā)過程就像宗教信仰一樣。你最不該做的事就是設(shè)法說服人們相信他們首先要做的事情就是改變信仰,然后他們需要增加更多的材料。這些最佳做法是“接觸點(diǎn)”的原因是它暗示著光明。無論你信奉什么宗教,這些方法都適用。

 

問:你的第一個接觸點(diǎn)是使用工具審查代碼。讓我們談?wù)勥@個工具領(lǐng)域的話題吧。

 

McGraw:目前有兩種應(yīng)用廣泛的基本的軟件安全工具。安全測試工具能夠顯示你出了故障。他們用這些刻板的黑匣子進(jìn)行測試。但是,如果你運(yùn)行了這些測試并且沒有發(fā)現(xiàn)問題,那并不意味著你就是安全的。那僅僅是表示你沒有發(fā)現(xiàn)任何問題。我喜歡把這些工具稱作“錯誤計(jì)量器”。我希望每一個人都使用這些工具,因?yàn)榇蠖鄶?shù)人都不知道他們陷入了巨大的麻煩之中并且不知道他們的軟件需要修復(fù)。如果你把這些錯誤計(jì)量器當(dāng)作安全計(jì)量器(其實(shí)它們并不是),他們就可能得到一種事情已經(jīng)完成的假象。

 

其它類型的工具是做統(tǒng)計(jì)分析的代碼掃描工具,用于檢查你的代碼本身。他們要做的事情是在開發(fā)人員編寫代碼的時候提供幫助,并且匯編一些代碼來發(fā)現(xiàn)和清除普通的軟件安全瑕疵。我的觀點(diǎn)是,如果你沒有使用這種工具,你實(shí)際上就是在玩忽職守。

 

問:哪些其它的接觸點(diǎn)更容易采用?

 

McGraw:另一個容易使用的接觸點(diǎn)不是為開發(fā)人員提供的,而是為軟件設(shè)計(jì)師提供的。這個接觸點(diǎn)包括架構(gòu)風(fēng)險分析。我們需要讓設(shè)計(jì)師知道他們的架構(gòu)決策對軟件的安全有巨大的影響。因此,他們需要從軟件安全的角度考慮問題,使用類似微軟STRIDE模型(一種通用安全框架)那樣的工具或者我們的架構(gòu)風(fēng)險分析接觸點(diǎn),設(shè)法了解在某些攻擊是如何在他們的架構(gòu)中實(shí)施的。

 

他們必須要改變自己的想法。但是,軟件設(shè)計(jì)師的工作方式應(yīng)該允許進(jìn)行架構(gòu)風(fēng)險分析。他們正在制作能夠接受檢查的正確的作品,而且,我的接觸點(diǎn)就是要檢查你將制作的作品。

 

第三個接觸點(diǎn)時突破性測試。目前采用的突破性測試的問題之一是人們把這種測試當(dāng)作是一種錯誤計(jì)量器。這個問題是,突破性測試同人們做這個測試一樣有效。因此,如果你僅使用一種刻板的工具,這種測試就不是很高級的。突破性測試是一種最有效的方法,可以幫助你確認(rèn)你沒有把你放入安全軟件的環(huán)境搞亂。遺憾的是許多人把使用突破性測試當(dāng)成是安全領(lǐng)域中的一種感覺良好的練習(xí)。

 

另一種測試,也就是第四個接觸點(diǎn),是基于風(fēng)險的安全測試。我們說,你已經(jīng)完成了一個風(fēng)險分析。你可以使用這個分析的結(jié)果推動一個有效率的安全測試計(jì)劃。這個測試計(jì)劃不僅要測試你的安全機(jī)制,而且還要根據(jù)軟件架構(gòu)檢查你的系統(tǒng),就像黑客偵察你的漏洞一樣。你需要像黑客一樣行動并且像黑客一樣探索這個軟件。

 

問:這種做法很容易與目前人們的做事方法結(jié)合在一起嗎?

 

McGraw:前三種接觸點(diǎn)時非常容易的。從那以后就復(fù)雜一些,需要做更多的工作。我建議首先從使用工具檢查代碼開始,隨后進(jìn)行架構(gòu)風(fēng)險分析。我認(rèn)為,這是每一個人目前都應(yīng)該做的兩件事情。因此,如果你只能做兩件事的話,就做這兩件事吧。

 

問:另一個更難的接觸點(diǎn)是什么?

 

McGraw:接下來要出現(xiàn)的就是濫用案例開發(fā)。(使用和濫用案例開發(fā)是接觸點(diǎn)5和6)。這意味著知道誰是你的敵人。許多制作軟件的人不知道他們有敵人。濫用案例有助于你提前考慮這些可能性。

 

問:最后一個接觸點(diǎn)是什么?

 

McGraw: 安全操作。這是正常的安全人員都很擅長的事情。這是關(guān)于防火墻、環(huán)境的問題,是關(guān)于用補(bǔ)丁修復(fù)你的系統(tǒng)的問題,是關(guān)于正確設(shè)置入侵檢測系統(tǒng)、了解你的敵人、提高警惕實(shí)施監(jiān)視和循環(huán)反饋等問題。所有這些東西對于軟件的安全都是非常重要的。這個問題就是我們光這樣做還不能完全解決這個問題。

 

問:制定一個成功的安全計(jì)劃靠什么?

 

McGraw:你需要把兩件事情結(jié)合在一起。一個是公司上層的真正的領(lǐng)導(dǎo)。這樣,你就會有執(zhí)行目標(biāo)、明確的方法和預(yù)算。你還需要來自下面的草根的支持,因此你需要讓有激情和準(zhǔn)備好的開發(fā)人員做這個事情。你把這兩方面結(jié)合在一起,你就會制作出一種非常安全的軟件程序。(techtarget)

發(fā)布:2007-04-22 11:05    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
昆明OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費(fèi)獲取試用系統(tǒng)

QQ在線咨詢

泛普昆明OA快博其他應(yīng)用

昆明OA 昆明新聞動態(tài) 昆明OA管理信息化 昆明OA快博 昆明OA軟件行業(yè)資訊 昆明軟件開發(fā)公司 昆明門禁系統(tǒng) 昆明物業(yè)管理軟件 昆明倉庫管理軟件 昆明餐飲管理軟件 昆明網(wǎng)站建設(shè)公司