🎯 什麼情境該想到我

當你「每個團隊都自己刻一次登入、加密、密碼雜湊,然後每一次都要重新排一場資安設計審查」的時候。

⚙️ 怎麼用(步驟 / 公式)

意圖:把**經資安預先核可(pre-blessed)**的函式庫與服務放進共用原始碼儲存庫,讓「照著做就安全」變成阻力最小的路徑,並藉此把資安審查從逐案排隊改成一次性投資。

關鍵判準(這條的價值全在這句)
當工程師使用這些預先定義好的函式庫或服務時,他們不需要為該模組另外排一次資安設計審查——他們用的就是我們已經寫好的組態強化、資料庫安全設定、金鑰長度等指引。

為什麼要放進共用原始碼儲存庫

  • DevOps 價值流裡的每個人對他們建構或支援的任何東西都使用版控,所以把資安產物放在那裡,最容易影響 Dev 與 Ops 的日常工作——任何我們產出的東西都變成可取得、可搜尋、可重用。
  • 版控同時是一個全方位的溝通機制,讓所有相關方都知道有哪些變更正在發生。
  • 若有集中的共用服務組織,也可以與他們合作建立並營運共用的資安平台:authentication、authorization、logging,以及 Dev 與 Ops 需要的其他安全與稽核服務。

清單:要放什麼進去(書中原列三類)

  1. 程式庫及其建議組態:2FA(two-factor authentication library)、bcrypt 密碼雜湊、logging。
  2. 秘密管理(Secret management):連線設定、加密金鑰;工具如 Vault、sneaker、Keywhiz、credstash、Trousseau、Red October
  3. OS 套件與 buildNTP 做時間同步、組態正確的安全版 OpenSSLOSSEC 或 Tripwire 做檔案完整性監控、syslog 組態確保關鍵安全事件進入我們集中式的 ELK stack

另外要與 Ops 團隊合作,為 OS、資料庫與其他基礎設施(NGINX、Apache、Tomcat)建立基礎 cookbook 或 build image,顯示它們處於已知、安全、風險已降低的狀態。共用儲存庫因此不只是拿最新版本的地方,也是監控與告警「資安敏感模組被改動」的地方

配套一:讓資安參與每次迭代展示(GE Capital 的 “Compliance by demonstration”)

  • 目標是讓功能團隊盡可能早與 Infosec 互動,而不是主要在專案末期才互動。
  • 做法:邀請 Infosec 參加每個開發週期結束時的產品展示,讓他們在組織目標的脈絡下理解團隊目標、觀察實作過程,並在最早期、還有最多時間與自由做修正的階段給出指引與回饋。
  • Justin Arbuckle(GE Capital 前首席架構師):專案末期的阻塞比開頭昂貴得多,而 Infosec 的阻塞是其中最糟的;由於 Infosec 全程參與,他們大幅減少了靜態檢查表的使用,改為在整個軟體開發過程中倚賴 Infosec 的專業。
  • 量測:GE Capital Americas 的三大業務量測是 development velocity(交付功能到市場的速度)、failed customer interactions(中斷、錯誤)、compliance response time(從稽核請求到交付所有質化與量化資訊所需的前置時間)

配套二:資安問題進同一個工作追蹤系統(Etsy)

  • 傳統做法是所有資安漏洞存在只有 Infosec 能存取的 GRC 工具裡;改成把需要做的工作放進 Dev 與 Ops 每天在用的系統,讓它可見、可與其他工作一起排優先序。
  • Nick Galbreath(Etsy):「我們把所有資安問題都放進 JIRA,那是所有工程師日常工作在用的;而且它們不是 P1 就是 P2,意思是必須立即修好、或在本週結束前修好——即使這個問題只出現在對內的應用程式上。」
  • 而且每次有資安問題就開一次 post-mortem,因為那能更好地教育工程師如何預防它再發生,也是把資安知識轉移給工程團隊的極佳機制。

原文(關鍵判準):「When engineers use one of these predefined libraries or services, they won’t need to schedule a separate security design review for that module; they’ll be using the guidance we’ve created concerning configuration hardening, database security settings, key lengths, and so forth.」(L11586–11589)

原文(compliance response time 的定義):「compliance response time (i.e., lead time from audit request to delivery of all quantitative and qualitative information required to fulfill the request)」(L11531–11532)

原文(Etsy 的 P1/P2 規則):「We put all security issues into JIRA, which all engineers use in their daily work, and they were either ‘P1’ or ‘P2,’ meaning that they had to be fixed immediately or by the end of the week, even if the issue is only an internally-facing application.」(L11552–11555)

🧪 我實際套用的紀錄

  • (待填)

⚠️ 注意 / 什麼時候不適用

  • 「免審查」是給預先核可元件的特權,不是給整個模組的。一旦團隊偏離了預定義函式庫或服務,該部分仍需要審查。
  • 光放上去不夠:書中要求同時提供資安訓練給 Dev 與 Ops,並審視他們做出來的東西以確保資安目標被正確實作,尤其是第一次使用這些工具的團隊
  • 秘密管理不要自己刻。書中直接列了六個工具(Vault、sneaker、Keywhiz、credstash、Trousseau、Red October)作為起點。
  • Etsy 的 P1/P2 規則之所以能成立,是因為他們同時做到「資安問題進共用工作系統」;只有規則沒有可見性,這條會變成無人遵守的政策。

🔗 相關工具