蜜桃TV

FAQ Hero
程式码签章信任

什麼是程式码
签章最佳做法?

什麼是程式码签章最佳做法?

程式码签章驗證軟體开发人员或發行者的身分,並確認在程式碼被簽署到下載的整個過程中其完整性完好無損。這證明了程式碼可以受到信任。遺憾的是,惡意執行者不斷試圖滲透程式码签章做法,從而將惡意軟體內嵌至受信任的程式碼。

以下是一些用以减轻攻击风险的最佳做法:

  • 安全的金钥储存:如果用於签章的私密金钥被外洩或失窃,那麼它可以被用於签署被内嵌恶意软体的软体,这样被发佈的软体会註册為源自该组织的合法软体。应在硬体安全模组(贬厂惭)中保护私密金钥,或在待用时对其进行加密。根据颁础/瀏览器(颁础/叠)论坛要求,用於公用信任的金钥必须储存在贬厂惭中。
  • 强制执行金钥和签章存取控制:设定原则并强制执行金钥存取控制,以确保只有获得授权的开发人员和使用者才能在需要时使用特定的金钥进行签章。在云端产生金钥,这样金钥就不会被共用、丢失或被盗。强制执行职责分离,即分离产生金钥者和签署者的职责。实作多重要素身分验证(惭贵础),以确保存取签章的人确实是其自称的那个人。对於已离职或不再需要存取签章或金钥产生的人员,撤销其存取权限。
  • 监测并稽核金钥签章工作流程:追踪谁在什麼时候签署了什麼内容,这样您就可以对未经授权的签章做出快速回应,并採取适当的补救措施。定期稽核与金钥组相关的所有活动,包括产生、凭证作业、金钥分配和签章存取。
  • 保持最新状态并强制执行整个公司范围的加密标準原则:行業要求可能發生變化,以幫助組織領先於威脅形勢。CA/瀏覽器論壇的新要求將3072位元RSA定為公開信任程式码签章和時間戳記憑證的最低金鑰要求,自2021年6月1日起生效。組織內的开发人员和使用者在產生金鑰或進行程式码签章時,可能知道也可能不知道這些變化。組織必須強制執行行業要求,以防止使用者使用弱的或不合规的演算法、金鑰大小或曲線來產生金鑰或要求憑證。
  • 在SDLC流程中啟用自動化的程式码签章:在CI/CD管線等SDLC流程中實現簽章的整合和自動化,這樣您就可以降低未簽章程式碼或不合规簽章的風險。您可以設定安全控制和自動化,從而以連續、快速的軟體開發節奏組建安全且合规的軟體。
  • 比较來自不同組建伺服器的簽章:近期的軟體供應鏈攻擊造成世界各地影響力巨大的組織出現嚴重的營運和財務中斷。惡意執行者潛入目標組織的開發營運之中,並在SDLC期間將惡意軟體內嵌至程式碼,之後這些被竄改的程式碼被發佈並部署在客戶系統之中。在發佈程式碼之前對來自不同組建伺服器的軟體的雜湊進行簽章和比较,以查明伺服器組建之間是否存在任何差異。兩個或兩個以上相同組建的法定數量可確保組建是安全的,並且組建中沒有包含未知程式碼。
  • 撤销已外洩的凭证:如果您發現被外洩的金鑰或已簽章的惡意軟體,請向您的憑證授權中心(CA)報告此事件。程式码签章凭证需要被撤銷,這將使軟體不再有效,並阻止惡意軟體的進一步傳播。
  • 為您的已签章程式码添加时间戳记:避免程式码签章凭证過期導致軟體意外過期的風險。程式码签章凭证的有效期為1-3年。如果程式码签章凭证過期,那麼已簽章的軟體也將過期,除非軟體在簽章時帶有時間戳記。系統將記錄時間戳記,因此只要軟體在生產中,就會繼續有效。為程式碼添加時間戳記的另一個原因是為了最大限度地減少憑證撤銷的影響。如果發現惡意軟體並且必須撤銷相關憑證,時間戳記將最大限度地減少影響,其原因是撤銷只會影響在入侵日期之後發佈的軟體。