一位安全研究人員上個月發(fā)布了概念驗證代碼,該漏洞利用可以繞過Microsoft內(nèi)核補(bǔ)丁程序保護(hù)(KPP)安全功能(通常稱為PatchGuard)。
名為ByePg,這是繼今年7月披露的InfinityHook之后,過去六個月內(nèi)第二次發(fā)現(xiàn)并公開披露的Patchguard繞過。
什么是MICROSOFT PATCHGUARD
Microsoft PatchGuard是2005年在Windows XP中引入的一項安全功能。它僅適用于64位版本的Microsoft Windows,其作用是防止應(yīng)用程序修補(bǔ)內(nèi)核。
修補(bǔ)內(nèi)核是一個技術(shù)術(shù)語,是指使用未經(jīng)授權(quán)的代碼修改操作系統(tǒng)最重要的組件(將命令從應(yīng)用程序中繼到底層硬件)。
在PatchGuard發(fā)行之前,許多應(yīng)用程序都具有修改Windows內(nèi)核的自由,因此它們可以更輕松地完成工作或訪問敏感功能。防病毒軟件,陰暗的驅(qū)動程序,游戲作弊軟件和惡意軟件通常會出于自身不同的目的而使用內(nèi)核補(bǔ)丁。
Rootkit開發(fā)人員是內(nèi)核修補(bǔ)的最大支持者之一,他們使用該技術(shù)將其惡意軟件嵌入到操作系統(tǒng)級別,從而可以不受限制地訪問所有用戶的計算機(jī)。
最初,PatchGuard并不是微軟所希望的巨大成功,并且在2010年代末期發(fā)現(xiàn)了一些繞過的漏洞,微軟最終對其進(jìn)行了修補(bǔ)。
PatchGuard并未自行殺死Rootkit,但Rootkit最終消失了,尤其是在Windows 10推出之后,該功能與PatchGuard一起具有附加的安全功能。
PATCHGUARD旁路
但是,即使PatchGuard在Windows不斷增加的安全功能層中倒退,安全研究人員仍繼續(xù)努力探索其內(nèi)部機(jī)制,尋找繞過其提供的保護(hù)的新方法。
在Windows 10于2015年發(fā)布之后,所有PatchGuard繞過中最引人注目的是GhostHook,這是Cyber??Ark研究人員于2017年發(fā)現(xiàn)的。GhostHook濫用了英特爾處理器跟蹤(PT)功能來繞過PatchGuard并修補(bǔ)內(nèi)核。
七月的夏天,又發(fā)現(xiàn)了第二條旁路。由Riot Games的反作弊專家Nick Peterson發(fā)現(xiàn),此旁路名為InfinityHook,并濫用了NtTraceEvent API修補(bǔ)內(nèi)核。
彼得森在描述當(dāng)時的繞行技術(shù)時說:“ InfinityHook有望成為過去十年Rootkit軍火庫中最好的工具之一。”
上個月,公開了第三個PatchGuard繞過技術(shù);這次是由土耳其軟件開發(fā)商CanBölük設(shè)計的。名為ByePg的漏洞利用程序劫持了HalPrivateDispatchTable,以允許流氓應(yīng)用對內(nèi)核進(jìn)行修補(bǔ)。
就像彼得森在描述ByePg時一樣,Bölük曾說過:“ [ByePg]的武器化潛力僅受您的創(chuàng)造力限制。”
ByePG被認(rèn)為更加危險,因為它可以繞過PatchGuard和Hypervisor保護(hù)的代碼完整性(HVCI),該功能使Microsoft可以將用戶設(shè)備上的錯誤驅(qū)動程序列入黑名單。
在微軟拒絕修復(fù)該問題之后,Cyber??Ark,Peterson和Bölük這三個公司均通過各自的PatchGuard繞過公開發(fā)行。
爭議
微軟在這三種情況下的反應(yīng)都是相同的。這三個漏洞都需要管理員權(quán)限才能運(yùn)行,這意味著它們不能被歸類為安全問題。
操作系統(tǒng)制造商認(rèn)為,一旦攻擊者可以使用管理員權(quán)限訪問本地系統(tǒng),他們就可以執(zhí)行所需的任何操作。從技術(shù)上講,它們是正確的,但也是錯誤的。盡管這種解釋可能對其他任何攻擊媒介都是正確的,但對于PatchGuard無效,PatchGuard是一種旨在保護(hù)內(nèi)核甚至免受高特權(quán)進(jìn)程(例如驅(qū)動程序或防病毒應(yīng)用程序)保護(hù)的系統(tǒng)。研究人員認(rèn)為,這是PatchGuard的唯一目的。
他們還說,當(dāng)今,攻擊者提升特權(quán)然后運(yùn)行InfinityHook或新的ByePg之類的東西來在內(nèi)核本身中建立永久立足點,并為在Windows 10上返回rootkit敞開大門是很簡單的。與XP,Vista和7等較舊的Windows版本相比,感染數(shù)量還沒有真正增加。
當(dāng)這位記者在2017年與微軟聯(lián)系時,這家操作系統(tǒng)制造商表示他們并沒有忽略這個問題,但他們只是沒有將其視為安全漏洞。
在Microsoft,安全漏洞會立即得到修復(fù),并通過每月的“星期二補(bǔ)丁程序”流程交付補(bǔ)丁程序。另一方面,錯誤每兩年修正一次。
值得稱贊的是,微軟在2017年末對GhostHook進(jìn)行了補(bǔ)丁,但沒人知道它發(fā)生了幾周。9月的Windows Insider版本中還提供了InfinityHook的補(bǔ)丁程序,該補(bǔ)丁很可能包含在本月初發(fā)布的Windows 10 v1909中。
您會獲得CVE!然后,您獲得CVE!并且*您*獲得CVE!哦,抱歉@nickeverdox沒有適合您的CVE。#UnfinityHook pic.twitter.com/egdUesU23B
-Alex Ionescu(@aionescu)2019年9月5日
ByePG仍未打補(bǔ)丁,Bölük和他之前的其他安全研究人員一樣,現(xiàn)在感覺到他的研究工作被拒絕了。
研究人員在一次私人對話中告訴ZDNet,他了解Microsoft的漏洞賞金計劃的規(guī)則,而且他沒有資格獲得金錢支付。但是,他認(rèn)為Microsoft輕描淡寫了這些漏洞的嚴(yán)重性,并不必要地延遲了補(bǔ)丁程序,從而為可能的攻擊打開了方便之門。
規(guī)則不會改變
通過與Microsoft公共關(guān)系人員的互動,我們知道我們無法直接回答問題,因此我們聯(lián)系了Microsoft員工,該員工是公司Bug程序的一部分,并對其陳述保密。
員工將PatchGuard繞過問題描述為公司程序規(guī)則中的技術(shù)漏洞,但微軟員工并沒有例外。
雖然“ 管理員到內(nèi)核不是安全邊界 ”的規(guī)則明確指出,以管理特權(quán)運(yùn)行的漏洞利用不計入公司的Bug獎勵計劃,但他還了解到,這尤其是PatchGuard的一個大問題。
但是,我們的消息來源希望非常清楚地指出,這些問題不會被忽略,繞過PatchGuard或公司的任何其他安全功能的確會引起Microsoft的注意。
這三個PatchGuard繞過程序可能未獲得“安全性錯誤”分類,但它們最終僅由另一個團(tuán)隊以較慢的速度進(jìn)行了修復(fù)。
微軟員工告訴我們,這種分類是錯誤而不是安全缺陷,通常是使99%的研究人員報告這些問題的。
他說,大多數(shù)安全研究人員都知道微軟的漏洞賞金計劃具有規(guī)則,他們沒有資格獲得現(xiàn)金獎勵,但是大多數(shù)人都對他們的工作(在許多情況下花費(fèi)了幾個月的時間)感到不滿,沒有得到微軟的公開認(rèn)可。 ,完全沒有。
此外,他們發(fā)現(xiàn)的錯誤也不會獲得CVE號-一個有效漏洞的標(biāo)識碼,許多研究人員將其收集并標(biāo)榜為獎杯。
他說,這就是為什么許多研究人員公開其工作細(xì)節(jié)以及概念驗證代碼的原因,可以很容易地將其武器化。我們的消息來源告訴我們,他這樣做既不怪研究人員,也不怪他的同事,因為有時候這是在沒有微軟點頭的情況下展示他們的逆向工程和捕獵人才的唯一方法。