【国际资讯】Windows内核bug阻止安全软件识别恶意软件

http://p0.qhimg.com/t016bffdc402c8ce067.jpg

翻译:360代码卫士

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿

简介

恶意软件开发人员能利用Windows内核中的一个编程错误阻止安全软件识别恶意模块是否在运行时已加载以及何时加载。

这个bug影响PsSetLoadImageNotifyRoutine。它是一些安全解决方案用于识别代码何时被加载到内核或用户空间的低层机制之一。问题在于攻击者能利用这个bug,导致PsSetLoadImageNotifyRoutine返回一个无效的模块名称,从而将恶意软件伪装成一个合法操作。


影响近17年发布的所有Windows版本

今年年初,来自enSilo公司的研究人员Omri Misgav在分析Windows内核代码时发现了这个问题。他指出这个bug影响自Windows 2000后发布的所有Windows版本

Misgav开展的测试显示,最近推出的Windows 10也存在这个编程错误

微软推出PsSetLoadImageNotifyRoutine通知机制的目的是从编程上通知app开发人员关于新注册驱动的信息。由于系统还能检测出PE镜像是何时加载到虚拟内存中的,因此该机制还集成杀毒软件以检测到某些恶意操作类型。


微软并不认为是安全问题

目前最大的问题就是,安全软件依靠这种方法来检测某些恶意操作类型。

Misgav通过邮件表示,“我们并不会测试任何一款具体的安全软件。我们了解到一些厂商使用这个机制,然而目前我们无法说明使用默认的PsSetLoadImageNotifyRoutine 信息是否会以及如何会影响到他们。”Misgav还指出在今年年初就曾联系MSRC(微软安全响应中心),但后者并不认为它是安全问题。他还表示,从网上找到的一些引用说明这个bug在某种程度上是已知的,但直到现在才说明了这个bug的根因和全部含义。

若需获知技术细节,请参见《PsSetLoadImageNotifyRoutine是如何运转的》以及该bug如何修改自己正常的且假定的行为。

(完)