|
我們必須把應(yīng)用程序的安全性整合到軟件開發(fā)的過(guò)程中。之后在測(cè)試中才關(guān)注安全性是不夠的,因?yàn)閷?duì)于修改錯(cuò)誤來(lái)說(shuō),那太遲了,而且非常昂貴。微軟的Steve Lipner在上周舉行的RSA大會(huì)2011上發(fā)表了關(guān)于應(yīng)用程序安全性的演講,其中談到在軟件開發(fā)生命周期中的安全性。他向大家介紹了微軟創(chuàng)建的安全性開發(fā)生命周期過(guò)程,其中包括以下階段:
- 安全性培訓(xùn)
- 需求分析
- 設(shè)計(jì)
- 實(shí)現(xiàn)
- 驗(yàn)證
- 發(fā)布
- 反饋
另外,SDL框架還有一個(gè)敏捷的版本,它支持把安全性因素整合到敏捷開發(fā)過(guò)程中。敏捷過(guò)程中的安全性需求可以歸為三類:
- 每次Sprint(Every-Sprint):這些是高優(yōu)先級(jí)和重要的安全性需求,我們可以使用像威脅建模之類的技術(shù)來(lái)識(shí)別它們。
- 一次(One-time):這類需求包括架構(gòu)和策略上的需求,像決定編譯器的版本或者設(shè)置缺陷跟蹤數(shù)據(jù)庫(kù)等等。
- 大量(Bucket):這類需求包括長(zhǎng)期運(yùn)行或者可以暫緩的需求。比方說(shuō)文件或者ActiveX fuzzing。
其他演講者也在會(huì)上談到了提高應(yīng)用程序安全性的技術(shù)。Alberto Revelli(Cigital)討論了安全設(shè)計(jì)原則,像黑名單和白名單、內(nèi)存級(jí)別和主機(jī)級(jí)別上的保護(hù)、安全的互操作性、最小權(quán)限原則以及區(qū)域分割(compartmentalization)等等。
Brian Chess和Jacob West(都來(lái)自于Fortify)談到了關(guān)于安全編碼技術(shù)。現(xiàn)在已經(jīng)有多種安全缺陷的分類列表,像OWASP Top 10、七種致命錯(cuò)誤(Seven Pernicious Kingdoms)、常見弱點(diǎn)列表(CWE)、Sans Top 25以及常見易受攻擊點(diǎn)評(píng)分系統(tǒng)(CVSS)等等,各個(gè)組織可以使用它們來(lái)管理應(yīng)用程序中的安全弱點(diǎn)。Jacob對(duì)其中的一些弱點(diǎn)給出了示例,像跨站點(diǎn)腳本攻擊(XSS)、跨站點(diǎn)偽造請(qǐng)求(CSRF)、HTTP響應(yīng)分割、會(huì)話固定攻擊以及SQL注入攻擊等等。Brian推薦了一些安全編碼原則,像默認(rèn)做出良好的驗(yàn)證、在應(yīng)用程序的不同層之間發(fā)布信任邊界、間接選擇以及白名單等等。
Chris Eng(Veracode)說(shuō)明了各種不同的安全測(cè)試方法,像靜態(tài)、動(dòng)態(tài)、手動(dòng)的測(cè)試以及其中的細(xì)節(jié),另外還談到了各種方式的強(qiáng)度和局限性。Reeny Sondhi(EMC公司)也對(duì)她的公司中所使用的缺陷響應(yīng)程序做了概述。
查看英文原文:Security in the Software Development Lifecycle
it知識(shí)庫(kù):軟件開發(fā)生命周期中的安全性,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。