后門無處不在。有芯片的,有編譯器的,有算法的,有開源管理工具的,有補丁的。有的是國家力量介入,有的是廠商遠程管理OTA的途徑,有的則是不懷好意暗中窺伺。
后門無處不在。有芯片的,有編譯器的,有算法的,有開源管理工具的,有補丁的。有的是國家力量介入,有的是廠商遠程管理OTA的途徑,有的則是不懷好意暗中窺伺。
一,芯片里的后門
1.1.Intel的2020年后門
2020年8月7日,瑞士軟件工程師 Till Kottmann 發布了英特爾內部文件被泄露的信息。據 Kottmann 的 Twitter 配圖顯示,一處源碼的注釋中有“backdoor”字樣,再次引發了對Intel芯片是否存在后門問題的關注。
相關文件中的注釋內容為“Save the RAS backdoor requeset pointer to IOH SR 17”,直譯為“將RAS后門請求集指針保存到IOH SR 17”。RAS三個字母容易被聯想到RSA算法,但安天的安全工程師從場景和經驗判斷,此處的RAS更可能是Reliability、Availability和Serviceability三個單詞的首字母,意為“可靠性、可用性、可服務性”。
“backdoor”一詞在網絡安全領域被定義為“可被用于未經授權地秘密訪問數據的計算機功能或缺陷”,其來源包括主觀惡意預設、調試接口在正式產品未關閉等情況。
但在硬件設計中,“backdoor”指的是直接對某個寄存器數值進行修改的方法,與通過總線修改的“frontdoor”方法對應,并不是安全后門。
據網友分析,本次泄露的內部文件中,原理圖指的是pinout,固件指的是二進制bin,開發調試工具包指的是給硬件廠家調試自己固件用的,這些文件本來就會提供給各個使用Intel CPU的客戶,根本不是所謂的英特爾家底。
1.2.Intel的2016年后門
歷史上Intel被無數次指證有后門有漏洞,有些確實是,但2016年的這一次應該也不是。
2016年美國自由軟件基金會(FSF)指出Intel的Management Engine(簡稱ME)程序可以完全控制用戶的電腦,它可以控制開機、關機,讀取所有開放文件、檢查所有已運行的程序、追蹤用戶的鍵盤、鼠標動作,甚至還能截屏。此外,它還有個被證明不那么安全的網絡接口,攻擊者可以通過它植入Rootkit程序或者入侵電腦。
業內人士則認為,ME被妖魔化了,它就是一個正常的遠程管理工具,問題遠遠沒有爆出的那么嚴重,ME也沒有那么神奇。
二,編譯器的后門
2.1.Xcode的2015年后門
Xcode 是蘋果公司提供的開發 Mac OS X 和 iOS 應用程序的集成開發工具(IDE)。因為直接從蘋果官方站點下載 Xcode 太慢等原因,大家會選擇從各大論壇、網盤上下載第三方提供的 Xcode 安裝包。
所以一位網名為“coderfun”(真實身份尚未查到)的有心人,在 Xcode 中加入了一段代碼,收集用戶設備上的諸多信息,包括設備型號及系統版本等,并采用加密手段,將信息回傳到 init.icloud-analysis.com(該網站已經關閉),史稱“XcodeGhost 事件”。
他的染毒 Xcode 壓縮包文件先是被發布到了 SwiftMi、CocoaChina、OSChina 等幾個論壇網站,然后又投放到了百度網盤。
當時還有人稱迅雷也被投毒。但是迅雷官方看到后立刻安排迅雷安全中心工程師對XCode6.4的官方鏈接進行下載測試,并對迅雷索引服務器上的記錄進行了交叉檢查,發現迅雷從未將蘋果官方鏈接的XCode6.4下錯為染毒的版本,而且染毒的XCode6.4文件比官方版本大了6.97MB,因此文件特征值不存在重復的可能。
2015年9月12日,國內某廠商在調試自家APP時發現它在啟動、退出時會向 init.icloud-analysis.com 發送異常的加密流量,9月14日 CNCERT 發布了這個事件的預警公告。考慮到 coderfun 需要在搜索引擎上做好 SEO,所以他至少在1年前就開始布局了。
這種直接把惡意代碼嵌入了開發工具源頭的另類傳播方式讓其在傳播廣度上獲得了非常好的效果——據騰訊安全應急響應中心的文章,至少76款蘋果應用被病毒入侵,受影響用戶超過1億。
國內一位白帽黑客接受采訪時稱,這次事件足以載入移動安全的史冊,其對蘋果開發工具感染的技巧堪與著名的伊朗鈾濃縮設備被蠕蟲損壞的震網事件相提并論。震網事件由于西門子工業開發集成工具WinCC中被入侵者感染了惡意代碼,使與WinCC連接的工業控制系統被間接感染,最后導致了大量伊朗核工業設備物理損壞。
2.2.C編譯器里的后門
在編譯器插入一段代碼,使其在編譯時自我復制,像新冠病毒傳染一樣感染所有編譯打包出來的程序。XcodeGhost 本質上就是這么一個原理。但這個技巧的鼻祖是一位老先生 Ken Thompson(1943年生人),他因為發明了 Unix 操作系統和 C 語言,與 Dennis M. Riche 一起在1983年獲得了圖靈獎。
在 Thompson 發表獲獎感言的時候,他拋出了一個問題:
看到了軟件的源碼,就意味著沒有后門嗎?編譯器是否可能存在能自我復制的后門呢?
他講了這么一個故事:
安裝了 UNIX 的 PDP-11 電腦在貝爾實驗室里供大家日常使用。
但很快大家就發現 Ken Thompson 總能進入他們的帳戶,獲得最高權限。
貝爾實驗室里的科學家都心比天高,當然被搞得郁悶無比。
于是有高手怒了,跳出來分析了 UNIX 代碼,找到后門,修改代碼,然后重新編譯了整個 UNIX。
就在大家都以為“這個世界清凈了”的時候,他們發現 Ken Thompson 還是輕而易舉地拿到他們的帳戶權限,百思不解后,只好繼續郁悶。
誰知道這一郁悶,就郁悶了14年,直到 Ken Thompson 這次道出個中緣由。
原來,代碼里的確有后門,但后門不在 Unix 代碼里,而在編譯 Unix 代碼的 C 編譯器里。
每次 C 編譯器編譯 UNIX 的代碼,就自動生成后門代碼。
而整個貝爾實驗室的人都用 Ken Thompson 的 C 編譯器。
2.3.Javascript壓縮的后門
一位安全研究員發表報告,利用存在bug的 CLANG 編譯器,在編譯時間植入提權后門漏洞,創造一個人人能獲得 root 權限的后門版 sudo。受此啟發,Lets encrypt 項目的女工程師 Yan 在2015年公布了一個概念驗證代碼,可以利用 JS 壓縮器的 bug 植入后門。她注意到,利用流行的 JS 壓縮器(uglify-js@2.4.23)的 bug,為 jQuery 程序植入后門是可能的。
三,管理工具的后門
3.1.Putty/WinSCP
2013年有多名Linux服務器管理員爆出服務器被惡意攻擊,導致系統root密碼泄漏以及資料泄漏,經查可能是由于內置后門的 PuTTY 和 WinSCP 工具所致。
PuTTY是知名的Windows開源SSH管理工具,WinSCP是常用的開源SFTP工具。其中PuTTY從來沒有官方中文版,而WinSCP已經擁有官方中文版。
很多站長對此作了風險提示:中文版 Putty、WinSCP、SSH Secure 可能有后門,有人在上述管理軟件中加了后門,制作單獨的網站,然后在百度進行推廣。
3.2.XShell里的后門
2017年一款主流的遠程終端軟件 XShell 的官方版本中被打包了惡意代碼,運行此版本軟件后,受害者電腦上會被植入后門,存在被不法分子遠程控制,導致個人信息遭竊的風險。黑客似乎入侵了 XShell 開發人員的電腦,在源碼中植入后門,導致官方版本受到影響,由于dll文件有官方簽名,眾多殺毒軟件依據白名單機制沒有報毒。
同時該軟件制作方NetSarang發布安全公告,稱其最近更新(2017年7月18日)的Xmanager Enterprise、Xmanager、XShell、Xftp、Xlpd五款軟件存在安全漏洞,官方已于2017年8月5日緊急修復。它的升級提示很有意思:提示修復了 nssock2.dll 的一個遠程漏洞。

圖3 騰訊安全繪制的XShell后門作惡過程
整個作惡過程分為3部分,第一部分是被patch的XShell啟動后,執行到惡意的shellcode1。shellcode1解密后續數據后,執行該段代碼shellcode2。第二部分shellcode2運行后會判斷注冊表項,如果不存在Data鍵值,則會收集用戶信息,通過DNS 協議傳走,并獲取云端配置數據寫回到注冊表。第三部分,如果注冊表項中有該鍵值,則會開始執行后續的惡意行為,通過注冊表中的key來解密出shellcode3,最終會創建svchost進程,并盜取主機信息。
四,操作系統的后門
4.1.Linux
2003年,有人試圖在Linux內核的源代碼中提交一個隱蔽的后門。這個人僅僅改動了兩行代碼,非常不起眼,但能夠使得攻擊者給一個特定進程root權限。幸運的是,這個代碼改動被自動代碼審計工具發現后被Linus Torvalds去除了。人們猜測,添加代碼的人可能就是來自美國國家安全局(National Security Agency,簡寫為NSA),因為NSA曾經試圖讓Linus Torvalds在內核代碼中加入后門。
那是2013年LinuxCon大會上,有人問Linus Torvalds這樣一個問題:
他的父親Nils Torvalds 后來這樣形容他兒子的回答:
當時他口中回答“No”,但同時卻在點頭。我的兒子有某種程度上的法律自由,他已經給出了正確的回答。
4.2.Windows NT
1999年安全研究人員在Windows NT 4 Service Pack 5中發現一個名為_NSAKEY的變量,這是一個1024位的公鑰。人們懷疑微軟為NSA提供了一些形式的后門,使得NSA能夠訪問Windows的一些加密數據甚至操作Windows本身。從那時起,關于微軟產品存在后門的懷疑就一直存在。
五,算法的后門
5.1.RSA
Dual_EC_DRBG(雙橢圓確定性隨機數生成器)是美國國家標準與技術研究院(National Institute of Standards and Technology,NIST)制定的一個標準,這里面存在一個很隱蔽的缺陷使得攻擊者能夠解密數據。
在斯諾登揭密之后,人們才知道這個后門的存在,知道了NSA通過干預標準的制定來達到在算法中植入后門的方式。NIST隨后撤銷了這個標準。
5.2.Crypto
讓人吃驚的是,Crypto AG幕后老板竟是中央情報局(CIA)以及德國聯邦情報局(BND),這兩個機構對Crypto動了手腳。
《華盛頓郵報》表示,中情局內部有這個最高機密計劃的檔案,其中點名了監督此項行動的中情局高層,以及負責執行的Crypto主管。其實 Crypto 早就為人所懷疑,數十年前的文件即有影射,但從未獲得證實。報道也指出,盡管使用 Crypto 產品的國家不少,但西方的最大敵人,包括俄羅斯和中國,卻從來都不是 Crypto 的客戶。
六,補丁里的后門
供應鏈攻擊是APT(Advanced Persistent Threat,高級持續性威脅)攻擊中常用的攻擊方式,當網絡釣魚和滲透入侵無法攻破目標防御系統時,攻擊者可能會傾向于使用供應鏈污染的方式去尋找其供應鏈環節中的薄弱點進行曲線攻擊。
6.1.華碩的ShadowHammer事件
2019年3月,Kaspersky實驗室稱,全球最大的計算機制造商之一華碩在去年遭到了入侵,攻擊者劫持了華碩的實時軟件更新服務器,在無人知曉的情況下在數千名客戶的計算機上安裝了惡意后門。主流安全廠商認為黑客籌備的攻擊時間大約在2018年6月左右。
Kaspersky實驗室表示,這些惡意文件經過了華碩數字證書的合法簽名,所以看起來與該公司的軟件更新并沒有差別。
雖然這意味著使用受影響軟件的每個用戶都可能成為受害者,但ShadowHammer幕后的攻擊者似乎只關注獲得幾百個他們之前已了解的用戶的設備訪問權。他們發現,每個后門程序的代碼中都包含一個硬編碼MAC地址表,而MAC地址則是網絡適配器的唯一識別標識符,用戶將計算機連接到網絡。一旦后門程序在受害者設備上運行,后門程序會將設備的MAC地址與地址表中的Mac地址進行比較。如果受感染設備的MAC地址與地址表中的地址匹配,惡意軟件會下載下一步驟的惡意代碼。否則,包含惡意代碼的更新程序不會有任何網絡行為,這就是為什么這種惡意攻擊行動能夠維持這么長時間不被發現的原因。Kaspersky安全專家共發現了超過600個MAC地址。這些受感染設備遭到超過230個不同的后門程序樣本的攻擊。
圖6 ShadowHammer的攻擊流程(引用自Kaspersky報告)
6.2.華碩的Plead事件
2019年5月,Eset的安全研究人員報告,黑客組織BlackTech(黑鳳梨)在中國臺灣通過中間人攻擊(即“MITM攻擊”)部署了Plead惡意軟件。該組織被曝一直在利用華碩WebStorage軟件的漏洞來上傳繞過身份驗證的惡意軟件,該組織主要針對亞洲政府和公司。
Eset 的研究人員認為這是路由器級別的中間人攻擊,攻擊者利用了用戶 PC 和華碩服務器之間的不安全 HTTP 連接,以及利用了不完整的代碼簽名去驗證所接收文件的真實性。
圖7 BlackTech的攻擊流程(引用自ESET)
-EOF-