圖片來源: 

微軟

微軟昨(9)日宣布為Windows 10新增安全工具Kernel Data Protection(KDP),防止惡意程式毁損Windows核心資料。

隨著作業系統加入程式碼完整性(Code Integrity,CI)、控制流程防護(Control Process Guard,CPG)來防止記憶體毁損,讓攻擊者開始將目標轉向攻擊核心資料。愈來愈多惡意程式作者使用資料毁損手法來破壞系統安全政策、權限升級、竄改安全憑證,或修改「一次初始化」的資料結構。

為此微軟釋出了核心資料防護(Kernel Data Protection,KDP),旨在透過虛擬化安全來保護部份Windows核心和驅動程式。KDP是一組API,可將部份核心記憶體標示為唯讀以防止惡意程式修改。例如攻擊者利用簽章過但有漏洞的驅動程式來攻擊政策資料結構,藉此安裝未簽章的惡意驅動程式,KDP即可防止資料結構被修改。

將Windows核心記憶體標示為唯讀,可以衍生出許多實作,像是電玩的反作弊方案,或數位版權管理(DRM)。除了安全性之外,還有其他好處。首先它可以減輕驗證元件的作業負擔,不需再定期驗證資料變數,因而可提升效能。KDP還利於診斷記憶體毁損的bug,提升系統穩定性。最後,它還能提升驅動程式的相容性。

不過不是所有Windows 10用戶現在都能享有KDP,因為它使用了Secured-core PC內建的隔離和基本信任技術。在Windows 10上KDP又可實作成靜態和動態。靜態KDP可形成以核心模型執行的軟體,保護它的映像檔不被竄改,動態KDP則協助核心模式的軟體從「安全記憶體池」中分配並釋出唯讀記憶體。這兩種KDP實作都仰賴Windows 10 hypervisor的第二層位址轉譯(Second Level Address Translation,SLAT)功能,兩種KDP實作已經加入到最新的Windows 10 Insider Build中,可用來保護executable pages以外的記憶體。

微軟也提供KDP實作到CI、程式碼完整性引擎,以及Defender System Guard runtime 驗證引擎的範例,也鼓勵驅動程式開發商加入KDP實作。

這是微軟為Windows 10加入的最新安全技術。今年5月微軟為Windows 10 May 2020 Update加入偵測及防堵垃圾程式的新功能。去年秋天該公司則推出Tamper Protection,可防止惡意程式關閉防毒軟體Windows Defender Antivirus。


Advertisement

更多 iThome相關內容