再談數字簽名的冒用
攻擊事件
上周,上海貝銳(代表產品有:花生殼、向日葵等)疑似遭遇供應鏈攻擊事件。由于該公司旗下軟件用戶量極大,一時間大家都在關注此次事件是否會進一步引發更為嚴重的次生安全事件。
圖1. 樣本文件帶有的“上海貝銳信息科技股份有限公司”數字簽名?
但經過360的安全研究人員分析確認,此次事件實際上是一起典型的“數字簽名冒用”事件。分析人員將惡意樣本文件所簽署的數字簽名證書與官方正常程序所使用簽名證書進行對比,發現兩者的頒發機構與簽發時間均不相同。而類似的簽名冒用問題僅在過去一年中便已經發生過數百起。
圖2. 仿冒數字簽名證書 v.s. 官方數字簽名證書?
什么是“數字簽名”?
那么,僅僅一個文件的數字簽名,為何能引起一起沸沸揚揚的安全事件,進而引發各方的廣泛關注呢?這主要是因為數字簽名本身的特殊性質所決定的。“數字簽名”實際上可以看作是一段數據或一個文件的“數字身份證”。開發者通過對文件進行簽名,不僅能夠證明文件的來源,還能有效防止文件在傳輸或存儲過程中被篡改。“數字簽名”已成為現代互聯網安全的基石之一——尤其是對于大型企業和重要機構發布的文件,通常會因其所帶有的簽名而被包括安全廠商在內的全網所廣泛信任。可以說,在當今互聯網的方方面面——每一次通訊、每一次傳輸,都離不開數字簽名的安全保障。
而數字簽名這種機制本身的安全性,則主要依賴于以下幾個關鍵因素:
1.???? 算法本身的安全性
算法的安全性是數字簽名的基礎。例如曾經廣泛使用的MD5算法由于被發現存在碰撞漏洞(即不同的輸入可以產生相同的哈希值),便在多個安全領域內被淘汰。這也導致了在MD5算法爆出碰撞問題后,便被移除出了簽名信任體系。當前的數字簽名已全部轉為采用SHA-256為代表的更為安全的哈希算法。
2.???? 算法實現的安全性
在確保算法本身安全性的前提下,如何通過準確的代碼安全實現這些算法也至關重要。在算法實現的歷史上,就曾出現過知名的微軟ECC算法漏洞。該漏洞由于代碼在實現上存在缺陷,使得攻擊者能夠通過一定的方式繞過算法保護。幸好微軟公司及時發布了補丁對其代碼進行修復,避免了更大范圍的濫用和攻擊事件發生。因此,算法的實現必須經過嚴格的審查與測試,以確保其安全性得到有效保障。
3.???? 私鑰的保密性
而無論用何種方式實現了何種算法,當前的數字簽名體系都依賴于公私密鑰對的結構實現其對文件的簽署和驗證操作。而密鑰對中私鑰顯示便是數字簽名的關鍵——它保證了簽名的唯一性和安全性。與之相對的,一旦私鑰泄露,便可能被任何人利用來偽造簽名,導致數字簽名的信任體系崩潰。歷史上各地區多次發生過知名企業私鑰泄露的事件,如:Sony、微軟、Adobe等公司都因簽名密鑰泄露而遭遇安全問題。密鑰管理與存儲的安全性,尤其是在防止私鑰泄露方面,是數字簽名系統能否正常運作的核心。
4.???? 可信的證書頒發機構(CA)
最后,數字簽名的安全性還依賴于簽名證書的頒發方——證書頒發機構(CA)。CA負責對簽名申請者的身份進行驗證,并通過對申請者進行審查確保簽發的證書是合法且可信的。然而,CA機構并非無所不能,可信CA的安全性問題也是當前數字簽名體系面臨的重要挑戰。
簽名冒用問題解析
以這次簽名冒用事件為例,我們嘗試對大家關注比較少的利用可信CA疏漏所發起的這類攻擊的事件進行一次解析。
什么是簽名冒用?
簽名冒用是指攻擊者通過偽造、盜用他人身份信息或提交虛假材料,騙取證書頒發機構(CA,Certificate Authority)的信任,從而獲得不屬于自己的數字簽名證書。
簽名冒用的形式多種多樣,常見的形式包括:
l? 完全相同的簽名信息:攻擊者申請并獲得與冒用目標完全相同的簽名信息。
l? 相似或變體的簽名信息:攻擊者通過在冒用目標名稱中添加空白字符或使用小眾編碼、大小寫轉換等方式替換冒用目標的名稱字符,最終實現對簽名的整體仿冒。
而在本次事件中,攻擊者所使用的則是與被冒用目標名稱完全相同的虛假簽名。通常,這種情況是由于兩個不同的證書頒發機構(CA)分別頒發了相同名稱的證書所導致的,這也使攻擊者能夠成為一個完全合法的“虛假簽名”持有者,這一點無論對于普通用戶還是對于安全廠商無疑都具有極強的隱蔽性和迷惑性。
如何實現簽名的冒用?
落實到冒用簽名的實施層面,攻擊者可選用的手段可謂是多種多樣。冒用者可以通過各種方式來繞過證書頒發機構的審核,獲得合法的數字簽名證書。這其中較為常見的攻擊方式包括:
l? 利用海外證書頒發機構的信息差
通常,一些海外證書頒發機構對那些我們看來似乎是家喻戶曉的國內公司可能并不熟悉。也缺乏嚴密的復核機制。這就導致攻擊者可以利用信息差,提交虛假申請材料來成功騙取證書的發放。
例如,國內企業在申請證書時,某些海外頒發機構可能無法驗證其真實性或詳細背景,攻擊者便能利用這一漏洞,通過虛假身份、文件或資料申請到有效證書。
l? 代理商合謀或疏忽協助證書冒用
與眾多公司業務類似,數字證書的申請也是可以通過代理商代為辦理的。而一些無良代理商便可能與攻擊者里外勾結,通過偽造甚至是直接復制合法申請者的申請材料來幫助攻擊者獲得其想要冒用的數字簽名證書。
當然,更多的情況則是代理商本身也是因自身疏忽而未能充分驗證申請者的身份信息,導致了冒用簽名證書的頒發。
l? 偽造文件和營業執照等信息
除上述情況外,攻擊者還可以更為直接地偽造各種文件和營業執照等證明材料。證書頒發機構畢竟不是工商管理部門,很難對這些法律文件進行非常嚴密的審核真實性審核,而一旦審核人員出現疏忽大意,攻擊者便可以成功地獲取到想要冒用的簽名證書并進行惡意使用。
簽名冒用攻擊的三大階段
通過對過往發生過的簽名冒用攻擊事件進行總結歸納,我們發現此類攻擊通常分為三個主要階段。
階段一:獲取簽名
如前文所述,攻擊者首先會通過各種偽造文件、資質信息等各種手段,成功地從證書頒發機構手中申請到與目標組織名稱相同或相近的數字簽名證書。
階段二:“養證書”
最為反直覺的是——在正式發動攻擊前,攻擊者往往還會利用獲取到的虛假證書為大量的正常程序進行簽名和傳播。此階段的目的是在短時間內“養”出一個看似安全可信的證書,以此來騙取各安全廠商和用戶的信任,進而降低其被安全檢測系統標記為可疑的風險性。
階段三:實施攻擊
而在上述的“養”證書階段初具成效后,攻擊者便會轉而使用這些“養成”的證書對真正的惡意程序(如仿冒官方程序的病毒或木馬)進行簽名。并采取釣魚攻擊、社會工程學攻擊等方式進行傳播。由于這些程序具備合法的數字簽名,用戶在運行時往往難以察覺其中的異常,從而導致非常嚴重的安全事件。
統計數據
通過對360云端大數據進行篩查和統計,我們發現了數百例在近些年活躍在網絡中的仿冒數字簽名。
仿冒簽名簽發年份
對這些仿冒數字簽名的簽發時間進行統計,發現2020年和2022年所簽發的仿冒數字簽名數量尤為突出。
圖3. 仿冒數字簽名簽署年份分布?
仿冒簽名頒發機構
而頒布這些仿冒簽名的機構,則集中在11家簽名機構當中。這其中更是以Sectigo、Go Daddy、SSL.com、Starfield四家機構簽發的證書數量最多。
圖4. 仿冒簽名頒發機構分布?
被冒用目標機構
與頒發機構相對的,被冒用簽名的目標機構則顯得不那么集中。但這些機構也有著一些較為明顯的共同點,其中最為明顯的就是被冒用目標機構大多是在國內外有一定影響力的互聯網或軟件公司。以下是目標機構的Top10:
圖5. 被冒用目標機構Top10?
篡改簽名時間戳的“反向操作”
此外,針對數字簽名所實施的攻擊活動中,還有一類“奇葩”案例值得額外一提。有些攻擊者除了通過各種手段對數字簽名進行仿冒外,還可能進行一種“反向操作”——即在未能成功獲取仿冒簽名的情況下謊稱自己已拿到了目標機構“泄露”的簽名證書,并以此為要挾對目標機構進行敲詐。這一操作則通常是利用了數字簽名的“時間戳”屬性。
在用戶查看文件數字簽名時,通常會注意到其中附帶的時間戳信息。這是對文件進行簽名時由第三方時間戳服務器(TSA,Time Stamping Authority)所添加的一段驗證數據,用于標識數字簽名的簽署時間。
圖6. 數字簽名的時間戳
由于時間戳由權威機構認證,通常被認為難以篡改。然而,時間戳實際上也并非絕對安全,同樣存在被篡改的可能性。這主要是由于對已簽名的文件,任何人其實都可以向認證機構申請重新添加時間戳。而認證機構在收到請求后,會返回再次申請時的時間戳并附加到文件中。
而國內也出現過用這類方法進行“招搖撞騙”的案例——謊稱掌握了廠商的證書私鑰。這里我們也提醒廠商不要因此恐慌而上當受騙。
修改時間戳的局限性
不過,對簽名時間戳的修改存在著較大的局限性。這也導致了此類操作的實際案例并不如上述的簽名冒用那樣泛濫:
局限一:時間戳的更改不會修改文件本身的簽名內容,因此無法篡改文件的核心數據。
局限二:只有已簽名的文件才能調整時間戳,未簽名的軟件無法通過這種方式進行簽名偽造。
簽名時間戳修改實例
為了更直觀地說明這一過程,以下是一個利用DigiCert對微軟的MSEdege瀏覽器重新附加時間戳的示例:
圖7. 對微軟Edge瀏覽器簽名時間戳的修改實例?
安全提醒
數字簽名的冒用攻擊是一種由來已久且難以防范的攻擊方式。證書頒發機構有自身的局限性,很難對證書申請者完成詳盡調查,從而為攻擊者提供了可乘之機。而這類仿冒證書,對一般企業、用戶來說,也幾乎不可能識別。
這些攻擊方式表明,數字簽名證書的安全性不僅僅依賴于技術手段,還需要完善的身份驗證、審查和監管機制。
360安全大腦,利用具有優勢的全網視野,和海量的樣本數據,能夠輕易發現這類簽名名稱相同、簽名相似、頒發機構異常等證書存在異常的樣本,能夠為用戶和廠商提供預警和監測服務,幫助用戶應對簽名冒用問題。
使用360終端安全產品的用戶也無需擔心,360對簽名的校驗比對有一套完成的流程,不論是攻擊者導入的虛假根證書,還是這類證書頒發機構頒發的“虛假證書”都難逃360安全大腦的識別。