如何创建并强制执行有效的程式码签章原則? 編寫內部程式码签章原則指南
隨著對成熟簽章要求的需求不斷增加,組織和開發團隊必須建立並執行可靠的簽章原則和流程以保護軟體。透過創建並記錄程式码签章的正式原則,您可以讓您的开发人员和工程師遵循保護您組建的軟體所需要的最佳做法。
應該在程式码签章原則指南中包含哪些內容?
有效的程式码签章原則包括頒發及使用程式码签章金鑰的指南和程序,包括以下事項:
金钥颁发
在建立管理协定时,设定谁可以颁发金钥以及何时颁发金钥的控制与程序。团队成员应该知道,根据其角色,何时颁发金钥是适当的。管理要颁发的金钥类型以及与其相关的属性。这有助於避免颁发带有弱演算法的新金钥,这类金钥会引入攻击途径。
金钥管理
為使用者角色設定控制和程序。誰管理金鑰? 如何在團隊、組織或生產階段中根據角色劃分金钥管理職責? 這些程序應包括對整個組織內的所有金鑰進行位置追蹤。
金钥储存
金鑰必須受到保護。為金钥储存設定控制與程序,無論其是否被使用。這應包括HSM、權杖、USB和使用多重要素身分驗證的金鑰存取。團隊成員必須知道如何避免丟失或不正確地儲存金鑰。
签章权限
團隊成員應該知道誰有權進行簽章,以及在何時進行簽章是適當的。他們還應該知道何時未授與签章权限,以及如何要求簽章(若權限不是其角色的一部分)。
金钥使用
如何使用或不使用金钥是正确的签章程序的重要组成部分。金钥应该在正确的时候被正确的人使用。
防止金钥共用
金钥共用是一种常见的做法。这也是最危险的做法之一。团队成员永远不应该共用金钥,即使是在存放库或内部伺服器、系统和网路中也是如此。金钥应该由适当的个人根据其角色进行唯一地颁发、控制和储存。
连续签章
程式碼和軟體簽章不應被視為事後的補救辦法或繁瑣的合规步驟。每個CI/CD管線都應包括CS,即连续签章,以便正確且一致地實施程式碼安全性。
请阅读这裡的指南,以瞭解有關如何編寫內部程式码签章原則的全面說明。