微軟本周宣布了內(nèi)核數(shù)據(jù)保護(hù)(KDP)技術(shù),旨在保護(hù)Windows內(nèi)核和驅(qū)動(dòng)程序免受數(shù)據(jù)損壞攻擊。
此類攻擊可能導(dǎo)致對(duì)系統(tǒng)安全策略的修改,特權(quán)升級(jí)和安全證明篡改等,并且Microsoft的KDP旨在通過(guò)基于虛擬化的安全性(VBS)來(lái)防止這些攻擊。
KDP包含一組API,通過(guò)這些API,某些內(nèi)核內(nèi)存被標(biāo)記為只讀且無(wú)法修改。例如,通過(guò)防止篡改策略數(shù)據(jù)結(jié)構(gòu),KDP可以緩解在系統(tǒng)上安裝了未經(jīng)簽名的惡意驅(qū)動(dòng)程序的攻擊。
將內(nèi)核內(nèi)存設(shè)置為只讀可以用來(lái)減輕對(duì)Windows內(nèi)核,安全產(chǎn)品,收件箱組件和第三方驅(qū)動(dòng)程序的攻擊,還可以提高性能和可靠性,同時(shí)推動(dòng)采用基于虛擬化的安全性。
KDP建立在安全核心PC默認(rèn)包含的技術(shù)的基礎(chǔ)上,并為配置數(shù)據(jù)添加了另一層保護(hù)。
在Windows 10中,KDP分兩部分實(shí)現(xiàn),即靜態(tài)KDP(其中以內(nèi)核模式運(yùn)行的軟件可以保護(hù)其自身映像的一部分)和動(dòng)態(tài)KDP(其中,內(nèi)核模式軟件可以“分配和釋放只讀存儲(chǔ)器中的只讀內(nèi)存”)。 “安全池”,微軟說(shuō)。
最新的Windows 10 Insider Build中已包含KDP(動(dòng)態(tài)和靜態(tài)),它們不能與可執(zhí)行頁(yè)面一起使用,因?yàn)閷?duì)這些頁(yè)面的保護(hù)由系統(tǒng)管理程序保護(hù)的代碼完整性(HVCI)提供。
“靜態(tài)KDP和動(dòng)態(tài)KDP都依賴于虛擬機(jī)管理程序中受SLAT [第二級(jí)地址轉(zhuǎn)換]保護(hù)的物理內(nèi)存。當(dāng)處理器支持SLAT時(shí),它將使用另一層進(jìn)行內(nèi)存地址轉(zhuǎn)換!
微軟還透露,該技術(shù)已在Windows Defender System Guard中實(shí)現(xiàn),它可以確保證明代理與證明驅(qū)動(dòng)程序之間以及在Windows中的代碼完整性引擎Cl.dll中存在單個(gè)活動(dòng)連接,以保護(hù)內(nèi)部初始化后的策略狀態(tài)。
“這些只是幾個(gè)實(shí)例,這些內(nèi)容對(duì)于將內(nèi)核和驅(qū)動(dòng)程序內(nèi)存保護(hù)為只讀對(duì)系統(tǒng)的安全性和完整性很有用。隨著KDP被更廣泛地采用,我們希望能夠擴(kuò)大保護(hù)范圍,因?yàn)槲覀兿M軌蚋鼜V泛地防止數(shù)據(jù)損壞攻擊!