如何使開發(fā)人員注重安全性
安全責(zé)任通常由最終用戶承擔(dān),而人們較少關(guān)注負(fù)責(zé)構(gòu)建產(chǎn)品的開發(fā)人員。
為了成功地將安全性推廣到開發(fā)人員,安全性必須易于部署。這是關(guān)于如何使安全成為最簡(jiǎn)單的選擇,使構(gòu)建安全的應(yīng)用程序必須比構(gòu)建不安全的應(yīng)用程序更容易。
正如思科公司的Wendy Nather在2020年RSA主題演講中所說(shuō):“安全應(yīng)該被設(shè)計(jì)為被部署,而不僅僅是被設(shè)計(jì)來(lái)強(qiáng)制執(zhí)行。”
隨著越來(lái)越多人采用現(xiàn)代開發(fā)做法,開發(fā)人員被鼓勵(lì)負(fù)責(zé)其產(chǎn)品的發(fā)布管理生命周期。然而,應(yīng)用程序開發(fā)的快速步伐使得安全團(tuán)隊(duì)難以跟上其步伐,而且安全團(tuán)隊(duì)通常缺乏資源。安全團(tuán)隊(duì)很難及時(shí)為開發(fā)人員提供可訪問(wèn)、適用和可操作的指導(dǎo)。最后,開發(fā)人員沒(méi)有獲得必要的安全指導(dǎo),這意味著部署的應(yīng)用程序通常存在安全漏洞。
然而,加劇這些挑戰(zhàn)的相同開發(fā)實(shí)踐也有助于推進(jìn)技術(shù)來(lái)解決這些問(wèn)題。
基礎(chǔ)設(shè)施即代碼 (IaC) 就是這樣一種技術(shù)。現(xiàn)代開發(fā)實(shí)踐使用IaC將應(yīng)用程序架構(gòu)定義為代碼,并自動(dòng)部署這些架構(gòu)。通過(guò)使用IaC,只需更新代碼,應(yīng)用程序架構(gòu)就會(huì)變得更加安全和合規(guī)。IaC有助于為開發(fā)人員提供可訪問(wèn)的、適用的和可操作的指南,指導(dǎo)他們的應(yīng)用程序架構(gòu)應(yīng)如何設(shè)計(jì),以實(shí)現(xiàn)安全性。
安全民主化需要什么?
安全團(tuán)隊(duì)很少參與開發(fā)過(guò)程的早期階段。當(dāng)他們參與時(shí),他們會(huì)遵循基于紙張的工作流程-在Word文檔或Excel工作表上。現(xiàn)代安全做法應(yīng)該在現(xiàn)代開發(fā)工作流程中采用自動(dòng)化。這將使安全團(tuán)隊(duì)能夠查看整個(gè)應(yīng)用程序組合,盡早參與,并在通過(guò)IaC進(jìn)行更改時(shí)為開發(fā)人員提供指導(dǎo)。
為了讓開發(fā)人員擁抱安全,應(yīng)側(cè)重于確保安全指南適用于正在開發(fā)的產(chǎn)品或功能。開發(fā)人員通常會(huì)忽略或拒絕通用指南,因此指南必須清晰且具有相關(guān)性。
另外,開發(fā)人員和安全工程師并不是說(shuō)同一種語(yǔ)言。對(duì)于開發(fā)人員來(lái)說(shuō),安全術(shù)語(yǔ)通常很復(fù)雜或無(wú)法訪問(wèn)。因此,同樣重要的是,以易于開發(fā)人員理解的簡(jiǎn)單術(shù)語(yǔ)提供重要的指導(dǎo)。
安全培訓(xùn)是安全民主化的另一個(gè)關(guān)鍵組成部分。良好的安全培訓(xùn)有助于開發(fā)人員了解安全概念,而他們無(wú)需成為安全專家。該策略還可以幫助開發(fā)人員更好地理解來(lái)自安全同行的指導(dǎo)。
開發(fā)團(tuán)隊(duì)和安全團(tuán)隊(duì)之間也應(yīng)該存在強(qiáng)大的反饋循環(huán)。由于提供安全指導(dǎo),反饋應(yīng)推動(dòng)持續(xù)改進(jìn)。
我們?nèi)绾巫詣?dòng)化安全功能?
為了使安全成為阻力最小的途徑,我們需要制定安全要求,關(guān)于“什么”可訪問(wèn)和適用,同時(shí)我們還需要幫助開發(fā)人員解決“如何”的問(wèn)題。IaC構(gòu)建與如何使用代碼相關(guān)的指南。如果你可以自動(dòng)化操作,那么安全性就會(huì)變得很簡(jiǎn)單,方便開發(fā)人員部署。
當(dāng)最佳實(shí)踐通過(guò)代碼自動(dòng)化時(shí),開發(fā)人員無(wú)需成為安全專家。相反,開發(fā)人員只需要了解他們的業(yè)務(wù)用例以及他們圍繞安全性和合規(guī)性的目標(biāo)。了解他們的應(yīng)用程序的需求(他們的消費(fèi)者是誰(shuí),應(yīng)用程序需要遵守哪些法規(guī)或標(biāo)準(zhǔn)等等)已經(jīng)是他們工作的一部分。使用這種方法,可消除很多通常阻礙民主化的摩擦和文化問(wèn)題。
在代碼中自動(dòng)化最佳實(shí)踐有助于改進(jìn)安全開發(fā)過(guò)程。我們正在接近一個(gè)臨界點(diǎn),民主化的安全不僅是可能的,而且會(huì)加強(qiáng)開發(fā)人員和安全團(tuán)隊(duì)之間的關(guān)系。