再談數字簽名的冒用
攻擊事件
上周,上海貝銳(代表產品有:花生殼、向日葵等)疑似遭遇供應鏈攻擊事件。由于該公司旗下軟件用戶量極大,一時間大家都在關注此次事件是否會進一步引發(fā)更為嚴重的次生安全事件。

圖1. 樣本文件帶有的“上海貝銳信息科技股份有限公司”數字簽名?
但經過360的安全研究人員分析確認,此次事件實際上是一起典型的“數字簽名冒用”事件。分析人員將惡意樣本文件所簽署的數字簽名證書與官方正常程序所使用簽名證書進行對比,發(fā)現兩者的頒發(fā)機構與簽發(fā)時間均不相同。而類似的簽名冒用問題僅在過去一年中便已經發(fā)生過數百起。

圖2. 仿冒數字簽名證書 v.s. 官方數字簽名證書?
什么是“數字簽名”?
那么,僅僅一個文件的數字簽名,為何能引起一起沸沸揚揚的安全事件,進而引發(fā)各方的廣泛關注呢?這主要是因為數字簽名本身的特殊性質所決定的。“數字簽名”實際上可以看作是一段數據或一個文件的“數字身份證”。開發(fā)者通過對文件進行簽名,不僅能夠證明文件的來源,還能有效防止文件在傳輸或存儲過程中被篡改。“數字簽名”已成為現代互聯網安全的基石之一——尤其是對于大型企業(yè)和重要機構發(fā)布的文件,通常會因其所帶有的簽名而被包括安全廠商在內的全網所廣泛信任。可以說,在當今互聯網的方方面面——每一次通訊、每一次傳輸,都離不開數字簽名的安全保障。
而數字簽名這種機制本身的安全性,則主要依賴于以下幾個關鍵因素:
1.???? 算法本身的安全性
算法的安全性是數字簽名的基礎。例如曾經廣泛使用的MD5算法由于被發(fā)現存在碰撞漏洞(即不同的輸入可以產生相同的哈希值),便在多個安全領域內被淘汰。這也導致了在MD5算法爆出碰撞問題后,便被移除出了簽名信任體系。當前的數字簽名已全部轉為采用SHA-256為代表的更為安全的哈希算法。
2.???? 算法實現的安全性
在確保算法本身安全性的前提下,如何通過準確的代碼安全實現這些算法也至關重要。在算法實現的歷史上,就曾出現過知名的微軟ECC算法漏洞。該漏洞由于代碼在實現上存在缺陷,使得攻擊者能夠通過一定的方式繞過算法保護。幸好微軟公司及時發(fā)布了補丁對其代碼進行修復,避免了更大范圍的濫用和攻擊事件發(fā)生。因此,算法的實現必須經過嚴格的審查與測試,以確保其安全性得到有效保障。
3.???? 私鑰的保密性
而無論用何種方式實現了何種算法,當前的數字簽名體系都依賴于公私密鑰對的結構實現其對文件的簽署和驗證操作。而密鑰對中私鑰顯示便是數字簽名的關鍵——它保證了簽名的唯一性和安全性。與之相對的,一旦私鑰泄露,便可能被任何人利用來偽造簽名,導致數字簽名的信任體系崩潰。歷史上各地區(qū)多次發(fā)生過知名企業(yè)私鑰泄露的事件,如:Sony、微軟、Adobe等公司都因簽名密鑰泄露而遭遇安全問題。密鑰管理與存儲的安全性,尤其是在防止私鑰泄露方面,是數字簽名系統(tǒng)能否正常運作的核心。
4.???? 可信的證書頒發(fā)機構(CA)
最后,數字簽名的安全性還依賴于簽名證書的頒發(fā)方——證書頒發(fā)機構(CA)。CA負責對簽名申請者的身份進行驗證,并通過對申請者進行審查確保簽發(fā)的證書是合法且可信的。然而,CA機構并非無所不能,可信CA的安全性問題也是當前數字簽名體系面臨的重要挑戰(zhàn)。
簽名冒用問題解析
以這次簽名冒用事件為例,我們嘗試對大家關注比較少的利用可信CA疏漏所發(fā)起的這類攻擊的事件進行一次解析。
什么是簽名冒用?
簽名冒用是指攻擊者通過偽造、盜用他人身份信息或提交虛假材料,騙取證書頒發(fā)機構(CA,Certificate Authority)的信任,從而獲得不屬于自己的數字簽名證書。
簽名冒用的形式多種多樣,常見的形式包括:
l? 完全相同的簽名信息:攻擊者申請并獲得與冒用目標完全相同的簽名信息。
l? 相似或變體的簽名信息:攻擊者通過在冒用目標名稱中添加空白字符或使用小眾編碼、大小寫轉換等方式替換冒用目標的名稱字符,最終實現對簽名的整體仿冒。
而在本次事件中,攻擊者所使用的則是與被冒用目標名稱完全相同的虛假簽名。通常,這種情況是由于兩個不同的證書頒發(fā)機構(CA)分別頒發(fā)了相同名稱的證書所導致的,這也使攻擊者能夠成為一個完全合法的“虛假簽名”持有者,這一點無論對于普通用戶還是對于安全廠商無疑都具有極強的隱蔽性和迷惑性。
如何實現簽名的冒用?
落實到冒用簽名的實施層面,攻擊者可選用的手段可謂是多種多樣。冒用者可以通過各種方式來繞過證書頒發(fā)機構的審核,獲得合法的數字簽名證書。這其中較為常見的攻擊方式包括:
l? 利用海外證書頒發(fā)機構的信息差
通常,一些海外證書頒發(fā)機構對那些我們看來似乎是家喻戶曉的國內公司可能并不熟悉。也缺乏嚴密的復核機制。這就導致攻擊者可以利用信息差,提交虛假申請材料來成功騙取證書的發(fā)放。
例如,國內企業(yè)在申請證書時,某些海外頒發(fā)機構可能無法驗證其真實性或詳細背景,攻擊者便能利用這一漏洞,通過虛假身份、文件或資料申請到有效證書。
l? 代理商合謀或疏忽協(xié)助證書冒用
與眾多公司業(yè)務類似,數字證書的申請也是可以通過代理商代為辦理的。而一些無良代理商便可能與攻擊者里外勾結,通過偽造甚至是直接復制合法申請者的申請材料來幫助攻擊者獲得其想要冒用的數字簽名證書。
當然,更多的情況則是代理商本身也是因自身疏忽而未能充分驗證申請者的身份信息,導致了冒用簽名證書的頒發(fā)。
l? 偽造文件和營業(yè)執(zhí)照等信息
除上述情況外,攻擊者還可以更為直接地偽造各種文件和營業(yè)執(zhí)照等證明材料。證書頒發(fā)機構畢竟不是工商管理部門,很難對這些法律文件進行非常嚴密的審核真實性審核,而一旦審核人員出現疏忽大意,攻擊者便可以成功地獲取到想要冒用的簽名證書并進行惡意使用。
簽名冒用攻擊的三大階段
通過對過往發(fā)生過的簽名冒用攻擊事件進行總結歸納,我們發(fā)現此類攻擊通常分為三個主要階段。
階段一:獲取簽名
如前文所述,攻擊者首先會通過各種偽造文件、資質信息等各種手段,成功地從證書頒發(fā)機構手中申請到與目標組織名稱相同或相近的數字簽名證書。
階段二:“養(yǎng)證書”
最為反直覺的是——在正式發(fā)動攻擊前,攻擊者往往還會利用獲取到的虛假證書為大量的正常程序進行簽名和傳播。此階段的目的是在短時間內“養(yǎng)”出一個看似安全可信的證書,以此來騙取各安全廠商和用戶的信任,進而降低其被安全檢測系統(tǒng)標記為可疑的風險性。
階段三:實施攻擊
而在上述的“養(yǎng)”證書階段初具成效后,攻擊者便會轉而使用這些“養(yǎng)成”的證書對真正的惡意程序(如仿冒官方程序的病毒或木馬)進行簽名。并采取釣魚攻擊、社會工程學攻擊等方式進行傳播。由于這些程序具備合法的數字簽名,用戶在運行時往往難以察覺其中的異常,從而導致非常嚴重的安全事件。
統(tǒng)計數據
通過對360云端大數據進行篩查和統(tǒng)計,我們發(fā)現了數百例在近些年活躍在網絡中的仿冒數字簽名。
仿冒簽名簽發(fā)年份
對這些仿冒數字簽名的簽發(fā)時間進行統(tǒng)計,發(fā)現2020年和2022年所簽發(fā)的仿冒數字簽名數量尤為突出。

圖3. 仿冒數字簽名簽署年份分布?
仿冒簽名頒發(fā)機構
而頒布這些仿冒簽名的機構,則集中在11家簽名機構當中。這其中更是以Sectigo、Go Daddy、SSL.com、Starfield四家機構簽發(fā)的證書數量最多。

圖4. 仿冒簽名頒發(fā)機構分布?
被冒用目標機構
與頒發(fā)機構相對的,被冒用簽名的目標機構則顯得不那么集中。但這些機構也有著一些較為明顯的共同點,其中最為明顯的就是被冒用目標機構大多是在國內外有一定影響力的互聯網或軟件公司。以下是目標機構的Top10:

圖5. 被冒用目標機構Top10?
篡改簽名時間戳的“反向操作”
此外,針對數字簽名所實施的攻擊活動中,還有一類“奇葩”案例值得額外一提。有些攻擊者除了通過各種手段對數字簽名進行仿冒外,還可能進行一種“反向操作”——即在未能成功獲取仿冒簽名的情況下謊稱自己已拿到了目標機構“泄露”的簽名證書,并以此為要挾對目標機構進行敲詐。這一操作則通常是利用了數字簽名的“時間戳”屬性。
在用戶查看文件數字簽名時,通常會注意到其中附帶的時間戳信息。這是對文件進行簽名時由第三方時間戳服務器(TSA,Time Stamping Authority)所添加的一段驗證數據,用于標識數字簽名的簽署時間。

圖6. 數字簽名的時間戳
由于時間戳由權威機構認證,通常被認為難以篡改。然而,時間戳實際上也并非絕對安全,同樣存在被篡改的可能性。這主要是由于對已簽名的文件,任何人其實都可以向認證機構申請重新添加時間戳。而認證機構在收到請求后,會返回再次申請時的時間戳并附加到文件中。
而國內也出現過用這類方法進行“招搖撞騙”的案例——謊稱掌握了廠商的證書私鑰。這里我們也提醒廠商不要因此恐慌而上當受騙。
修改時間戳的局限性
不過,對簽名時間戳的修改存在著較大的局限性。這也導致了此類操作的實際案例并不如上述的簽名冒用那樣泛濫:
局限一:時間戳的更改不會修改文件本身的簽名內容,因此無法篡改文件的核心數據。
局限二:只有已簽名的文件才能調整時間戳,未簽名的軟件無法通過這種方式進行簽名偽造。
簽名時間戳修改實例
為了更直觀地說明這一過程,以下是一個利用DigiCert對微軟的MSEdege瀏覽器重新附加時間戳的示例:

圖7. 對微軟Edge瀏覽器簽名時間戳的修改實例?
安全提醒
數字簽名的冒用攻擊是一種由來已久且難以防范的攻擊方式。證書頒發(fā)機構有自身的局限性,很難對證書申請者完成詳盡調查,從而為攻擊者提供了可乘之機。而這類仿冒證書,對一般企業(yè)、用戶來說,也幾乎不可能識別。
這些攻擊方式表明,數字簽名證書的安全性不僅僅依賴于技術手段,還需要完善的身份驗證、審查和監(jiān)管機制。
360安全大腦,利用具有優(yōu)勢的全網視野,和海量的樣本數據,能夠輕易發(fā)現這類簽名名稱相同、簽名相似、頒發(fā)機構異常等證書存在異常的樣本,能夠為用戶和廠商提供預警和監(jiān)測服務,幫助用戶應對簽名冒用問題。
使用360終端安全產品的用戶也無需擔心,360對簽名的校驗比對有一套完成的流程,不論是攻擊者導入的虛假根證書,還是這類證書頒發(fā)機構頒發(fā)的“虛假證書”都難逃360安全大腦的識別。
360安全衛(wèi)士
360殺毒
360文檔衛(wèi)士
360安全瀏覽器
360極速瀏覽器
360安全云盤
360隨身WiFi
360搜索
系統(tǒng)急救箱
重裝大師
勒索病毒救助
急救盤
高危漏洞免疫
360壓縮
驅動大師
魯大師
360換機助手
360清理大師Win10
360游戲大廳
360軟件管家
360手機衛(wèi)士
360防騷擾大師
360加固保
360貸款神器
360手機瀏覽器
360安全云盤
360免費WiFi
安全客
手機助手
安全換機
360幫幫
清理大師
省電王
360商城
360天氣
360鎖屏
手機專家
快剪輯
360影視
360娛樂
快資訊
你財富
360借條
360互助
信貸管家
360攝像機云臺AI版
360攝像機小水滴AI版
360攝像機云臺變焦版
360可視門鈴
360攝像機云臺1080p
家庭防火墻V5S增強版
家庭防火墻5Pro
家庭防火墻5SV2
家庭防火墻路由器5C
360兒童手表S1
360兒童手表8X
360兒童手表P1
360兒童手表SE5
360智能健康手表
行車記錄儀M310
行車記錄儀K600
行車記錄儀G380
360行車記錄儀G600
兒童安全座椅
360掃地機器人X90
360掃地機器人T90
360掃地機器人S7
360掃地機器人S6
360掃地機器人S5
360安全衛(wèi)士
360殺毒
360文檔衛(wèi)士
360安全瀏覽器
360極速瀏覽器
360隨身WiFi
360搜索
系統(tǒng)急救箱
重裝大師
急救盤
勒索病毒救助
360壓縮
驅動大師
魯大師
360游戲大廳
360軟件管家
360手機衛(wèi)士
360防騷擾大師
手機急救箱
360加固保
360貸款神器
360免費WiFi
安全客
手機助手
一鍵root
安全換機
360幫幫
信用衛(wèi)士
清理大師
省電王
360商城
流量衛(wèi)士
360天氣
360鎖屏
手機專家
快剪輯
360影視
360娛樂
快資訊
你財富
360借條
360手機N7
360手機N6
Pro
360手機vizza
360手機N5S
360兒童手表6C
360兒童手表6W
360兒童手表SE2代
360手表SE2Plus
360老人手表
360攝像機大眾版
360安全路由器P3
360安全路由器P2
360兒童機器人
外設產品
影音娛樂
平板電腦
二手手機
二代 美猴王版
二代
美猴王領航版
標準升級版
后視鏡版
車載電器
京公網安備 11000002000006號