针对CMS的网络攻击中的快照回滚研究(三)

 

这项研究有机会研究了超过300,000个不同网站生产的每晚备份。在此过程中评估了基于CMS的网站的攻击情况,并评估了备份和还原保护方案的有效性。令人惊讶的是,发现成千上万次攻击的演变表现出清晰的长期多阶段攻击模式。TARDIS,一种来源推断技术,它可以仅基于网站托管公司已经收集的每晚备份来调查和补救针对CMS的攻击。

本文中将介绍TARDIS的在野部署和案例研究,以及相关工作和局限性。

 

0x01 Deploying TARDIS in the Wild

在确认TARDIS的分析能够准确捕获基于CMS的网站备份中的攻击标签后,与CodeGuard合作,将TARDIS部署在其数据集的很大一部分上。利用此访问权从306个830个唯一网站(从2014年3月到2019年5月)的每晚备份中,以经验方式衡量基于CMS的网站在现实世界中的运行状况。在本节中记录了使用TARDIS来了解基于CMS的网站所面临的威胁态势的发现。也正在与CodeGaurd合作,以将发现告知网站所有者,并补救发现的攻击。

实验设置:使用了具有8个虚拟CPU和64 GB RAM的Amazon Web Services(AWS)弹性计算(EC2)r5.2xlarge实例。这些实例在AWS Batch作业调度引擎的监督下在数百个网站备份上并行运行TARDIS。

使用了几种工具来协助调查:CMS分类建立在WhatCMS和CMS Garden的基础上。 TARDIS用Python(2500行代码)编写,并利用zxcvbn进行注入元素名称中的熵估计,并利用Pandas进行数据分析。

A. CMS布局

上表列出了306、830个网站中的入侵行为分布。第1列和第2列分别显示了CMS平台及其分布。第3列显示了被TARDIS标记为被破坏的网站的数目,即TARDIS输出多阶段攻击标签和被入侵窗口的网站。第4到第6列分别显示每个CMS的文件平均总数(“空间元素”),受感染网站中的平均文件数以及仅良性网站中的平均文件数。

提如第2列所示,大多数网站都使用WordPress作为其底层CMS。在此数据集中,看到96%的网站使用WordPress,高于实际趋势。这是由于WordPress用户在CodeGuard生产环境中的市场份额很高。从表的第2列可以看出,除了Contao之外,此数据集中的所有CMS都是多阶段攻击的受害者。总计发现20个,591个受到感染的网站。单独有19,260个WordPress网站感染了这些攻击(占WordPress网站总数的6.5%)。

有趣的是,超过16%的Joomla,13%的Drupal,18%的Prestashop和9%的Contenido网站是多阶段攻击的受害者。这表明这些攻击不仅针对CMS,而且也针对流行和较不流行的CMS。在此数据集中,约有5%的PivotX和TYPO CMS3网站受到了长期存在的多阶段攻击的威胁,表明这些CMS由于其较小的市场份额可能不是受欢迎的攻击目标。

从表的第4列可以看出,几乎所有CMS平均都包含成千上万个文件。但是,一个有趣的指标是将受感染CMS中的文件平均数与良性CMS中的文件数进行比较。比较第5列和第6列时,很明显,攻击总是将大量文件注入CMS(在手动调查中也观察到了)。如表所示,几乎所有受感染的网站的文件数量增加了50%或更多。 TYPO3 CMS出现了文件数量最高的膨胀,受到危害时平均文件数量增加了150%。 WordPress位居第二,平均增长80%。

B.攻击的演变

下表列出了TARDIS认定为受感染的20个591个网站中攻击模型的分布。第1至第8行显示了TARDIS分配的所有攻击标签的这些输出。第2至8列显示每个CMS标记为TARDIS入侵的网站的数量。表第4行的读数可作如下解释:在数据集中总共295,774个WordPress网站上运行TARDIS后,它发现了13,317个具有代码生成功能的受感染网站。最后,表中的第9行列出了每个CMS进行折衷的总数,以进行比较。

从上表可以看出,代码生成功能是最常见的策略,在所有攻击中有70%以上都可见,而与底层CMS无关。从该表的第1行,看到在所有CMS中标识建立立足点标签并不普遍,这主要是由于数据集的性质。但是,当被识别时,它是确认多阶段攻击的可靠指标。还有在完成攻击动机后,所有此类攻击中有20%以上试图清除其痕迹。

但是,并非所有的多阶段攻击都会主动隐藏它们的存在。从表的第5行可以看出,超过60%的受感染WordPress网站试图通过遵循流行的隐藏文件/目录或伪装文件的方法来逃避防御。相反,流行的防御规避技术在属于其他CMS的受感染网站中并未广泛看到。这可能归因于网站所有者的技术性较弱,因为攻击者在攻击过程中没有将资源用于主动隐藏。

这些攻击中有很大一部分(8%)使用混淆技术,使网站所有者更难对注入的代码进行逆向工程。由于一旦检测到任何可疑活动的痕迹就无法立即将托管网站撤下,因此当事件响应可以理解混淆代码时,对手将已经在网站中完成了侦察(如图4所示),并实现了目标。进行了攻击清除。

C.入侵窗口

从该数据集中最重要的发现是基于CMS的网站遭受破坏的时间。一旦受到攻击,多阶段攻击就会在网站中长期存在。上图显示了每个受损CMS的TARDIS输出中的入侵窗口分布。请注意,这是简化的箱形图版本,以提高可读性。该图未显示:WordPress网站上超过20%的攻击持续300到1694天。如图所示,从WordPress的箱形图的中位数可以看出,WordPress网站中的大多数攻击持续了40天左右。

相比之下,在Joomla和PivotX中,攻击的中位时间较长,介于75到85天之间。在4000多个WordPress网站中,这些攻击持续3个月到4.5年之间的任何时间。属于此四分位数(前25%)的多阶段攻击对网站访问者构成了最大威胁:丢弃的文件只是在网站中潜伏着,其中许多目的是利用网站访问者。

在所有CMS中,Joomla的平均多阶段攻击持续时间最长,平均持续3个月。此外,对于使用更流行的CMS(例如WordPress,Joomla和Drupal)的网站,攻击者可能会持续更长的时间,因为对手看到了更大的机会基础,并从其资源投资中获得了更好的回报。相反,不那么受欢迎的CMS,TYPO3 CMS和Prestashop,不仅受到持久性攻击的攻击较少,而且这些攻击也不能持久存在。这可以归因于较高的机会成本和较低的针对针对较不受欢迎的CMS的攻击的回报。

D.现有的缓解攻击框架

回想一下,当前的行业标准是结合集成AV的幼稚“备份和还原”模型。 AV一旦检测到危害,就会提示网站所有者回滚到以前的快照。提取了306,830个网站的数据集的AV报告,并配置了TARDIS,以记录用户发起的回滚和回滚后重新感染的次数。结果列于下表。请注意,TARDIS不了解AV报告,仅依赖其攻击模型进行时间轴重建。表中显示,AV不能识别几乎所有受感染的网站,因此再次证实了本文的主张,即AV签名仅捕获知名的恶意软件,并且它们无法检测到隐匿的多阶段攻击。

第1列和第2列介绍了CMS平台以及每个CMS中受感染网站的数量。第3列显示了每个CMS触发AV警报的受感染网站的数量。第4列显示了具有AV警报的网站数量,这些网站尝试回滚到以前的版本,以缓解AV识别出的威胁。第5列列出了尝试回滚并保持感染或再次感染的网站的数量。正如预期的那样,AV警报和回滚的分布反映了CodeGuard产品集中CMS的市场份额,认为这是CMS的代表。

回滚:如表所示,非常感到关切的是在被TARDIS识别为长期多阶段攻击的20,591个网站中,只有91个网站看到了AV警报。更重要的是,因为仅当AV向网站所有者警告可疑活动时,才会提醒网站所有者回滚。 AV警报数量如此之少(即少于攻击总数的1%)是“备份和还原”模型被证明无效且这些攻击持续了相当长一段时间的原因。

在触发AV警报的91个网站中,并非全部采取行动。如表所示,在这91个网站中,只有29个尝试回滚到AV警报前的快照,以从攻击中恢复该网站。此外,AV臭名昭著的是会产生导致威胁警报疲劳的虚假警报-真正的AV警报被忽略的另一个原因,这也许可以解释为什么91个网站中只有29个尝试回滚。

再感染:从表可以看出,在29个试图从攻击中恢复的网站中,TARDIS在这些网站的65%以上发现了重新感染。认为这很容易使攻击者感到困惑,无法找到回滚的网站文件,但其原始后门仍然存在。这证实了长期以来一直认为AV不可靠的信念。

它们不仅丢失了绝大多数攻击,而且对AV的强烈依赖也使得现有的“备份和还原”技术在很大程度上无效。这些数字重申了TARDIS设计背后的动机-在夜间备份空间中需要系统的来源技术。使用回滚手动验证了网站,发现直觉是正确的:在每次重新感染的情况下,回滚快照都位于导致重新感染的入侵窗口(由TARDIS标识)内。在所有受感染的网站中,只有10个网站设法回滚到了入侵窗口之外,从而修复了入侵。这证实了TARDIS的来源推断对于受损的网站调查至关重要。

E.表现

上图显示了TARDIS花费的时间来衡量306,830个网站的所有属性,以及相对于文件大小而言的网站大小。 TARDIS线性评估每个时间快照,以可接受的开销为整个网站提供事件和事件标签的时间表。尽管此开销随网站上文件数量的增加而定(无论这些文件的大小如何),但从图的斜率可以看出,增加幅度很小。TARDIS的最坏情况,即处理1859个快照(平均100,000个空间元素)所花费的最大时间接近3500s。作为一种离线取证技术,认为这是非常合理的。

 

0x02 Case Study

A.案例研究1:攻击活动的全局视图

除了对单个网站进行调查之外,在商业网站备份平台中部署TARDIS 还可以提供攻击活动演变的全局视图。实验过程中发现了5个不同的WordPress网站在2018年9月至11月之间具有相同的源头演变。

在所有这些网站中,攻击者在5天内使用相似的变相混淆代码注入(O)策略在28个PHP文件中,随后是83个恶意软件实例被丢弃(M),以注入后门功能,然后维持状态(P)大约2个月,最终尝试进行攻击清除(C),以删除这些步骤的所有痕迹。在每种情况下,被丢弃的恶意软件都会禁用所有错误日志记录功能,并从远程服务器(在调查时处于活动状态)获取有效负载,并在受害Web服务器上执行该操作。它还收集输出缓冲区,将其发送回远程服务器,最后重新启用错误日志记录。这些动作被编程为每48小时运行一次。

如图所示,这些网站中的每个网站在相同的持续时间内都呈现出相同的攻击阶段演变和持久性。所有这些网站都属于不同的独特小型企业,它们恰好是在WordPress上构建其网站。一旦第一个WordPress网站(W1413857)遭到攻击,与初始网站完全不相关的另一个WordPress网站(W0697120)在6天后显示出完全相同的注入。

其次是在接下来的10天内,三个网站(W1438887,W1467224,W1532897)中发生了3次其他感染。在所有这五个网站中,混淆代码注入阶段持续5天,恶意软件丢弃阶段持续1天,保持存在51到56天,最后,通过删除所有注入的文件来清除攻击。由于AV无法识别此攻击,因此不会标记任何攻击,并且网站所有者也不会尝试回滚。

将来的部署:目前正在与CodeGuard合作,在其备份框架中在全球范围内部署TARDIS,以检测和跟踪大规模攻击趋势。这就需要扩展TARDIS,以实现跨网站的建模和关联。

B.案例研究2:“用户友好”远程控制

在一个基于Drupal的网站中,对3个月(2019年2月至2019年4月)的备份进行的调查显示存在以下阶段。

备份站点上集成的AV从未触发警报,使网站所有者对攻击一无所知。 TARDIS识别的入侵窗口显示,攻击者从2019年2月23日开始注入混淆的PHP代码,并在接下来的几天一直保持存在,直到2019年3月3日。从2019年3月4日开始,攻击者丢弃了恶意软件并使用了防御逃避方法:他们伪装了PHP文件作为图标文件,并在隐藏目录中上传了后门外壳。 3月6日,攻击者为后门注入了完整的图形用户界面(GUI),使他们可以完全控制该网站,如下图所示。所有这些文件在网站上保留了一个多月。

2019年4月13日,TARDIS发现攻击者删除了较早注入的恶意软件,以隐藏其先前的足迹。 TARDIS提供的时间轴显示,该网站在3个月的时间内持续存在多阶段攻击活动,并提供了一个折衷窗口(2019年2月23日至2019年4月13日),在该窗口之外可以安全地回滚该网站。手动调查显示,攻击者利用了CVE-2018-7600漏洞,即对Form API(FAPI)AJAX请求的安全输入不足。请注意,此攻击开始一个月后才修复此漏洞。

 

0x03 Limitations

推断攻击来源的准确性受到备份粒度的限制,当前的行业规范是每晚收集网站备份。已经表明,这足以恢复攻击的时间表。但是,如果快节奏的攻击在两次连续备份之间经历了多个阶段,则TARDIS仅在备份时才可以看到文件。从本质上讲,TARDIS使网站所有者可以在进行备份的粒度(即使TARDIS更准确)与发生攻击时要求进行更深入的手动检查之间进行校准。

随着这些多阶段攻击的发展,TARDIS的空间度量标识规则可能会随着时间而改变。这种发展是可以预料的,并且TARDIS的模块化特性使添加新的空间度量变得很简单。此外,TARDIS的空间度量时间相关性方法应经受时间的考验,因为它是针对单个度量标准而设计的,并且基于多阶段攻击所经历的阶段不变性。

 

0x04 Related Work

Web攻击的大规模研究:已经发表了一些研究,这些研究使用高交互性蜜罐大规模地理解了网络攻击。此外,一些技术试图通过研究托管提供商的角色来评估Web应用程序危害的影响,并通过研究大规模的通知活动来了解响应态势。与TARDIS类似,还发现攻击者在Web服务器上丢弃了大量文件。尽管这些技术专注于针对通用Web应用程序的攻击,但本研究研究了基于CMS的网站(更具体地讲,在生产网站中)的多阶段攻击的传播。研究和TARDIS旨在仅基于每晚网站备份来调查此类多阶段攻击。

因果关系建模:在通过监视系统行为来重建攻击源的过程中,已经取得了重大进展。大多数专注于高级多阶段攻击检测的工作,例如Holmes和Sleuth,都是基于OS审核数据并使用系统调用级别日志进行实时分析的。但是,这些基于日志的细粒度出处跟踪技术需要大量工具,并且CMS托管公司几乎不部署。 TARDIS利用业已存在的标准(夜间备份),通过空间度量的时间相关性和异常值检测对长期的多阶段攻击进行建模。

Web应用程序安全性:为了抢先保护网站免受攻击,最近的研究集中在分析特定类型的攻击,例如广告注入(ad injection),调查欺诈(survey scams),跨站脚本,PHP代码注入,SQL注入,文件包含攻击等。这些研究技术着重于Web应用程序的各个层。但是,由于CMS包含所有这些层的代码,并且已销售给技术含量较低的网站运营商,因此通常不部署针对攻击向量的解决方案。 TARDIS与攻击向量无关,可以调查受到攻击的CMS攻击后。

 

0x05 Conclution

本文使用TARDIS对306个830个独特生产网站上的CMS攻击格局进行了系统研究。针对仅使用随时可用的夜间备份来调查基于CMS的网站中的漏洞的问题,TARDIS提供了一种新颖的来源推断技术,可重构攻击阶段并实现从攻击中的快速恢复。使用代表每个快照的空间量度的时间相关性,TARDIS恢复了折衷窗口和攻击阶段的进展。 TARDIS发现了20,591个长期遭受多阶段攻击的受害者的网站,并且被证明在基于CMS的网站中揭示攻击的准确性很高,而与底层CMS无关。正在与CodeGuard合作,以通知网站所有者并补救已识别的攻击。

(完)