持续风险监测体系实践:基于ATT&CK的APT高频技术分析

2021-03-09 15:27:17 浏览数 (1)

ATT&CK作为一套反映网络安全攻击的知识模型,自2013年提出以来越来越受到安全行业的关注,已逐渐成为网络攻击事件分析的新标准,在众多APT事件分析中得到广泛应用。

针对不同APT组织的攻击技术,必达实验室安全技术专家黄慧敏依托于基于协同的持续性风险监测体系,追踪APT组织活动轨迹,以ATT&CK为载体,分析了部分活跃且具有代表性的APT组织攻击策略的整体情况,见《持续风险监测体系实践——基于ATT&CK的APT攻击策略分析》,本文进一步探讨了高频技术,梳理形成了APT组织常用技术清单。

为了更好的防范APT攻击,作为防守的一方,尤其是一些敏感的受APT青睐行业的防守方,需要加强对这些APT常用的攻击技术的主动防御,优化检测、阻断策略,降低APT攻击的安全风险,从而保护资产免受损失。另一方面,这些高频技术也能在红蓝对抗中,为攻击方提供技术参考,以模拟APT攻击,检测当前防御状况。

一、高频技术检测与优化

在《持续风险监测体系实践——基于ATT&CK的APT攻击策略分析》我们根据每个策略下APT的技术覆盖率以及其真实高频数与预期高频数之间的关系,划分了四个象限。本文依照每个象限的现实意义与特点,我们根据象限的曝光程度绘制了图1-1四象限冰山图,活跃者象限为曝光度最高的象限,而投机者象限位于水面,隐藏着、潜在者暴露较少,需要深挖。因此,我们建议从冰山上往下优化防御体系。

在“活跃者”象限中,需要加强防范网络钓鱼攻击(T1566),子技术包括“鱼叉附件攻击”、“鱼叉链接攻击”,针对鱼叉攻击中的恶意鱼叉附件、鱼叉链接,我们建议通过部署威胁监测设备,结合威胁情报,通过流量层的沙箱进行检测告警,并联合终端EDR类防护系统,对附件进行查杀阻断。对于“T1078有效帐号利用”,“T1133外部远程服务利用”技术的检测,可通过威胁监测系统中的用户行为画像、流量层特征,联动终端登录事件、服务日志等对其进行持续性监测,在发现异常登录、异常远程服务连接时及时告警。

在“投机者”象限中,需要注意隐蔽性较高的两个技术:“T1071应用层协议利用”和“T1021远程服务”。对于此类技术的检测,我们建议部署全流量威胁监测设备,其流量层基于特征与算法的检测有其独到的优势,尤其是检测识别DNS、ICMP等隧道,以及SMB协议漏洞利用等攻击。

在“隐藏者”象限中,其中尤其关注的技术有“T1059命令与脚本解释器利用”、“T1003操作系统凭证转储”、“T1505服务器软件组件利用”,其中T1059中需要重点关注的子技有“PowerShell利用”、“Unix Shell利用”、“Windows CMD利用”,T1505中需要重点关注的子技术有“WebShell利用”。对于上述技术的检测,我们建议以终端EDR检测为主,以流量层威胁监测为辅的思路进行联动检测,该部分主机层的安全设备更具有优势,而流量层监测设备则能够结合主机告警进行追踪溯源,在流量层进行宏观的把控,以供云端专家对其发展态势发展作出预判,并及时下发阻断策略。

在“潜在者”象限中,“T1070主机痕迹清除”值得重点关注。“主机痕迹清除”可作为指标性技术告警,痕迹清理通常是作为入侵后的收尾工作,即避免攻击行为被发现。对于该项技术,我们建议通过在终端上部署EDR系统,监控系统日志、历史记录等相关位置的清空、删除等敏感操作,以检测“主机痕迹清除”。

基于篇幅限制,我们仅对高频技术中的部分的技术给出了检测建议,完整的高频技术清单请见附表一。正如四象限冰山图那样,观察到的总是冰山一角,往往容易忽略水下的深层攻击,如何让冰山慢慢浮出水面,则是防守方不断努力和攻克的方向。显然在网络攻击形势日趋严峻的今天,对于APT的防御与检测已经无法依靠传统的设备堆叠方案来满足需求了,这时需要构建全方位的监测体系,基于此我们提出了基于协同的持续性风险监测体系,该体系从主机层、流量层、应用层三个维度出发,结合威胁情报应用、沙箱动态行为分析、入侵特征与行为分析、大数据异常行为分析、多事件关联分析等一系列手段,对威胁进行全方位、持续性监测,并将威胁汇总至后端的安全“智大脑”,对威胁进行全面的分析和计算。无论是主机层、流量层,还是应用层,紧密联动,环环相扣,一旦某一环节产生了告警,就能够结合协同监测中心和威胁情报中心进行分析、溯源、确认,而后联动相应的防护设备进行处置、阻断,从而有效实现了威胁的发现、响应、处置的闭环。

二、高频技术攻击案例探讨

我们从四个象限中分别选取一个具有代表性的技术进行探讨,根据技术的使用热度、流行趋势,我们选取了“T1189水坑攻击”、“T1071应用层协议利用”、“T1059命令与脚本解释器利用”三个技术。其中T1059包含子技术较多,这里以其中的“T1059.001 PowerShell利用”为例进行探讨。而“潜在者”象限并无合适的技术,这里不进行探讨。“水坑攻击”是近年来较为流行的攻击方式,大有增长之势,“水坑攻击”也一直以“沦陷第三方站点”,迂回攻击路线的特点,游离于传统防御监测体系之外,一直是监测的难点。而“应用层协议利用”、“PowerShell利用”则一直活跃的出现在我们持续性风险监测的事件之中,二者都有规避检测的效果,前者在流量层规避检测,后者在主机层规避检测,对这两个的技术的检测也充满了挑战性。基于上述技术的挑战性与代表性,我们结合了自身持续性风险监测业务开展过程中遇到的真实案例对上述三个技术进行展开讨论,以便于更好的应对此类攻击。

1、水坑攻击

即通过攻陷受害者日常浏览的网站,一旦受害者浏览该网站,就会成为攻击的目标。水坑攻击已经成为APT攻击的一种常用手段,相比于鱼叉链接、附件攻击,水坑攻击根据隐蔽性,受害者往往警惕性较低,难以觉察网站异常。且攻击的网站往往属于第三方网站,并不在防御体系内,大大提升了检测的难度。

我们在监测过程中也发现“水坑式攻击”有增长的趋势,在对某地方人民政府的持续性风险监测活动中,某日我们发现一台PC终端从当地地方晚报下载了恶意文件,行为可疑,之前因业务需要该PC终端经常访问当地地方晚报官网,经过进一步确认我们确定该地方晚报被黑客攻陷并挂马,继而受害者访问后,在办公终端上下载并执行恶意文件。对于该起事件,我们的威胁监测系统通过流量层对请求页面代码的审计,及时发现了问题,并产生了告警,且终端EDR也第一时间进行了阻断,并上报告警事件至SOC平台,通过主机层与流量层的协同确认,证据充足,攻击路径明确,于是我们及时以事件专报形式通告了用户,避免其他终端再访问该挂马网站,进而有效阻断了风险的传播,避免了损失。

通常我们检测水坑攻击有两种方式,第一种就是上文的流量层审计,但不适用于tls的加密流量。第二种是将业务网站进行周期性的监测,即主动发现水坑攻击,并配合黑白网站名单的拦截。以上两种方式结合,能够有效的发现及避免“水坑式攻击”。

2、应用层协议利用

攻击者通过使用常见的标准化应用层协议进行通信,通过融入正常流量以减少被检测到的可能。常见的应用场景是攻击者利用标准应用层协议传输C2命令与命令执行结果。常被利用的标准协议包括HTTP、HTTPS、SMTP、POP3、DNS、FTP、SMB等。对于网络内部的连接,如代理或枢纽节点与其他节点之间,通常使用的协议是RPC、SSH、RDP。

从检测角度而言,相比使用非标准协议,使用标准协议更具迷惑性,例如利用HTTPS建立的隧道,本身已经加密,很难从内容上辨别是否恶意。当攻击进入了C2部分时,意味着目标主机基本已经沦陷,攻击者成功的躲过了层层检测,那么对于已经运行的C2 agent的通讯流量的识别就至关重要了。

以下是某地方政府机关中发现的DNS协议隧道,期间其中一台内网主机频繁向DNS服务器请求ha*.monster域名的MX、CNAME、TXT、A记录,且请求的子域名高度可疑。基于该条线索,我们锁定受害终端,并结合终端EDR可疑行为相关日志,最终锁定C2客户端,经过逆向分析,确定该C2客户端通过DNS隧道加密外发数据的行为。虽然C2客户端进行免杀处理,但最终因为DNS的异常流量特征暴露了自己。此案例较为极端的是,下载C2客户端的时候未触发流量告警事件、威胁情报事件、病毒查杀事件,而是在数据渗出与命令控制环节产生了DNS隧道的异常流量告警事件,由此可见对于“应用层协议利用”技术的检测的重要性,最终该起事件,我们启动了应急响应流程得以圆满解决。

对于上述利用标准协议传输数据、进行C2命令控制的流量,可通过结合每种协议数据包的长度、大小、通讯内容等特征,并配合威胁情报、机器学习算法综合判断异常,最后通过人工研判降低误报,可以在很大程度上提升发现运用该技术进行攻击的事件精度。

3、PowerShell利用

PowerShell是Windows操作系统中自带的功能强大的交互式命令行界面和脚本环境。攻击者可以使用PowerShell执行许多操作,包括信息探测和执行代码。

利用PowerShell的攻击已经非常成熟,成熟的工具如:Empire、PowerSploit、PSAttack。

仍然以我们自身监测事件为例,某地方重点3甲医院感染BuleHero病毒事件,攻击者利用Apache Struts2远程代码执行漏洞(CVE-2017-5638),进行远程命令执行,通过cmd下载PowerShell脚本,最终释放远控木马到C:WindowsSysWOW64rmnlik.exe目录下,上线连接C2服务器地址。在这里PowerShell是一个下载器,仅为中间的一环(其他环节也已经暴露),为了规避检测,进行代码混淆,下图为流量层沙箱对PowerShell恶意脚本的检测,基本上确定了其脚本的行为。

对于PowerShell的检测难点在于PowerShell本身为系统正常功能之一,存在误报的问题。因此检测除了常规的静态分析引擎,对于函数、特征的分析外,还应该配备具有脚本分析能力的沙箱,提取行为特征、流量特征等,并进行威胁情报的匹配,多方结合从而降低误报率。此外还能通过机器学习建立检测模型,辅助查杀。

三、总结

本文通过对典型APT组织使用的技术进行ATT&CK映射分析,并对其进行象限划分,明确了不同象限的应对策略,最终得出需要高度关注的高频技术,并以其中3个具有代表性技术为例,结合基于协同的持续性风险监测业务中碰到的真实案例,对其有效检测方法进行了探讨。通过总结的APT常用的高频技术,优化检测规则,并逐步扩张低频技术,从而更加从容的应对APT的攻击。可以说,ATT&CK为防御检测指明了方向,不再盲目的去防御。也正是得益于这一点,我们依托于持续性风险的监测经验,结合ATT&CK的技术框架,最终总结出了企业应该高度重视的38项高频技术,以及对应的27项子技术,以为企业进行防御体系建设提供参考(具体技术请见附表一)。

附表一、重点关注的38项高频技术

0 人点赞