機構和作業安全性

良好的安全性做法基礎始於貴機構。

建立安全性和隱私權團隊

建立專責的安全性和隱私權團隊,並為這個組織設立負責人。

  • 建立安全團隊
    • 確保至少有一位員工負責安全性、隱私權和事件回應。
    • 定義這個團隊的任務和範圍。
    • 為以下職位建立組織架構和工作說明:安全管理員、資安工程師、事件管理員。
    • 聘請員工或外部承包商擔任這些角色。
  • 定義安全開發生命週期 (SDL)。SDL 應涵蓋以下範圍:
    • 產品安全性規定。
    • 風險分析和威脅塑模。
    • 應用程式和程式碼的靜態和動態分析
    • 產品的最終安全性審查程序。
    • 事件應變。
  • 評估組織風險。建立風險評估,並制定計畫來消除或減輕這些風險。

建構驗證程序

評估現有內部版本驗證和核准程序中的缺口。

  • 找出目前建構驗證程序中可能導致 可能有害的應用程式 (PHA)進入建構的缺失處。
  • 請務必設有程式碼審查和核准程序,即使是針對 AOSP 的內部修補程式也一樣。
  • 在下列範疇中實作控制項,改善建構完整性:
    • 追蹤修訂。追蹤軟體工程師,並保留變更記錄。
    • 評估風險,評估應用程式使用的權限,並需要手動審查程式碼變更。
    • 監控。評估對特權程式碼所做的變更。

原始碼變更追蹤

監控是否有人不小心修改原始碼或第三方應用程式/二進位檔/SDK。

  • 評估合作夥伴關係。請按照下列步驟評估與技術合作夥伴合作的風險:
    • 建立評估與特定供應商合作風險的標準。
    • 建立表單,詢問供應商如何解決事件,以及管理安全性和隱私權。
    • 定期稽核來驗證聲明。
  • 追蹤修訂。記錄哪些公司和員工修改原始碼,並定期進行稽核,確保只進行適當的變更。
  • 保留記錄。記錄哪些公司在您的版本中加入第三方二進位檔,並記錄這些應用程式執行哪些功能,以及收集哪些資料。
  • 規劃更新:請務必要求供應商在產品的整個生命週期中提供軟體更新。如有未預期的安全漏洞,可能需要供應商的支援才能解決。

驗證原始碼完整性和血統

檢查並驗證原始設備製造商 (ODM)、無線更新 (OTA) 或電信業者提供的原始碼。

  • 管理簽署憑證
    • 將金鑰儲存在硬體安全性模組 (HSM) 或安全雲端服務中 (請勿分享)。
    • 確保簽署憑證的存取權受到控管及稽核。
    • 要求在建構系統中完成所有程式碼簽署作業。
    • 撤銷遺失的金鑰。
    • 按照最佳做法產生金鑰。
  • 分析新程式碼:使用安全程式碼分析工具測試新加入的程式碼,檢查是否有新安全漏洞。此外,請分析整體功能,以偵測新安全漏洞的表現。
  • 發布前先確認。在將原始碼和第三方應用程式推送至實際工作環境前,請先找出安全漏洞。例如:
    • 要求應用程式使用安全通訊功能。
    • 遵循最低權限原則,授予應用程式運作所需的最小權限。
    • 確保資料是透過安全管道儲存及傳輸。
    • 將服務依附元件保持在最新狀態。
    • 為 SDK 和開放原始碼程式庫套用安全性修補程式。

事件回應

Android 相信強大的安全社群有助於找出問題。您應建立並公開聯絡方式,讓外部人士針對裝置相關安全性問題與您聯絡。

  • 建立聯絡人。建立電子郵件地址 (例如 security@your-company.com) 或網站,並提供明確的操作說明,讓使用者回報與產品相關的潛在安全性問題 (示例)。
  • 建立安全漏洞檢舉獎勵計畫 (VRP)。鼓勵外部安全研究人員提交影響您產品的安全漏洞報告,並為有效提交內容提供獎勵金 (範例)。建議您提供業界競爭力獎勵給研究人員,例如針對重大風險的漏洞提供 $5,000 美元,針對高風險的漏洞提供 $2,500 美元。
  • 將變更提交至上游。如果您發現影響 Android 平台或多家裝置製造商裝置的安全性問題,請提交安全性錯誤報告,與 Android 安全性團隊聯絡。
  • 宣導良好的安全性做法。主動評估為裝置提供服務、元件和/或程式碼的硬體和軟體供應商的安全做法。要求廠商負起維持良好安全性態度的責任。