Ring0 Rootkit-在 Windows Kernel 與病毒共存
防毒軟體需要保護自己的行程不輕易被惡意程式關閉。由於 PatchGuard 的關係,在 64 位元的 Windows XP 和 Windows Server 2003 後無法進行內核鉤子等操作。取而代之的是微軟提供的 ObRegisterCallbacks 等機制,可以在程式對行程與執行緒操作時進行偵測、阻擋。
攻擊者也需要避免惡意程式被防毒軟體偵測。若攻擊者成功取得內核的執行權時,除了想辦法繞過,也能癱瘓防毒軟體的功能。為了讓惡意程式更隱密,與其把防毒軟體關閉,不如使它功能失效,甚至讓防毒軟體自身來執行惡意程式。
本議程將介紹防毒軟體是如何實作自我保護,而攻擊者可以如何在不被 PatchGuard 偵測與穩定執行的前提下攻破這層保護,並且搭配 Ring0 後門讓惡意程式的行蹤更難以被發覺。
Zeze
目前在 TeamT5 擔任實習生,同時是 NTU DCNS Lab 研究生。曾擔任國立交通大學網路安全策進會社長,並且為 BambooFox、⚔️TSJ⚔️ CTF 戰隊成員。專注於研究 Windows 系統攻防與惡意程式分析。