安全編碼為應(yīng)用軟件增加免疫力
多數(shù)企業(yè)的安全團隊和開發(fā)團隊都在單獨工作,安全問題似乎只是安全團隊的職責(zé)。僅靠安全團隊就能確保開發(fā)的軟件安全了嗎?答案是否定的。在獲取解決方案之前,讓我們一起來看看,安全團隊都在做哪些工作。
檢查所有代碼的安全性缺陷,并將其報告給開發(fā)團隊進行修復(fù)。
在你的安全開發(fā)生命周期中執(zhí)行嚴(yán)格的同行審查程序。
由內(nèi)部或外部安全團隊定期進行應(yīng)用程序評估/滲透測試。
實現(xiàn)掃描工具以發(fā)現(xiàn)漏洞。
在提高軟件安全性上,這些方式都不錯。但這些方法也很昂貴,并且類似于每次生病都要服用一輪抗生素。這不僅帶來很高的成本,而且隨著時間的推移作用會逐漸減弱,并削弱你的免疫能力。
那么如何提高軟件自身“免疫力”呢?
這要從減少軟件安全漏洞說起。數(shù)據(jù)顯示超過六成的安全漏洞與代碼有關(guān),安全編碼意味著安全更安全的軟件,更穩(wěn)妥的軟件運行環(huán)境。可想而知,加強代碼安全是提高軟件自身安全性和網(wǎng)絡(luò)安全性的有效途徑。
但安全人員并不負(fù)責(zé)編寫應(yīng)用程序運行的代碼,開發(fā)人員在開發(fā)這些軟件時是否考慮了安全問題?
盡管我們一再強調(diào)安全編碼,但現(xiàn)實中安全代碼培訓(xùn)往往并不能切實影響到開發(fā)人員的日常工作,其作用也僅限證明了開發(fā)人員已接受安全培訓(xùn),或者為了符合行業(yè)標(biāo)準(zhǔn),而并非讓開發(fā)人員真正保留這些知識。
期望開發(fā)人員不犯錯誤是不現(xiàn)實的,但可以為他們提供便捷方式,如靜態(tài)代碼檢測工具等幫助開發(fā)人員發(fā)現(xiàn)錯過的安全漏洞和缺陷,提高代碼安全性。
軟件漏洞就像病原體
一次成功的網(wǎng)絡(luò)攻擊來自于脆弱的軟件系統(tǒng),可以嚴(yán)重削弱一個企業(yè)的能力。但如果開發(fā)人員首先在可控的情況下發(fā)現(xiàn)系統(tǒng)中的安全漏洞,并及時有效對其進行修正,不但可以提高開發(fā)人員的安全編碼意識,還能建立軟件對威脅的免疫力。
從源頭提高軟件開發(fā)的免疫力
一個人不可能防止所有的安全問題,為了軟件得到最好的保護,越多的人了解和發(fā)現(xiàn)安全漏洞,就越有可能阻止這些問題。確保安全編碼不但有利于構(gòu)建安全的SDLC,而且由代碼引發(fā)的安全漏洞將會在開發(fā)階段被”消滅“。這也意味著開發(fā)人員可以花更多的時間去創(chuàng)造和改進那些讓我們的世界更美好的軟件。
參讀鏈接:
https://zh.securecodewarrior.com/blog/secure-development-appsecs-immune-system
