將風險管理框架(RMF)融入開發運維

信息安全應位于每個在用系統的核心位置。美國《聯邦信息安全管理法案》(FISMA)規定,通過基于風險的網絡安全評估后,信息技術系統即可獲得運行授權(ATO)。
ATO問題
但是,ATO過程可能會給現代開發運維(DevOps)流程帶來一些挑戰,因為此過程要求授權官員(AO)在系統投入運行之前針對預設的風險控制措施批準系統。
由于假定系統的網絡安全狀態三年內不會發生重大變化,ATO有效期通常定為三年。但這個假定往往很不現實,導致“一勞永逸”式ATO不足以保障系統安全。所以,我們需要重新評估和授權系統,整個成本和最終用戶交付時間表也就受到了負面影響。而且,這也違反了開發運維的敏捷原則:
采納持續的集成、測試和交付
將運維嵌入團隊,內化交付和維護方面的專業知識
風險管理框架(RMF)解決方案
卡內基梅隆大學的一項研究表明,風險管理框架(RMF)可通過持續授權決策或持續重授權,替代傳統的三年ATO過程。題為《將風險管理框架應用于聯邦信息系統:安全生命周期方法》的指南又名NIST SP 800-37,提供了保護、授權和管理IT系統的結構化過程。RMF定義了過程周期,可以通過運行授權(ATO)和集成持續風險管理(持續監視)來實現初始系統防護。
RMF將傳統認證和認可(C&A)過程轉換為六個步驟,一步一步將信息安全和風險管理活動集成到系統開發生命周期中。這六個步驟是:
步驟1:分類信息系統
步驟 2:選擇安全控制措施
步驟 3:實現安全控制措施
步驟 4:評估安全控制措施
步驟 5:授權信息系統
步驟 6:監測安全控制措施
RMF假定這些系統“已被評估為具有足夠健壯的系統級持續監視程序”,并且與開發運維的核心原則無縫貼合,從而為DevSecOps鋪平了道路。
開發運維中的安全
安全通常在軟件開發的測試階段受到重視,而安全活動常在軟件開發過程之外進行。因此,安全活動的結果呈現在不適用于任何軟件開發活動的文檔中。
我們的目標應該是指導新活動的開發并調整現有活動,使之能夠將安全有效融入敏捷過程中。通過在持續集成/持續交付(CI/CD)流水線中插入必要的步驟,將安全活動納入軟件開發生命周期(SDLC),可幫助開發團隊將安全和合規功能無縫集成到常規工作流程中。
持續重授權的好處
RMF的持續重授權概念直接符合開發運維的四個重要方面:
團隊和角色間的協作
基礎設施即代碼(IaC)創建腳本化基礎設施配置
任務、過程和工作流的自動化
應用程序和基礎設施監測
持續重授權將授權視角從事件更改為流程,令系統更加安全。這是因為持續重授權能夠:
減少開發過程中的錯誤
提供持續反饋和監測
隨時可用
可重復
減少部署和錯誤解決耗時
響應業務需求
一開始就應引入安全和運維團隊,還有流水線相關的常規活動,確保在流水線中建立起正確的安全步驟。團隊之間協同一致,有助于建立和增強對軟件開發中所用流水線的信任。在軟件開發過程早期布置安全要求,可以幫助開發人員將必要的安全保護措施織入工作流程當中,建立起安全團隊信任的交付流水線。
自動化過程和工作流可以減小人為失誤造成的缺陷。通過在流水線中嵌入自動化安全控制措施與測試,應用開發人員能夠交付性能更高、質量更好的產品。而自動化無需人工干預的任務和批準手續,可以幫助應用開發人員規避瓶頸,更加快速地交付功能。
將安全作為推動力
許多人認為安全是軟件交付的障礙,而且是不可避免的障礙。但事實上,安全可以提升整個開發運維的速度。將安全正確集成到開發運維中可加速軟件交付,因為整個軟件開發生命周期(SDLC)中都在持續完成安全檢查和修正缺陷。
這對每個人來說都是個好消息。開發人員看到自己的產品可以更快部署。安全團隊可以更輕松地授權系統——因為本就是遵從組織策略開發的。運維團隊繼承了值得在自身網絡上運行的系統。
此外,安全團隊可以通過審計跟蹤、治理措施和實時合規報告,在SDLC的每個步驟中收獲透明度和有用洞見,無需等待開發人員在開發后生成和共享報告。這些持續的洞見,加上對可信流水線的信心,消除了安全人員與開發團隊間來回往復的浪費,令ATO快上許多。
當安全完全集成到整個軟件開發、維護和運行生命周期中時,便可以借助足夠健壯的系統級連續監測程序,實現持續重授權了。