TeamT5 資安工程師 Peter Syu (左) 與奧義智慧資深資安研究員林殿智

有鑒於惡意後門、車載資安等事件頻傳,無論企業或個人都深受其害。果核數位於是將2023秋季Hacker Talk論壇主題設定在此,力邀資深資安專家剖析箇中來龍去脈,並給予偵測和防護建議。

抽絲剝繭,揭開Nginx注入後門的真相

率先開講的TeamT5資安工程師Peter Syu,以「追蹤攻擊中基於Nginx的無檔案注入後門」為題進行演說。

他指出,近期在執行資安事件調查任務時,發現一個特別的Nginx後門程式,以注入作為攻擊媒介,迥異於常見的Nginx後門態樣,值得一探究竟,而他把惡意程式命名為NginxStealth與NginxSpy。

當下情況是,Peter與同仁在一台Ubuntu伺服器中發現可疑活動,有不明Nginx程式在執行, 但查找Access Log,卻查無任何可疑紀錄,相反地在一些Debug Log看到可疑現象,研判攻擊者試圖透過Base64字串進行Decode,之後在Temp目錄創建一個.xz壓縮檔,從中解壓縮其他3個惡意程式,包括00000000-hot.bak檔案(CVE-2021-4034)、Log清除工具,以及一個.bak、負責把其他惡意程式注入Cron處理程序,此後Nginx Injector再去尋找Nginx Process,將NginxSpy注入Nginx Master Process,同時把NginxStealth注入到Nginx Worker Process。

NginxStealth是一個可以Hook Nginx物件的惡意程式;另外NginxSpy是一個後門,會監聽NginxStealth傳來的封包,且以Root權限執行。

所謂Nginx為一支開源軟體,在1.9.1版本增加對Dynamic Module的 Load功能,意謂駭客可藉此動態載入惡意模組,而不需將此模組編譯到Nginx主程式。

其特別之處,在於NginxStealth會去Hook Nginx裡的物件,然後過濾特定連線,意在躲避Logging機制,協助攻擊者從記憶體注入完整函式庫,悄無聲息地從事任何惡意行為,也能輕易繞過EDR或防毒偵測。

這個Nginx Injector注入手法,主要啟用一個ELF Application Loader,簡言之就是駭客製作一個Loader,把他要的函數載入記憶體。這個Injector會先挑選一個常駐程式,例如這次事件所用的cron.d。具體來說,它會先將mmap這個Function Code寫進cron.d,接著在mmap後面呼叫INT3、讓Injector利用Wait來等待執行,然後Injector便藉由Ptrace呼叫cron.d裡的mmap,開啟兩段空間塞入惡意SO Library和一段Shellcode;至此Injector完成任務,後續事情交由Shellcode執行。

至於如何進行偵測?唯一方法就是在Memory Maps裡察看可疑空間,為此Peter寫了一支Nginx Check模組,其實是從其中一個後門修改而成,但它沒有後門功能,僅做列舉檢查,負責列舉那些NginxStealth去Hook的位置。

若你要編譯此Nginx Check Module,可以用with-compat參數,編完後便在Nginx Corn檔案裡執行Load Module。

假使你只有一個Nginx Process,可利用 Nginx-S Reload,讓它載入整個Config,如此就不會讓Connection斷掉,順利完成Load Module。萬一啟動很多Nginx Woker Process,就不適用Nginx-S Reload,只因為它會重啟整個Worker Process,導致原本注入的東西不見,此時推薦使用GDB Attach到Woker File,借助Peter提供的Script,列出整個Check和Handler的記憶體位置。

遵循法規,求取車載應用與風險平衡點

接下來由奧義智慧資深資安研究員林殿智登場,闡述車載安全攻擊面分析。

林殿智表示,隨著自動駕駛發展,凸顯AI可帶來諸多優勢,但也可能會被惡意使用、破壞自駕車運作,足見現今車載安全面臨莫大挑戰。

根據近年Upstream做的車載資安漏洞統計, 可見2019~2020一年頂多30幾個,但是在2022年暴增6、7倍之多,且多屬於高風險或危險程度。另外分析 2022 年度資安事件發起者,以前大部分為白帽駭客做的資安研究,但近年情況有變,黑帽駭客攻擊事件的比重高漲,顯示駭客從事車載相關攻擊可說越來越普遍。

接著探討車載安全攻擊面。由於現在車載應用日趨廣泛,不只像是一支手機連結雲端服務,車輛本身也提供多元服務,所以它既是Client也是Server,導致攻擊面非常廣。首先談到Remote Keyless系統,大家深知若是不安全的無線鑰匙,發送的訊號可能遭人盜錄、執行重放攻擊;如今駭客已知車商採取Challenge-Response反制措施,因而改採中繼攻擊,有一人躲在車主的鑰匙旁邊接收訊號,再傳送給遠端位在車子旁邊的同夥,照樣完成竊車動作。

往汽車內部網路的攻擊包括利用在車內聯網設備上的對外服務中找漏洞,再透過車子內部的連網介面,俟機發動CAN bus注入攻擊。此外也包括一些破解軟體限制進行改車 Tuning 的行為。

此外OEM廠提供一些雲端加值服務,可能衍生對應的攻擊面,例如API的權限驗證設計不良,攻擊者即可直接透過開在雲上的API,對車輛進行非法監控或控制。像是自動駕駛也有一些專屬攻擊,意即攻擊者擅於挖掘AI盲點,進而做到物件消除,造成影像辨識失靈,甚至做到一些像是Control Takeover的干擾行為。至於充電樁也有對應攻擊行徑,譬如中斷充電過程、破解收費機制,甚或釀成隱私洩漏的攻擊情境。

關於林林總總的Attack Vector,Upstream也進行一番統計,其實針對雲端Servers攻擊的情境占最大宗;其次是Remote Keyless Entry系統。此外像是以4G、5G、Wi-Fi為入侵管道,一路打到汽車內部控制系統,乃至針對ECU、Head Unit、Infotainment System或Bluetooth進行攻擊,都值得留意。

為避免憾事發生,有一些法規嘗試調整過往的破口,如ISO 15118強調充電樁在資訊交換時,不能僅單純使用VIN碼如此易竄改的依據,應採用憑證交換機制。

另外針對車廠設計車子的初期未評估風險,後續也無法即時修補漏洞,聯合國歐洲經濟委員會(UNECE)世界車輛法規協調論壇(WP29)便制定R155、R156兩項法規,前者要求車子在出廠前必須評估風險,了解可能遭受的攻擊面,並建構持續監控的系統;後者要求車子須有安全更新管道,隨時可對車輛更新修補。

總結來說,在科技進步與資安意識之間必須求取平衡,莫要資安問題嚴重便阻礙科技進步,也不要一味發展科技而遺忘資安。

熱門新聞

Advertisement