
普華永道冼嘉樂
6月15日上午消息,第十屆中國國際軟件和信息服務(wù)交易會今天在大連世界博覽廣場開幕。本屆軟交會為期四天,主題為“創(chuàng)新驅(qū)動增長,融合深化應(yīng)用——騰‘云’駕‘物’,智能互聯(lián)”。新浪科技作為獨家網(wǎng)絡(luò)戰(zhàn)略合作伙伴視頻直播本次大會。
圖為普華永道冼嘉樂。
謝謝大家!今天我想跟大家討論的一個課題就是安全軟件開發(fā),以下的20分鐘我會給大家介紹安全軟件開發(fā)的效果,還有安全軟件開發(fā)的時間。
安全軟件開發(fā)這個里面其實在十年前主要是微軟(微博)公司提倡的一個理念,大概十年前,微軟的CEO給他所有的員工發(fā)了一個電郵,說我們開發(fā)的很多產(chǎn)品都有安全漏洞,這樣下去是不可行的,未來一定要減少系統(tǒng)軟件的安全漏洞,所以在以后的幾年,他們開發(fā)了一個叫安全軟件開發(fā)的體系和系統(tǒng),在2008年他們發(fā)表了一個分析,分析了關(guān)于應(yīng)用軟件和操作系統(tǒng)的比例,里面說大概6%是從操作系統(tǒng)出來的,94%是應(yīng)用軟件出來,所以在應(yīng)用軟件里面有很多的安全漏洞。
為什么會這樣呢?在一般的軟件開發(fā)流程當(dāng)中有兩個問題發(fā)生一個問題就是安全的人員不懂得應(yīng)用系統(tǒng)程序開發(fā),反過來,應(yīng)用程序員也不懂信息安全的知識,所以兩個不能融合起來,所以導(dǎo)致軟件開發(fā)的成本里面有很多的安全漏洞。
可能大家也聽過在美國有兩個很大的機構(gòu),他們每年會發(fā)布重大的軟件的安全漏洞,現(xiàn)在外面很多黑客都是利用漏洞來攻擊網(wǎng)絡(luò)的應(yīng)用系統(tǒng),通過這個手段可以獲取管理員的用戶帳號和密碼,從而攻克他們的網(wǎng)絡(luò),再入侵后臺的網(wǎng)絡(luò),所以系統(tǒng)里面有很多的安全漏洞,但是SDL可以幫助減少漏洞的數(shù)目,在2008年的時候微軟做了一個分析,通過分析他們以前的產(chǎn)品沒有通過SDL開發(fā)的產(chǎn)品,比如WINDOW XP,當(dāng)時大概有100多個漏洞,但是后來的WINDOW VIST應(yīng)用SDL開發(fā),里面的漏洞只有66個,減少了45%。另外,在第六個版本沒有用SDL方法開發(fā)的時候,第七個版本里面,高風(fēng)險的漏洞減少了63%,中風(fēng)險的漏洞減少了30%多,所以,通過安全軟件開發(fā),SDL可以把應(yīng)用軟件的安全漏洞減少,但是這個SDL也不可以把所有的漏洞都減掉,盡量把漏洞的數(shù)目減少,另外現(xiàn)在移動運用系統(tǒng)非常普遍,我們用移動設(shè)備很多人都非常喜歡用移動的設(shè)備進(jìn)行金融的交易,或者在移動商城買東西,很多企業(yè)、銀行都趕快推出他們的移動應(yīng)用軟件給他們的用戶。因為他們趕快要推出應(yīng)用系統(tǒng)的產(chǎn)品,在那個開發(fā)過程當(dāng)中,沒有仔細(xì)的考慮信息安全的問題,導(dǎo)致現(xiàn)在的移動應(yīng)用軟件有可能有很多的安全漏洞。
現(xiàn)在我想和大家分享一下安全軟件開發(fā)的實踐,里面有七個階段,包括培訓(xùn)、設(shè)計、實施、驗證發(fā)布和會議等七個階段,在安全軟件開發(fā)里面有三個因素:第一,是對照時間,第二流程改進(jìn),第三衡量標(biāo)準(zhǔn)。安全軟件開發(fā)的目標(biāo)是盡量減少與安全相關(guān)的漏洞,與安全有關(guān)的設(shè)計和代碼,軟件受到威脅的可能性和惡意攻擊對軟件的危害性,還有安全軟件開發(fā)的流程可以同時去強調(diào)保護(hù)使用者的隱私權(quán),保護(hù)用戶隱私的信息。在安全軟件開發(fā)里面是建立在3D的基礎(chǔ)上的,包括安全的設(shè)計,安全的默認(rèn),安全的部署和通信,在培訓(xùn)的階段我們要給程序員提供安全培訓(xùn),提倡他們的安全意識,里面的培訓(xùn)內(nèi)容至少要包括安全的設(shè)計、開發(fā)、測試和隱私的保護(hù),另外,在項目執(zhí)行開始的時候要考慮到安全的問題,我們要考慮幾個方面:第一,開發(fā)團(tuán)隊要明確安全和隱私的需求;第二,確定安全顧問來參與開發(fā)項目的工作;第三,安全顧問用審閱產(chǎn)品開發(fā)計劃,提出建議,并可提出額外的安全訴求;第四,使用安全測試系統(tǒng)進(jìn)行軟件的測試;第五定義安全和隱私測試庫,并編寫相關(guān)的文檔。
這方面要定義軟件的安全架構(gòu),編寫相關(guān)的文檔,我們要識別還有根據(jù)不同的產(chǎn)品設(shè)定安全的原則,比如禁止使用不安全的密碼函數(shù),另外,危險的建模,從安全的角度來看系統(tǒng)的分析產(chǎn)品架構(gòu)和特性,并進(jìn)行削減,我們要減少一個威脅,在實施當(dāng)中要做好利用文件和適當(dāng)?shù)墓ぞ邅黹_發(fā)系統(tǒng),還有我們要在開發(fā)階段要好好考慮安全問題,在驗證階段我們要對全程的過程進(jìn)行一個安全的審查,里面包括代碼的審查、滲透的測試和其他安全的測試,還有審查設(shè)計和結(jié)構(gòu),要做不同的信息安全測試來檢查系統(tǒng)軟件。
然后,發(fā)布方面,在發(fā)布的階段,我們要創(chuàng)建一個明確的定義,與公司整體的策略要一致,里面包括提供軟件安全測試的響應(yīng)計劃,還有包括漏洞報告的響應(yīng),確保修復(fù)所有的代碼,以及安全補丁的第三方代碼。
最后響應(yīng)的階段要做四個方面的工作,里面包括在線掃描,在線的監(jiān)控還有漏洞的處理,以及應(yīng)急的響應(yīng),因為我們做了軟件開發(fā)的過程不一定把所有的安全的漏洞都解決,所以,里面還可能有很多不同的漏洞,所以我們也需要有一個漏洞處理的機制來相應(yīng)如果有問題的發(fā)生。
最后我想總結(jié)一下,在確定架構(gòu)進(jìn)行設(shè)計和實施測試部署應(yīng)用軟件的過程當(dāng)中,我們要將安全的時間集成到現(xiàn)有的軟件開發(fā)過程當(dāng)中,我們要像攻擊者一樣的思考,除了考慮應(yīng)用軟件的功能特性,還有考慮應(yīng)用軟件如何才能更好的對抗攻擊,或者遭受攻擊后進(jìn)行恢復(fù)。安全是一個風(fēng)險管理的問題,在每一個軟件的生命周期當(dāng)中,開發(fā)人員和測試人員必須評估和降低最高級的漏洞和風(fēng)險,我想通過今天這么一個很簡單的關(guān)于安全軟件開發(fā)的介紹,希望大家會考慮到安全和安全軟件開發(fā),以后可以生產(chǎn)那些更加安全的應(yīng)用軟件,謝謝大家!
推薦閱讀
云華時代有限公司董事長郭興 6月15日上午消息,第十屆中國國際軟件和信息服務(wù)交易會今天在大連世界博覽廣場開幕。本屆軟交會為期四天,主題為“創(chuàng)新驅(qū)動增長,融合深化應(yīng)用——騰‘云’駕‘物’,智能互聯(lián)”。新浪科>>>詳細(xì)閱讀
本文標(biāo)題:圖文:普華永道冼嘉樂
地址:http://www.sdlzkt.com/a/22/20120615/68699.html