攻击时的漏洞利用
毫无疑问,如果让攻击者已经顺利进展到了这个阶段,问题已经很严重了,但是你仍然有机会。现在,攻击者已经传送了附有恶意附件的电子邮件,如果成功的话,攻击者将能够利用你企业使用的软件中的漏洞。而如果漏洞利用成功的话,你的系统将受到感染。然而,攻击者在攻破你的防御后,可能会制造一些动静。如果是这样,关于他们攻击方法和攻击类型的证据可能位于网络或系统日志中。另外,你的各种安全事件监控器中可能包含攻击的证据。
如果攻击者的漏洞利用没有被发现,你的胜算就会变的更小。据2013年Verizon数据泄漏调查显示,66%的数据泄漏保持几个月甚至更长时间都未被发现。即使泄漏事故被发现,也主要是因为无关的第三方曝光。
在漏洞利用后,攻击者需要建立一个立足点,也就是安装,也就大多数端点保护的关注点。攻击者通常是通过在感染主机上安装额外的工具来获得立足点。
攻击者可能从初始切入点进入网络中的其他系统或服务器。这种支点攻击(Pivoting)能够帮助攻击者完成其总体目标,并确保他们不被发现。
通常情况下,支点攻击的成功是因为对网络政策的漏洞利用,让攻击者能够直接访问一些系统,这样,他们就不需要利用另一个漏洞或恶意软件。
事件响应计划主要用来攻击者活动的安装阶段。因为防御措施已经失败,所以响应是唯一的选择了。然而,只有在检测到攻击,才可能进行事件响应。假设漏洞利用阶段没有被检测到,而攻击者成功安装恶意软件后,该怎么办?如果你幸运的话,你可以检测到一些攻击的证据,并利用它们来推动事件响应过程。
企业经常忽视感染指标(Indicators of Compromise,IOC),因为它们通常隐藏在海量日志记录数据中。没有人有时间读取数百或数千条数据,这也是为什么经常需要几个星期或几个月检测到数据泄漏事故的原因。
假设攻击者瞄准一名员工,并攻击了企业系统,为了检测到这种攻击,关键是寻找异常情况,寻找似乎格格不入的东西。
另一个例子是寻找随机的意想不到的DNS请求。攻击者往往会回调以利用其他工具,或者他们的有效载荷会发出外部请求。将DNS请求与已知恶意服务器、名声不好的IP地址列表进行匹配,这样做通常能够检测到攻击,因为漏洞利用阶段是攻击者可能制造动静的时期。
那么,对于水坑攻击呢?什么算是很好的IOC呢?这也将需要读取大量日志数据,但如果Web服务器日志充斥着500错误、权限错误或路径错误,问题就严重了。因为这可能意味着SQL注入和跨站脚本攻击等。或者,500错误也可能是良性的。但当它们与数据库错误同时出现,或者来自单个应用程序或资源,则可能意味着攻击。
同样地,观察404错误,看看这些错误是如何被触发。在很多情况下,web漏洞扫描仪或探测应用程序的机器人触发了这些事件。最后,如果你发现shell脚本(例如r57或c99),通常是因为你已经注意到了日志中的随机GET或POST请求,这是很明显的IOC。事实上,web服务器上的shell是最糟糕的发现,表明已经出现数据泄漏。因为shell意味着攻击者已经控制着一切。
在缓解措施方面,很多签名提到的保护层仍然适用。事实上,其中一些保护层很适合于漏洞利用阶段。例如,数据执行保护(DEP)可以很好地防止恶意软件在被感染主机上运行。
虽然攻击者可能能够传送恶意软件,当受害者尝试执行它时,DEP将会阻止它。然而,还有大量恶意软件变种和软件漏洞利用会瞄准DEP,所以你不能仅仅依靠这种保护。
白名单是另一个很好的缓解措施,但这种办法有可能拦截合法(白名单)应用程序,也就是说,白名单也不能作为防止漏洞利用的唯一来源。
反病毒控制(例如针对IP地址和软件的声誉检查)是很好的防御措施,因为大多数AV软件提供行为检测。但AV并不是完美的解决方案,如果漏洞利用阶段使用了未知的东西,AV可能会完全没用。基于主机的IDS同样是如此,但如果没有部署这些技术,情况会更糟。
最后,对操作系统和第三方程序保持软件更新和补丁修复,能够很好地防止漏洞利用,并且能够控制权限。最小特权原则是IT内经常忽视的工具,但这是个很好的工具。
这些缓解措施的重点是,它们都不能完全阻止漏洞利用和安装阶段,但如果结合使用,防止严重攻击的几率将会增加。
攻击时的命令和控制
攻击者已经完成了侦察、武器化和传送以及漏洞利用和安装阶段,现在的问题是,你是直接攻击目标还是为攻击者提供攻击机会?这个问题的答案将决定你如何应对C2阶段。
正如前面提到的,被动攻击(即你不是直接攻击目标)很被动。因此,当终端因为路过式下载攻击或恶意邮件附件被感染时,安装过程非常容易检测。但有时候路过式攻击会利用漏洞利用工具包,而这只需要很少的用户交付,也可能无法被检测。
前面的文章中也提到过,被动攻击活动主要取决于攻击量。当攻击者收集了身份验证和财务信息(一般攻击的主要目标)后,攻击者需要为每台感染主机建立一个C2通道。在这种情况下,没有变种和流量限制,只有对数千台感染主机的一个联系点。
C2阶段主要是关于通信,但要记住,C2阶段并不包括数据传输。C2阶段是建立通信通道,允许攻击者与外部沟通。
被动攻击是自动化的。自动化可以帮助攻击者实现攻击量,因为几乎不需要交互。然而,这种自动化意味着他们可能被发现。当企业内50个系统与相同未知主机通信,可能会被注意到。
有针对性的攻击则更具体,几乎没有自动化。攻击者将会发出命令,并使用特定的工具。有针对性攻击的所有活动都是有目的的,并会努力逃避侦察,尽量保持低调。
当你的企业沦为被动攻击受害者,攻击者使用的自动化工具无法逃避现有安全控制和缓解措施的检测,因为它们制造了太多动静。因此,企业应该尽快阻止这种攻击。
需要注意的是,被动攻击采用自动化方式是因为,这些攻击活动背后的操作者更侧重攻击量,而不是控制。如果他们的恶意软件或其他有效载荷被发现和阻止,这并没什么大不了,他们可以马上转移到其他受害者。
然而,如果企业沦为有针对性攻击的受害者,这意味着攻击者将会在企业内找到立足点,并会绕开安全控制或禁止安全控制来避免被发现。此外,攻击者还会试图建立后门程序到其他系统,创建更多切入点,以防其中一个切入点被发现。因此,在企业的事件响应计划中,一个很好的经验法则是,如果你看到一个后门程序,这意味着还潜伏着其他后门程序。
“坚实的”C2是指攻击者可以动态调整其程序,增加事件响应者手动检测的难度,甚至不可能。这也是数据泄漏事故很长时间才被发现的原因。
正如第三篇文章中所述,攻击者往往会回调以获取额外的工具,或使用有效载荷发出外部请求。这些感染指标能够清楚地揭示C2活动,因为与正常网络流量相比,这些有些异常。
因此,企业应该对比DNS请求和已知恶意服务器列表,或者过滤有着不良声誉的IP地址,以应对这种类型的流量。在漏洞利用和安装阶段后,C2阶段是攻击者少数制造动静的时期。然而,当这些流量被自动化检测标记时,则表明是被动攻击。
这样想,如果攻击活动背后的操作者在使用C2通道或者从已知恶意来源下载有效载荷,你的企业可能是攻击者的目标之一。在另一方面,有针对性攻击活动背后的操作者会谨慎避免被检测。他们会将C2流量隐藏在正常通信通道内。
在C2建立后,攻击者就成功了一半。一般被动攻击是自动化的,动静很大,并且会立即发动攻击,而有针对性攻击则会潜伏数天、数周甚至数月。因此,在C2阶段,流量监控是关键防御措施。如果能够结合前面提到的防御措施,你就建立了一个强有力的分层保护。
只要正确配置和维护(包括定期更新),IPS和IDS系统可作为第一层防御。然后,企业需要ACL规则来通过防火墙限制入站和出站连接。然而,还需要限制防火墙规则中例外的数量,并且需要对这些例外进行密切检测,或者在不需要时撤销。在有针对性攻击期间,你的安全规则和政策可能被用来针对你,特别是当它们过时或不受监管时。
最后,企业应该监控网络上流量的移动情况,更重要的是,监控移动到外部的流量。同时,关注红色标记的事件,例如修改HTTP表头,以及到未知IP地址或域名的连接。加密流量是被动攻击和有针对性攻击活动使用的常用技巧,在这种情况下,C2可能更难被发现,但也不是没有可能。你可以查找自签名证书和未经批准或非标准加密使用。
攻击后期的数据渗出
数据渗出是APT攻击的最后一步,如果攻击者完成这一步,你企业将面临巨大损失。在目标数据被确定后,这些数据将被复制并通过C2通道移出网络,或者可能被复制到网络中的另一区域,然后再被移出。从这一点来看,企业应该容易发现被动攻击和有针对性攻击。
正如前面提到的,被动攻击动静很大,分层防御措施很容易发现这种攻击。另一方面,有针对性攻击完全相反。
有针对性攻击活动背后的攻击者会尽可能保持低调,所以不可能出现大规模数据转储。在有针对性攻击中,我们会看到数据伪装成正常流量通过C2通道离开网络。
在前面C2文章中,我们谈到了机会攻击通常会利用有着不良声誉的通信信道。对于每个感染的主机,攻击者会使用了相同的容易识别的通道。
这种机会攻击会将数据渗出到其他国家的数据中心的服务器,当地法律可能没有禁止这种数据使用。在这些情况下,你不要指望ISP提供帮助。所以,如果你不阻止数据离开网络,即使你发现数据的渗出,这种信息从法律上看也没多大用处。
有针对性攻击会攻击合法服务器来存储数据。在很多情况下,受感染的服务器管理员可能不知道他们正在托管不属于自己的数据,而当他们意识到有什么不对劲时,攻击者已经早已离去。
在渗出阶段,最好的防御措施就是感知。你需要知道哪些数据进出你的网络,监控出站流量和入站流量都很重要。
DLP解决方案也可以用于应对渗出阶段。如果配置得到,DLP产品可以帮助监控网络流量,并控制流量。它们能够发现未经授权的加密,被动和有针对性攻击会利用加密来隐藏通信。还能够发现异常流量模式。
另外,监控用户账户活动也可以作为防御措施,有些合法账户可能出现异常活动。
在C2阶段使用的防御措施同样可用于渗出阶段,包括根据IP地址、IPS和IDS系统(可以调整为监控所有阶段的活动)以及应用防火墙规则(控制哪些程序允许发送流量到外部)阻止访问。这些规则还可以应用到工作站或网段。
假设你捕捉到渗出过程,日志记录将成为事件响应的关键资源,因为日志能够确定发生了什么、如何发生等。通常情况下,在被动或有针对性攻击中,确定攻击者是很重要的,但实际上这是不可能的,这个问题我们主要是靠猜测而不是事实。
无论采用何种防御措施,最好的办法是在事故发生前阻止事故。这正是澳大利亚信号理事会(ASD)的主要工作,其网络不断有攻击者试图访问敏感信息。ASD采用了四种防御措施,并指定它们作为其网络的强制性要求。这四个强制性措施包括:
1. 应用程序白名单
2. 第三方软件补丁管理
3. 操作系统补丁管理
4. 权限管理(限制使用域或本地管理员权限的用户数量)
在本系列文章的开始,我们探讨了有针对性攻击和被动攻击的目的的区别,以及这些攻击者的总体目标。工具、战略和程序并不重要。你的企业更有可能成为机会攻击的受害者,而不是受民族国际资助的有针对性攻击的受害者。
应对这两种攻击的最好办法就是分层防御。感知和可视性是快速反应以及减少损失的关键。虽然持续性攻击活动最终会成功,但我们可以提高攻击者的难度,以及减少损失。关键是要权衡风险,制定符合企业需求的安全计划,不要恐惧APT。
(责任编辑:安博涛)