新发现表明,恶意行为者可以通过操纵Windows容器隔离框架,利用一种诡秘的恶意软件检测技术,绕过端点安全解决方案。
这个发现是由深层本能安全研究人员丹尼尔·阿维诺姆在本月早些时候举行的DEFCon安全会议上公布的。
微软的容器架构(以及扩展后的Windows沙盒)使用所谓的动态生成映像将文件系统从每个容器分离到主机,同时避免系统文件的重复。
它只不过是一个”操作系统映像,具有可以更改的文件的干净副本,但链接到主机上已经存在的Windows映像中不能更改的文件”,从而降低了完整操作系统的整体大小。
Avinoam在与“黑客新闻”分享的一份报告中说:“结果是包含‘幽灵文件’的图像没有存储实际数据,而是指向系统上的另一个卷。”“正是在这一点上,我想到了这个想法–如果我们可以使用这种重定向机制来混淆我们的文件系统操作并混淆安全产品,该怎么办?”
这就是Windows容器隔离FS(wcifs.sys)小型驱动程序发挥作用的地方。驱动程序的主要目的是负责Windows容器与其主机之间的文件系统分离。
驱动程序通过解析鬼文件重定向来处理鬼文件的重定向,方法是解析它们附加的重解析点和关联的再解析标记,这些标记唯一地标识所有者,即在I/O操作期间对文件执行附加过滤器定义的处理的文件系统过滤器驱动程序的实现者。
据Microsoft称,Windows容器隔离筛选器使用的两种此类修复标记数据结构是IO_MERISE_TAG_WCI_1和IO_SARYSE_TAG_WCI_LINK_1。
简单地说,这个想法就是让当前进程在一个制造好的容器内运行,并利用迷你过滤器驱动程序来处理I/O请求,这样它就可以在文件系统上创建、读取、写入和删除文件,而不会向安全软件发出警报。
在这一阶段,值得指出的是,通过向筛选器选择的I/O操作向筛选器管理器注册,小型程序间接地附加到文件系统堆栈。每个微型飞行器被分配一个微软分配的“整数”高度值,根据过滤器的要求和负载顺序组。
Wcifs.sys驱动程序占据180000-189999(特别是189900)的较低的高度范围,而杀毒过滤器,包括来自第三方的,在320000-329999的高度范围内工作。因此,可以在不触发回调的情况下执行各种文件操作。
Avinoam解释说:“因为我们可以使用IO_SARISE_TAG_WCI_1修复标记覆盖文件,而不需要检测反病毒驱动程序,因此它们的检测算法不会接收到整个图像,因此不会触发。”
尽管如此,删除攻击需要管理权限才能与wcifs.sys驱动程序通信,并且不能用来覆盖主机系统上的文件。
这一消息曝光之际,这家网络安全公司展示了一种名为“NoFilter”的隐秘技术,该技术滥用Windows过滤平台(WFP),将用户的权限提升到系统的权限,并可能执行恶意代码。
这些攻击允许使用世界粮食计划署为另一个进程复制访问令牌,触发IPSec连接,并利用打印后台处理程序服务将SYSTEM令牌插入到表中,并使其有可能获得登录到受损系统的另一个用户的令牌进行横向移动。