集团新闻

    2017欧洲黑帽大会(Black Hat Europe 2017)在伦敦如火如荼地举行。伦敦当地时间127日,网络安全公司enSilo两名研究人员介绍了一种名为“Process Doppelgänging”的新型代码注入技术。这种新型技术可针对所有Windows版本发起攻击。研究人员表示,这种技术可以帮助病毒散播者绕过大部分现今的反病毒方案和取证工具。

    Process DoppelgängingProcess Hollowing技术类似,不同之处在于前者通过攻击Windows NTFS运作机制和一个来自Windows进程载入器中的过时的应用。

    Process Hollowing是现代恶意软件常用的一种进程创建技术,虽然使用任务管理器之类的工具查看时,这些进程看起来合法,但该进程的代码实际上已被恶意内容替代。

    Process Doppelgänging同时利用两种不同的关键功能,以此掩盖已修改可执行文件的加载进程。研究人员使用NTFS事务修改实际上不会写入到磁盘的可执行文件,之后使用未公开的进程加载机制实现详情来加载已修改的可执行文件,但不会在回滚已修改可执行文件前执行该操作,其结果是从已修改的可执行文件创建进程,而杀毒软件的安全机制检测不到。

    “Process Doppelgänging”可绕过大多数防病毒软件

    研究人员表示,利用Process Doppelgänging”的恶意代码不会保存到磁盘(也就是所谓的无文件攻击),因此大多数主流安全产品无法检测到。

    “Process Doppelgänging”属于无文件攻击

    enSilo研究人员塔尔·利博曼和尤金·科根表示,这项技术旨在允许恶意软件通过看似合法的进程在目标设备上运行任意代码(包括恶意代码)。虽然与“Process Hollowing”非常类似,但也存在不同之处。为了避免使用可疑进程和内存操作(例如SuspendProcessNtUnmapViewOfSection),研究人员利用了NTFS事务,重写了事务(Transaction)上下文中的合法文件,之后从修改的文件(事务上下文中)创建Section,并从中创建了一个进程。研究人员发现,当文件在事务中时,这些安全厂商不太可能扫描到文件。由于研究人员回滚了事务,因此未留下任何活动踪迹。

    安全产品检测不到其中的异常,是因为恶意进程看起来合法,会正确映射到磁盘上的镜像文件,与任何合法进程没有区别,不存在安全产品通常会寻找的“未映射的代码”( Unmapped Code)。

    喜忧参半

    值得庆幸的是,实现Process Doppelgänging”面临着大量技术挑战,攻击者需要了解进程创建的大量未公开细节。

    然而,令人悲观的是,这种攻击无法通过打补丁修复解决,因为它利用的是基本功能和Windows进程加载机制的核心设计。

    “Process Doppelgänging“加入了过去一年被发现的新攻击方法,这些方法难以被现代反病毒产品检测和缓解,例如Atom BombingGhostHook