Pedestal Software的完整性保护驱动(IPD)是一款开放源代码设备驱动,设计用于禁止新服务和驱动安装,防止已经存在的驱动被篡改。 Pedestal Software IPD对符号链接处理不正确,本地攻击者可以利用这个漏洞绕过保护,使用恶意文件覆盖驱动文件。 为了防止恶意模块装载到内核中,IPD对winnt/system32/drivers目录进行保护,因此不能修改此目录中的任意文件,这通过使用ZwCreatFile()和ZwOpenFile()函数完成,并使用字符串对比检查文件路径。 但是,使用NtCreateSymbolicLinkObject()函数,攻击者可以欺骗IPD,通过建立符号链接相关某个目录到IPD保护的目录(如winnt/system32/drivers),就可以绕过IPD保护,通过新的符号链接访问驱动目录。
Pedestal Software的完整性保护驱动(IPD)是一款开放源代码设备驱动,设计用于禁止新服务和驱动安装,防止已经存在的驱动被篡改。 Pedestal Software IPD对符号链接处理不正确,本地攻击者可以利用这个漏洞绕过保护,使用恶意文件覆盖驱动文件。 为了防止恶意模块装载到内核中,IPD对winnt/system32/drivers目录进行保护,因此不能修改此目录中的任意文件,这通过使用ZwCreatFile()和ZwOpenFile()函数完成,并使用字符串对比检查文件路径。 但是,使用NtCreateSymbolicLinkObject()函数,攻击者可以欺骗IPD,通过建立符号链接相关某个目录到IPD保护的目录(如winnt/system32/drivers),就可以绕过IPD保护,通过新的符号链接访问驱动目录。