資料來源:https://digital.ai/catalyst-blog/why-better-security-means-better-products
在過去科技發展迅速的15年中,企業已經十分熟悉提升產品安全的重要性。我們都曾看見過去發生了多起嚴重的資料外洩事件,導致不少企業的名聲跌入谷底。然而企業或許還沒有意識到,當把資訊安全整合至DevOps流程,使其成為其中一環時,將會帶來顯而易見的良好改變,不僅是為了避免因低安全性所造成的財務損失。實際上將安全性整合至流程的設計與建置階段,更能提升在每一個階段進行開發時所創造出的價值,進而帶來更優良的全方位產品。
簡而言之,沒有經常進行安全漏洞管理的團隊,必須投資更多資源在專案上,才能夠交付近乎同等品質的產品。所以將安全性整合至DevOps流程,能夠降低開發成本,同時也可以使團隊持續保持熱忱及能量,在每一次的更新發佈保持優良的品質。當我們將開發流程導入安全性環節之後,產品的功能開發以及工作的優先順序,都將以考量安全性作為首要原則而進行管理。透過整合更多資源來進行開發,便能夠獲得更安全且品質更高的產品,也得到更多使用者的青睞。
或許某些企業組織心存僥倖,認為不遵守HIPPA(Health Insurance Portability and Accountability Act)和GDPR(General Data Protection Regulation)這一類的法規,僅會遭受數百萬的罰款。除了資安問題造成的損害之外,同時也存在著財務損失風險的威脅。在一個極端的案例中,如Notpetya這一個勒索軟體在2017年時造成了超過數十億美元的經濟損失。
根據資安事件所造成的影響及商譽受損,客戶和使用者也會考慮將其業務轉移至其它更安全的服務上。根據CISSO的調查,有29%的消費者表示,他們開始積極研究各類服務的隱私權政策,並且計畫放棄使用不夠重視資安及管理規範不明的企業服務。
為了避免造成這些損失,許多企業已經開始進行「Shift left」,將安全意識導入DevSecOps流程中,可以有效提升在資訊安全中合規性、治理、客戶需求以及提高內部資訊安全的執行效率。TechBeacon預測:2021年在資安團隊的支援下,會有越來越多開發團隊需要為程式碼的安全性負起責任。報告中也指出,開發團隊將透過自動化來提高開發效率,進而發展出持續進步的團隊文化。這種「Shift left」方式可以將安全性與治理整合至開發流程,同時增加敏捷性。
若在產品開發的最後關頭才開始進行安全性的檢查,常見的情況是:團隊將在DevOps的週期中成為被動的角色。當發布了新版本或新的修改時,這些調整將在整合和部署之前經過安全審查。在CI/CD的環節中,團隊也進入新的工作階段。如果在安全審查時發現了問題,即必須退回開發團隊進行問題的修正。被指出的問題將必須進行調整,同時也排入現有工作事項的一部分。或更糟糕的是,在時程上可能有極大的壓力,進而導致拖延其他版本的進度。開發團隊的工作勢必被中斷,甚至整個團隊短期方向可能會轉為救火隊。
以DevOps的觀點來說:將安全性從DevOps流程中獨立出來,可能會導致延遲產品功能交付的時間,必須另外審查安全性,這種模式是與DevOps團隊發展目標是有所衝突的。安全性(Security)、合規性(Compliance)和治理(governance)這三大面向(後續簡稱SCaG)是必須即時關注的。在開發週期結束後卻發現問題時,可能心中不免會覺得很不方便,但這是為了確保品質並符合標準所造成的結果。但很顯然地,若跳過此步驟,直接進行發佈後所發現的問題將更具破壞性。
如果SCaG是一項必要的考量,則表示企業僅能提供具備安全性的產品。換句話說,若缺少資安專家的參與,將無法提供任何安全的產品和服務。因此使用DevOps的企業必須在開發階段即考慮安全的重要性。提前考量安全性其實對團隊工作模式具重大影響,因為很可能使他們能夠投入更多心力在符合較可能通過SCaG 標準的專案。在大多數情況下,整合了安全性和開發的團隊在生產力上表現更好、更有效率。根據Google的報告「『DevOps Tech:提前考量安全性』中提到,高效的團隊比低效團隊在安全修復問題上花費的時間少了50%。」
1. 所有規劃都必須考量到安全性
2. 整合程式碼之前自動進行安全性檢查
3. 強調基本架構和開發工具的安全性
IBM建議,在建立工具、產品架構和流程時,應考量可追朔性、可審查性和可見性這三項原則
4. 更輕鬆實現SCaG的實際案例
在一個極端的案例中,Google建議:可以讓資訊安全團隊允許預先建置易使用的Library、Package、Tool Chains和流程,提供給開發人員和IT人員在他們的工作中進行使用
DevOps Digest建議採用最小特權(PoLP)原則:提供自動化系統特權時,僅提供可完成工作內容所需的最小權限
使用數位簽章來管控程式碼修改的提交,確保程式僅能透過信任的來源進行新增或修改
針對管理監控、紀錄威脅進入點和行政流程,制定出異常行為的規則(良好行為則為白名單)