將安全性向左拉:在編寫代碼之前如何考慮安全性

圖片:Gorodenkoff/Adobe Stock
技術已經改變了一切,從我們經營業務的方式到我們的生活方式。但伴隨著便利而來的是新的威脅。Target、Facebook 和 Equifax 等公司的高調安全漏洞提醒人們,沒有人能幸免。作為技術領導者,我們有責任創造一種文化,在這種文化中,保護數字應用程序和生態系統是每個人的責任。
一種新方法:設計安全
編寫、構建和部署安全應用程序的一種方法稱為設計安全性或 SbD。在 2015 年發布Amazon 白皮書后,SbD 風靡云計算,如今 SbD 仍然是 Amazon 推薦的框架,用于從一開始就系統地處理安全問題。SbD 是一種安全保證方法,可將安全設計形式化、自動化安全控制并簡化審計。該框架將保護應用程序分為四個步驟。
了解您的要求
概述您的政策并記錄控制措施。確定要執行的安全規則。了解您從生態系統中的任何外部服務提供商那里繼承了哪些安全控制,以及您自己擁有哪些安全控制。
建立一個安全的環境來滿足您的書面要求
當您開始定義將支持您的應用程序的基礎架構時,請將您的安全要求稱為配置變量并在每個組件中記錄它們。
例如,如果您的應用程序需要對靜態數據進行加密,請使用“encrypted = true”標簽標記任何數據存儲。如果您需要記錄所有身份驗證活動,請使用“log = true”標記您的身份驗證組件。這些標簽將把安全放在首位,然后通知您要模板化的內容。
通過策略、自動化和模板執行
一旦您知道您的安全控制是什么以及應該在哪里應用它們,您就不想留下任何人為錯誤。這就是您的模板的用武之地。通過將基礎架構作為代碼自動化,您可以高枕無憂,因為系統本身可以防止任何人創建不符合您定義的安全規則的環境。無論配置看起來多么微不足道,您都不希望管理員在云端或本地手動配置機器。編寫腳本來進行這些更改將為自己付出一千倍的代價。
執行定期驗證活動
安全設計框架的最后一步是定義、安排和定期驗證您的安全控制。在大多數情況下,這也可以自動化,不僅是定期的,而且是連續的。要記住的關鍵是您需要一個始終合規的系統,因此該系統始終準備好進行審核。
SbD 的投資回報率是多少?
如果執行得當,SbD 方法會提供許多切實的好處。
- 強制未經授權的用戶無法覆蓋的功能
- 控制裝置的可靠運行
- 持續和實時的審計
- 治理策略的技術腳本
此外,無論是在本地還是在云端,請確保您的安全策略解決以下問題:
- 網絡安全
- 庫存和配置控制
- 數據加密
- 訪問控制
- 監控和記錄
保持對主要威脅的認識
當涉及到實際的應用程序開發時,請注意OWASP Top 10。這是針對開發人員和 Web 應用程序安全性的標準意識文檔。它代表了對 Web 應用程序最關鍵的安全風險的廣泛共識。它會隨著時間而變化,但下面我們匯總了 2022 年的頂級威脅列表。
- 訪問控制損壞
- 密碼失敗
- 注射
- 不安全的設計
- 安全配置錯誤
- 易受攻擊和過時的組件
- 標識和身份驗證失敗
- 軟件和數據完整性故障
- 安全日志記錄和監控故障
- 服務器端請求偽造
雖然您的開發人員了解這些威脅(SbD 流程的第一步)很重要,以便他們能夠識別適當的控制并相應地實施(第二步和第三步),但同樣重要的是驗證活動(第四步)在和在開發過程之后。有許多商業和開源工具可以幫助進行此驗證。
OWASP 項目保留了這些工具的更新列表,甚至直接維護了其中一些開源項目。您會發現這些工具主要針對特定??技術及其特有的攻擊。
帳戶級最佳實踐
如果不減輕最大的安全風險:用戶,任何組織都無法真正安全。這就是帳戶最佳實踐的用武之地。通過實施帳戶最佳實踐,組織可以確保其用戶不會無意中危及系統的整體安全性。確保作為一個組織,您在帳戶管理方面遵循最佳安全實踐:
- 對所有資源強制使用強密碼
- 在帳戶級別使用群組電子郵件別名
- 啟用 MFA
- 切勿使用 root 進行日常訪問
- 刪除帳戶級訪問密鑰
- 啟用日志記錄
記住合規性和監管要求
在某些行業或地區,您需要遵守額外的安全控制。常見的包括用于支付的 PCI 和用于醫療記錄的 HIPAA。做好功課至關重要,如果您發現自己受到任何這些額外安全要求的約束,則可能值得聯系專門從事所需特定控制的安全顧問,因為違規行為通常會面臨高額罰款。
重要的是要記住,雖然組織是網絡攻擊的目標,但受害者是個人:他們是您的客戶;他們是您的員工;他們是真正信任您和您的技術的人。這就是為什么組織從一開始就致力于保護應用程序的重要性。
在當今快節奏的數字環境中,被動的安全措施不會成功。精明的 CIO 正在采取積極主動的方法,將安全對話拉到左側,涉及整個業務,并將最佳實踐嵌入軟件開發生命周期的每一步。