過去幾年間,DevOps 成為縮短軟體開發生命週期的熱門方法。不過,應用程式開發少不了安全機制,正如少不了測試。於是,DevSecOps 一詞應運而生。
在現代環境中,不論現在或未來,容器和微型服務之類的應用程式與服務都是敏感資料的傳遞管道,必須做好嚴密的安全措施。
經驗豐富的開發人員或 IT 人員都知道,DevOps 相當重視安全,不過,鮮少有人知道 DevOps 是與資訊安全相輔相成的方法。這就是 DevSecOps 的目的,因為 DevSecOps 將安全觀念融入於 DevOps 的思考模式,避免人們事後才發現忽略了安全措施。
為具體討論 DevOps 文化和方法如何與安全結合,我找到機會與 Bluestone Analytics 資料安全公司的技術長兼共同創辦人 Joseph DePlato 進行交談。DePlato 是位專業駭客,曾擔任過 BP、American Express、Home Depot 和 Palantir 等公司的資深網路安全顧問。
一想到 DevOps,就會想到連續完成任務。DevOps 是種敏捷開發模型與方法,唯一的目的就在於簡化 IT 與開發團隊之間的互動流程。不過,想到 DevOps 的時候,我們也應該思考開發團隊和 IT 運作團隊與軟體測試之間的互動 (若是 DevSecOps,則應思考這兩個團隊與安全團隊之間的互動)。
DevSecOps 是指將安全融入敏捷架構的模式。其概念是要讓軟體開發生命週期當中的所有成員共同承擔責任,而不是只將安全視為每次發佈軟體之間用於填補漏洞的手段。要做到這一點,就必須加強開發人員、測試人員、安全團隊以及運作部門之間的溝通。
這些團隊剛接觸到 DevOps 這個概念時,並不會立即聯想到安全方面。這一點將有所改變。
DePlato 解釋說道:「過去幾年發生了幾件事情。第一就是發生了幾次大型的資安事件...例如 Equifax。另外也正式實施了幾項法遵架構、政策架構,如歐盟的 GDPR。」
過去組織是站在防守的立場,而現在,大家都知道安全和軟體開發流程的其他環節一樣重要。於是,DevSecOps 應運而生。控制敏捷架構的效率之餘,我們亦需要重視資訊安全。
那麼,究竟誰該為安全負責?安全是必須共同承擔的責任,相信這不是您第一次聽到這個說法。IT 團隊知道無法充分保護每一個人,完全抵擋住網路釣魚的攻擊,因此會訓練員工養成這樣的情操。對於較偏重技術層面的業務也是如此要求。安全團隊可以大談安全實務理念並實作通訊協定,不過,開發團隊終究需要在撰寫所有程式碼時考慮安全問題。
DePlato 說道:「在理想的情況下,這是必須共同承擔的責任,所以,我相信每一個安全團隊的主要目標都在於能自動化就自動化,以利順利融入新的開發生命週期。」
DePlato 又解釋了幾個安全程序自動處理流程的範例。例如,可以每天使用第三方掃描器分析新版本與新程式碼。
DePlato 解釋說道:「我們最近幫一個組織將第三方掃描器整合於原本的週期中。現在,如果出現新的版本或程式碼發生變更,程式碼就會分別進行一次靜態和動態分析,這項程序一天進行一次。分析之後會產生申請單並傳回系統中,再新增到目前的短期流程裡。」
自動化是相當重要的助力,軟體開發需要符合敏捷與 DevOps 流程的預期,要快速且不中斷,因此自動化格外重要。
安全只不過是敏捷開發過程中的一個小齒輪。不過,實施變化不見得就要讓 IT、安全或開發團隊備受困擾。只要思維方式正確,再借助自動化的力量,就能開發出更安全的軟體,從而建立更有安全保障的世界。
您的團隊如何將安全融入於軟體開發生命週期?歡迎在下方留言一起討論。
Greg is a technologist and data geek with over 10 years in tech. He has worked in a variety of industries as an IT manager and software tester. Greg is an avid writer on everything IT related, from cyber security to troubleshooting.
Let our experts teach you how to use Sitefinity's best-in-class features to deliver compelling digital experiences.
Learn MoreSubscribe to get all the news, info and tutorials you need to build better business apps and sites
The specified form no longer exists or is currently unpublished.