从Herpaderping规避技术看防御之难

  • A+
所属分类:安全文章


简  介

从Herpaderping规避技术看防御之难


ProcessHerpaderping是Johnny Shaw团队2020年7月发明的一项进程注入新技术。它利用程序装载过程中存在的防御“罅隙”,对磁盘文件进行篡改,使得在程序运行时其磁盘文件与其内存映像不一致,从而达到规避防御的目的。

ProcessHerpaderping的应用背景,已经有安全产品为防止内容篡改,在程序运行时提供了两层保护,这两层保护分别是:

  1. 利用PsSetCreateProcessNotifyRoutinsEx在Windows内核注册一个回调函数,该回调函数能够对运行程序的磁盘文件进行检查,并决定是否允许程序继续运行。
  2. 利用驱动程序在接收到IRP_MJ_CLEANUP(对应关闭文件句柄)时,检查文件内容是否发生改变。

这两层保护都工作在内核态,用户态程序是不可能绕过的。但是,由于PsSetCreateProcessNotifyRoutinsEx注册的回调函数是在通过NtCreateThreadEx创建进程的主线程时被调用的,而程序通过NtCreateProcessEx映射到内存发生在这之前。如果在NtCreateProcessEx和NtCreateThreadEx之间对磁盘文件进行修改,则回调函数是发现不了这种修改的。

同样,由于磁盘文件修改操作发生在NtCreateProcessEx和IRP_MJ_CLEANUP检查之间,通过IRP_MJ_CLEANUP检测也发现不了这种修改。

通过下面这张图,可以清楚地看出Herpaderping规避两层防御的发生位置。

               

从Herpaderping规避技术看防御之难


在Johnny Shaw披露Herpaderping技术的原理及实现细节后,引起了Microsoft的高度重视。2021年1月更新的sysmon 13.01,增加了对运行程序磁盘文件与内存映像不一致的检测功能,并在该更新正式公布前由Microsoft Azure的CTO Mark Russinovich发布了这一消息。

从Herpaderping规避技术看防御之难


同时,开源项目processhacker也增加了对运行进程磁盘文件与内存映像相似度的检测功能。

从Herpaderping规避技术看防御之难


但无论是新版本的sysmon,还是新版本的processhacker,目前能做到的只是可以发现运行程序出现了磁盘内容与内存映像不一致的情况,但仍然不能阻止Herpaderping的发生,而且由于一些合法程序(如自提取程序、自解压程序等)在运行时也会出现磁盘文件与内存映像不一致的情况,也不能断定出现这类情况就一定存在Herpaderping。

 

网络防御面临困难

从Herpaderping规避技术看防御之难


考察Herpaderping的利用场景和新推出的防御措施,可以发现网络防御面临着以下困难:

  • 面对进攻方只要找到整个链条中的一个薄弱环节就能突破整个防线的情况,防御措施很难做到全链条覆盖。特别是对于Herpaderping这种利用底层机制实现突破的技术手段,防御方在布置防线时,需要掌握系统底层的许多实现机制,要做到全覆盖就更为困难。其实,因为前面已经有了process hollowing这种程序运行时磁盘文件与内存映像不一致的攻击技术,防御方也部署了两道针对此类情况的保护防线,但因为不能覆盖整个链条,仍然不能阻止Herpaderping的出现。

  • 即使防御方知道进攻点在哪里,要阻止它也很困难。尽管已经知道Herpaderping就是发生在NtCreateProcessEx和NtCreateThreadEx之间,但目前仍没有阻止它发生的有效办法。

  • 因为攻击的行为特征也会出现在有些正常程序上,区分恶意行为和正常行为十分困难。尽管新版sysmon和processhacker都能够发现运行程序的磁盘文件与内存映像不一致的情况,但因为有些正常程序运行时也会出现这种情况,要确定是不是Herpaderping或Hollowing造成的,仍然需要结合其它手段做进一步的分析。

可以说,对抗Herpaderping之类的防御规避技术,还有很多工作要做。

 

参考链接

从Herpaderping规避技术看防御之难


【1】https://github.com/jxy-s/herpaderping

【2】

https://www.crowdstrike.com/blog/herpaderping-security-risk-or-unintended-behavior/

【3】

https://github.com/processhacker/processhacker/issues/744


从Herpaderping规避技术看防御之难


转载请保留出处与链接。联系信息进入公众号点击“论坛信息”可见。


从Herpaderping规避技术看防御之难

本文始发于微信公众号(国家网络威胁情报共享开放平台):从Herpaderping规避技术看防御之难

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: