Code Signing 憑證可以理解為軟件發行入面嘅「身分證加防拆封標籤」:佢幫使用者、作業系統同保安產品判斷軟件來源同完整性。DigiCert 作為主要憑證簽發機構,喺互聯網通訊同軟件分發信任鏈入面有重要角色;其 Code Signing 憑證亦被軟件開發者使用 。
問題在於,攻擊者唔需要完全打爆整間憑證機構,都可以濫用呢種信任訊號。ThreatNoir 指,部分取得嘅 Code Signing 憑證被用嚟簽署惡意軟件 。CyberInsider 亦形容事件涉及被攻陷嘅內部支援系統同憑證簽發資料,攻擊者藉此取得有效 EV Code Signing 憑證,部分其後用於簽署惡意軟件
。
簽咗名嘅惡意軟件,第一眼可以顯得更似合法程式。Vectra 對同類手法嘅分析指出,攻擊者可以用 EV 憑證簽署惡意檔案,利用外界對 EV 簽署應用程式較高嘅信任;如果機構只靠簽名判斷可信與否,就會有缺口 。
目前公開數字唔完全一致,主要因為唔同來源講緊唔同類別:
所以,讀呢啲數字時要問清楚:係「取得」、「實際濫用」,定係「最終撤銷」?即使事件範圍被形容為有限,只要有少量看似有效嘅 Code Signing 憑證落入攻擊者手上,已經足夠用嚟提升惡意軟件嘅可信外觀 。
BleepingComputer 報道指,DigiCert 喺發現後24小時內撤銷已識別憑證,並將撤銷日期設為憑證簽發日期 。同一報道亦指,受影響時間窗內嘅待處理訂單已被預防性取消
。ThreatNoir 亦有相近描述:受影響憑證喺發現後24小時內被撤銷,相關時間窗嘅待處理訂單亦被取消
。
事件期間仲有一層混亂:Microsoft Defender 曾經誤將 DigiCert 憑證標記為 Trojan:Win32/Cerdigent.A!dha,BleepingComputer 有相關報道 。daily.dev 亦整理指,Defender 喺4月30日一次簽名更新後,錯誤標記合法 DigiCert Root 憑證;Microsoft 其後透過 Security Intelligence Update 1.449.430.0 修正,並恢復被移除嘅憑證
。
今次事件唔係話 Code Signing 無價值。相反,Code Signing 仍然係重要信任訊號;問題係,佢唔應該係唯一答案。
實務上可以咁做:
DigiCert 呢次事件嘅核心教訓好直接:數碼簽名係信任訊號,但唔係最終裁決。公開報道顯示,事件集中喺支援系統、初始化碼同被濫用嘅 Code Signing 憑證,唔係 Root 或 CA 密鑰被攻陷 。但只要攻擊者可以令惡意軟件披上有效簽名外衣,防守方就唔可以再用「有簽名=可信」呢條單線規則處理現代惡意軟件。