【一時疏忽】8.5% Docker images含敏感資料 管理密鑰要行多步
今時今日,不少開發者都會使用 Docker images 加快開發效率,不過一份研究報告便發現,不論是 Docker Hub 倉庫上或私人註冊的 Docker images,有接近 8.5% image 都包含了 secrets 密鑰資料,讓黑客有機會利用它存取系統數據,不單影響開發者提供服務的安全性,更造成數據外洩危機。
Docker images 是創建容器的模組,它包含了運行容器所需的軟件編碼及運行配置,令應用程序更易運行及維護,因此深受開發者歡迎。以往黑客會透過在一些 Docker 倉庫上載含有惡意功能的 images,等待其他開發員使用,藉以感染其他電腦,例如 Docker Hub 倉庫便曾被發現存在 400 萬個惡意 images。
分析逾 33 萬個 Docker images
德國 RWTH Aachen University 大學研究員又有新發現,早前分析了來自 Docker Hub 倉庫及私人註冊的 Docker images 及每一層 Layer,兩者的總數多達 33.7 萬個及 164 萬層,但就發現有 28,621 個(約有 8.5%)images 包含了私鑰及 API secrets 等敏感數據,在倉庫中總共發現有 52,107 個私鑰及 3,158 個 API secrets 或有機會外洩。
為確定暴露的 secrets 的實際使用情況及攻擊造成的影響,研究員又分析了 images 中所使用 CA 簽名的證書,結果發現當中有 22,082 張證書或會遭受濫用,其中包括 7,546 個私有 CA 簽名及 1,060 個公共 CA 簽名證書。由於證書可用於驗證伺服器或軟件真偽,因此如被黑客濫用,便可讓他們散播惡意軟件或截取機密訊息。
Docker images 外洩 secrets 較嚴重
報告中指出,大多數暴露了私鑰或 API secrets 的 images 僅應用於個別用家身上,相信並非有黑客刻意埋下陷阱,只是開發者的無心之失。另外,在 images 內洩露 secrets 的情況以 Docker Hub 倉庫較嚴重(約 9%),比私人註冊的 images 高出約 2.7%,反映 Docker Hub 用家對容器安全性的認知較差。
要減少 Docker images 中洩露 secrets 的風險,安全專家建議可以採取以下措施,例如使用加密演算法將儲存在 images 中的 secrets 進行加密,或採用動態注入 secrets 方式,在容器運行時才從外部匯入。另外,亦可控制 secrets 訪問權限,避免被其他人取得,這些措施都有助加強 secrets 的安全性。