同时给出常用软件Photoshop CS3的漏洞测试截图(图5)。 ![]() 新型 DLL 劫持漏洞造成的影响比老式DLL劫持漏洞更广泛,而面对如此严重的漏洞,微 软没有提供有效的免疫方案可以使用,只能靠使用者小心为妙了。 三、应对DLL 劫持 DLL 劫持利用系统未知DLL的搜索路径方式,使得程序加载当前目录下的系统同名DLL。 所以可以首先告诉系统DLL的位置,改变加载系统DLL 的顺序不是当前目录,而是直接到系 统目录下查找。这个想法可以通过修改注册表实现。键值 “ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs” 是调用系统DLL 的首要查找目录。例如里面有RE_SZ类型的“ntdll” =“ntdll.dll”项,则系统载入“ntdll”时会直接从系统目录加载。因此,添加“usp10” = “usp10.dll”即可防止USP10.DLL被劫持,同理可以阻止一些其他DLL 被劫持。在 Windows XP 系统下默认只有少数关键 DLL 在此键值中,Windows7 下面此键值已经相当齐全,在 Windows7系统下发生DLL劫持的概率要比XP小很多,因此可以考虑升级操作系统到Windows 7。 对于新型DLL 劫持,因为没有十分有效的应对方式,所以用户要养成运行文档(图片、 音乐、视频、网页文件等)前检查目录下文件的习惯,开启显示隐藏文件和显示系统文件选 项,防止通过应用程序加载恶意DLL。 本文通过USP10.DLL病毒引入了DLL劫持漏洞的概念,从原理上分析漏洞形成的原因、 利用方法和解决方案。希望对从事相关工作的战友有所帮助。 |