安全專家并非都靠譜 實踐才是硬道理
近期一項調(diào)查顯示,軟件專家能夠?qū)?yīng)用安全的概念有基本了解,但是,他們卻無法修復(fù)由此所引發(fā)的安全問題。
軟件專家自身以及他們所提供的業(yè)務(wù)指導(dǎo)方面都缺乏軟件安全編碼的實踐經(jīng)驗。
像Target、Home Depot以及JP Morgan Chase這樣的公司都將安全漏洞視為頭條新聞,在這種商業(yè)環(huán)境中,安全編碼實踐便成為一個大問題。如果軟件專家們了解如何編寫抗攻擊性代碼,并且高層管理人員能夠?qū)踩幋a排在優(yōu)先的地位,那么,就可能阻止這些安全漏洞和數(shù)據(jù)缺失的發(fā)生。
安全代碼實踐,即用一種無漏洞、防止黑客盜取數(shù)據(jù)的方式來編寫應(yīng)用程序。這并非全新的理念,早在10年前,就有應(yīng)用安全專家提出了安全信息代碼的話題。John Dickson是圣安東尼奧Denim Group應(yīng)用安全咨詢公司的一位主管,他說:“通過改變軟件的構(gòu)建才能真正地解決其安全問題。”
但是,專業(yè)人士卻對其置若罔聞。2014年Denim Group公司的一項調(diào)查報告顯示,軟件專家能夠?qū)?yīng)用安全的概念有基本了解,如SQL注入,但是,他們卻無法修復(fù)由此所引發(fā)的安全問題。2014年Denim Group公司的“應(yīng)用安全研究報告”對600名軟件開發(fā)人員、架構(gòu)師和質(zhì)量保證專家進行了調(diào)查。該報告從應(yīng)用程序安全概念(如威脅建模和輸入驗證)以及對防御性編碼的理解兩方面對各位專家進行測試調(diào)查。
軟件專家未能通過安全測試
Dickson是該報告的主要撰寫人,在近期的一項會談中,他與我分享了Denim Group公司的一些新發(fā)現(xiàn):
Dickson說,大多數(shù)軟件開發(fā)人員對應(yīng)用安全概念都會有一定的了解,但是,他們卻不必了解如何將這些概念融入到實踐中。Dickson 說:“當(dāng)被問及到如何編寫更為安全的代碼時,這些專家都回答不上來。”他說,這些專家們回答應(yīng)用安全性問題時,平均只有56%的問題回答正確,“70%專家不及格。”同樣,很多軟件專業(yè)人士也沒有受過足夠多的應(yīng)用安全培訓(xùn)。其中一個調(diào)研問題是,“你曾經(jīng)接受過多長時間應(yīng)用安全教育?”半數(shù)被調(diào)查者的答案是,一天以上。另外一半的被調(diào)查者的答案是,少于一天,或者是沒有被培訓(xùn)過。
我愿意這樣想,一天的應(yīng)用安全培訓(xùn)至少比沒有培訓(xùn)過的要好得多。但是,調(diào)查結(jié)果的實例表明,事實未必如此。在調(diào)查中,我們對那些自稱接受過應(yīng)用程序安全培訓(xùn)的專業(yè)人士這樣提問:“你的公司實施過SDLC或者其他流程改進措施,從而使所培訓(xùn)的概念在實際運行中變得正規(guī)化嗎?”33%的人的回答是“yes”,而另外三分之二的人的回答是“不了解”或者是“no”。換句話說,盡管有的企業(yè)對軟件工作人員進行了應(yīng)用安全培訓(xùn),但是,有的企業(yè)還是“采用以前的方式方法進行現(xiàn)有工作。”
失敗的高層管理者
假設(shè),以上調(diào)查結(jié)果精確地反映了目前企業(yè)的應(yīng)用安全培訓(xùn)現(xiàn)狀,那么這種狀況有點不妙。為了使軟件專家跟上應(yīng)用安全的發(fā)展速度,企業(yè)花費了大量的時間和金錢。然而,一旦學(xué)員回答日復(fù)一日的工作崗位上,企業(yè)卻從來沒有在加強培訓(xùn)所學(xué)概念上下任何功夫。然而,那些口頭上批準(zhǔn)應(yīng)用安全培訓(xùn)開支的企業(yè)高管們,在實際防止安全事故發(fā)生的工作中,卻沒能保持對安全代碼實踐的支持。對于軟件專家培訓(xùn)的相關(guān)細節(jié)我們沒法說的太細致,但是,可以清楚地知道的是:他們并非要將應(yīng)用安全性列為首要位置。
只要這種情況一直持續(xù)下去,軟件專家們就不可能重視應(yīng)用安全培訓(xùn)。當(dāng)然,也會有較少數(shù)的軟件人士愿意將時間投入到成為一名資深的應(yīng)用程序安全專家上面。但是,大多數(shù)人還是認為安全編程實踐僅是一系列不錯的技能,而對于工作績效來說并沒有什么直接關(guān)系。
當(dāng)專家們真正認識到,通過培訓(xùn)才能獲得某些技能時,才會更多的關(guān)注到培訓(xùn)的重要性,開始做記錄,開始提出問題。當(dāng)需要使用到這些技能時,我們開始需求保證,并研究在何處能學(xué)會這些技能。我們這樣做,是因為,我們工作上的成敗都與這些技能有關(guān)系。
當(dāng)問到,是否了解應(yīng)用安全性以及是否掌握了安全代碼實踐時,我們的回答是,還遠未達到這種水平。這種回答意味著,不僅僅是軟件人員在該考核中沒有及格,高官們同樣也是不及格的狀態(tài)。
我們?nèi)绾尾拍芘まD(zhuǎn)這種局面呢?來聽聽大家的看法。