果核 2020 聖誕駭樂論壇,剖析 WoW64 惡意利用、進階網路機器人攻擊

2021/01/04

猶記得一年前,果核數位精心舉辦「聖誕駭樂-駭客退散耶誕禮物」論壇,針對 IR(Incident Response)、生物辨識漏洞、API 安全等議題展開精采論述。一年後的今天,果核再次以「聖誕駭樂」為題,鎖定 WoW64 惡意利用、進階網路機器人攻擊等主題舉行駭客資安論壇。

其中第一場「WoW64 -從逆向工程到惡意利用」議程,講者是擁有十餘年 Windows 逆向工程分析經驗的馬聖豪,演講重點在於深度逆向工程 WoW64(Windows 32 on Windows 64)架構,探究 WoW64 如何做模擬、如何初始化、如何進行翻譯,及如何衍生天堂之門攻擊。

第二場議程主題為「雲端網站安全解決方案-杜絕進階網路機器人攻擊」,由聚焦研究特權資安領域超過十年的專業技術顧問陳柏榮擔網演說,詳盡剖析為何傳統防禦機制難以阻擋進階網路機器人入侵,及如何透過多層次檢測方法來扭轉頹勢,讓自己不再淪為網路機器人攻擊的受害者。

逆向工程 WoW64 架構,突破天堂之門攻擊盲點

馬聖豪指出,WoW64 是微軟設計的向下兼容架構,使 64 位元 Windows 上面能夠執行 32 位元程式。首先探討重點在於 WoW64 架構如何初始化,當你點開 32 位元程式,Explorer 會利用 CreateProcess 函數,從 Ring3 發出請求到 Kernal 層,由 Kernal 幫忙新增 Process。

接著由 Kernal 實作文件映射,把程式碼「噴」進記憶體,其中包括 wow64、wow64cpu 及 wow64win 等三個關鍵模組。wow64.dll 為翻譯機,可將 32 位元內容翻譯成 64 位元內容;wow64cpu.dll 可從 32 位元晶片架構切換為 64 位元晶片架構;wow64win.dll 則負責轉譯窗口訊息。然而執行程式被噴進動態記憶體,還無法執行,另需提供環境資訊塊,此時作業系統就幫忙創建 TEB64、TEB 32、PEB64、PEB32 等環境資訊塊。

「完成程式碼映射、有了環境資訊塊後,下一步會執行一些 nt 函數,」馬聖豪說,WoW64 先創建一個 User Process,接著產生記憶體分配、新的執行緒分配,再跳回 Userland。然後透過 ntdll.dll 裡面的各個 Thread,接續處理完成引入函數表、導出函數表等等問題,程式就執行起來了。

2012 年 ReWolf 部落格提到天堂之門攻擊手法。正常來說,32 位元函數指令 ntdll32 上面有 NtResumeThread 函數,負責把請求打進 ntdll64,再透過底下的導出函數 Interop 回到 Kernal。防毒軟體會把 Hook下在 32 位元函數頭,所以當你呼叫 32 位元函數指令時,就會被防毒軟體攔截檢測,待檢測無誤再進入 WoW64 架構執行模擬;但假使我們根本不用 32 位元函數、卻有辦法跳進 ntdll64 函數的話 (直接從 32 位元查找到想要呼叫的 64 位元函數 ID),不就可以繞過防毒軟體檢查?

微軟發現有此攻擊後,於 2012 年發佈一次更新,透過 Windows 8 新的記憶體分配方式,讓人們無法再從 32 位元直接拿到 64 位元記憶體地址。馬聖豪認為這些攻擊設計頗有缺陷,主要架構皆是從 32 位元切換成 64 位元晶片,再用 32 位元角度呼叫 64 位元指令,使用過程麻煩、也不夠穩定,只因有些指令並不允許定址跳,還是得透過翻譯機,導致你無從繞過 WoW64 架構、也躲不開主動防禦。他提出一套開源工具 wow64Jit,可適時噴一個 ntdll32 函數,讓你跳進 WoW64 架構、繞過防毒軟體的主動防禦;如果你不樂見記憶體內存在著被防毒軟體修改過的程式碼,wow64Jit 不失為簡單穩定的工具選項。

多層次檢測,力阻進階網路機器人攻勢

陳柏榮強調,現今網路攻擊不像過去,網軍不再是人、而是程式碼,經由網路機器人型態發動攻勢,染指各個網站與行動應用程式,進而釀成網站停機、數據盜竊、網站缺口、購物車囤積、帳戶盜竊,乃至體驗不佳等傷害。

「在整體網際網路流量裡頭,人為的正常流量僅佔38%,」陳柏榮說,高達 62% 比重來自網路機器人流量,其中像是搜尋引擎蜘蛛、內容整合者、網站管理員工具等「善意」機器人佔 24%,至於 DoS/DDoS 攻擊、盜竊數據、自動發佈虛假內容或評論、散播惡意廣告等「惡意」機器人佔 38%,比例竟不亞於人為正常流量,足見事態嚴重。

迄至今日,網路機器人已歷經三代進化,最早是從少數 IP 位址透過基礎腳本發送 cURL-Like 請求,第二代利用無頭瀏覽器(如 PhantomJS)並可儲存 Cookie、執行 JavaScript;到了最新一代進階網路機器人,則使用成熟瀏覽器,可在互動過程中模擬類似實際人的操作行為(如鼠標移動或鍵盤敲擊),且分散於數萬個 IP 位址。單憑以 L3/4 閥值檢查、物徵碼、驗證碼為基礎的傳統防禦機制,可說無法抵禦進階網路機器人攻擊。

應該如何是好?陳柏榮說,公有雲網站除應具備 Global CDN、Global LB、WAF、IPS、DDoS、Bots…等等完善保護機制外,還必須有兩大法寶,一是「即時報告」,可即時顯示全部流量資料與事件,另一是「機器學習」,可以準確識別並防禦新威脅;可惜大多數公有雲平台並未提供即時報告。

相形之下,Reblaze 是少數能滿足上述所有防護需求的安全方案供應商,尤其針對進階網路機器人,已提供涵括「剖析」、「初級過濾」、「動態過濾」和「行為特徵分析」的多層次檢測機制,能夠在小於 0.5 毫秒的延遲條件下,阻擋惡意流量並接收合法流量。

時值聖誕佳節前夕,果核特別選定 WoW64 惡恴利用、進階網路機器人攻擊等兩個堪稱刁鑽難防的威脅議題,並詳細剖析其來龍去脈,引導有志從事資安研究或防禦等工作的人們正視相關問題。


報導連結: 果核 2020 聖誕駭樂論壇,剖析 WoW64 惡意利用、進階網路機器人攻擊 | iThome

其他動態