在上一篇文章中,我们简单介绍了这个由美国研究机构MITRE于2014年推出的新型攻击框架ATT&CK的相关概念。ATT&CK是将已知攻击者的行为汇总成战术和技术的一种结构化列表,由于此列表相当全面的呈现了攻击者再攻击网络时所采用的行为,因此对于各种进攻性和防御性考量机制十分有用。
听完了上一篇的这些概念可能你还是一头雾水亦或者是能理解个大概,都不用担心。本篇美创安全实验室将继续带你深入了解ATT&CK,详细到每一项战术、每一个落地场景,保证你看完之后会对ATT&CK有不一样的认知,话不多说,我们直接进入正题。
ATT&CK战术按照逻辑分布在多个矩阵中,以 “初始访问” 战术开始,经过 “执行”、“持久化”、“提权”、“防御绕过”、“凭据访问”、“发现”、“横向移动”、“收集”、“命令与控制”、“数据泄露“、”影响“ 等共计12项战术。每项战术下有着数量不同的技术存在,而且每种技术都有唯一的ID号码,例如“初始访问”下的“鱼叉式链接“技术ID为T1192。
通常来说,攻击者不会使用全部12项战术用于同一次攻击, 因为这会增加被发现的几率。但不管怎样,12项战术的顺序是一定的,也就是说某种程度上攻击者的攻击行为是可以预测到的,那么我们有必要把12项战术依次讲解一下。
初始访问
首先是初始访问战术,尽管ATT&CK并不是按照任何线性顺序排列的,但初始访问是攻击者在企业环境中的立足点。对于企业来说,该战术是从PRE-ATT&CK到ATT&CK的理想过渡点。攻击者会使用不同技术来实现初始访问技术。
例如,假设攻击者使用鱼叉式附件。而附件本身可能利用了某种类型的漏洞(例如PowerShell或其他脚本)来实现初始访问。如果该脚本执行成功,那么攻击者就可以采用下一步策略或者技术来实现对电脑的掌控。但好在有大量案例的发生,是我们获得了很多可以用来减轻或检测的技术和方法。
除此之外,安全人员也可以将ATT&CK和CIS(互联网安全中心)控制措施相结合,这将发挥更大作用。 根据CIS发布的新版20大安全控制,能够有效针对“初始访问”战术的控制措施有控制措施4:控制管理员权限的使用;控制措施7:电子邮件和Web浏览器保护;控制措施16:帐户监视和控制。
初始访问是攻击者将在企业环境中的落脚点。想要尽早终止攻击,那么“初始访问”将是一个很合适的起点。此外,如果企业已经采用了CIS控制措施并且正在开始采用ATT&CK的方法的话将会更加有效。
执行
“执行”战术是所有攻击者都必然会采用的一个战术,因为无论攻击者通过恶意软件、勒索软件还是APT攻击等手段,为了能成功攻入主机最终都会选择“执行”战术。这是逃不开、躲不掉的,但换个角度想,如果恶意软件必须运行,安全防御人员将有机会阻止或者检测他,无论是主动出击式还是守株待兔式,都有可能成功防住。但是值得注意的是,并非所有的恶软都是可以用杀毒软件轻松找到的可执行文件,成熟的恶软会被攻击者精心包装,做了免杀加壳甚至自动备份隐藏,在面对这种机器无法扫描到的情况就需要人来进行干预。
说到针对此战术的控制措施可能目前比较有用的是应用白名单技术,虽然这并不是一个能根治此问题的灵丹妙药但也算是当前网络环境下的最优解了。同时,使用白名单技术不仅会降低攻击者的攻击效率使攻击成本增大,最重要的是利用白名单可能会打破攻击者的技术栈,进入到他们并不熟悉的领域以此来使用其他策略和技术,而此时攻击者就有可能因为考虑不周或不够熟练而犯错,我们也就能及时阻止。
如果企业当前正在应用CIS关键安全控制措施,该战术与控制措施2——已授权和未授权软件清单非常匹配。从缓解的角度来看,企业无法防护自己未知的东西,因此,第一步是要了解自己的财产。要正确利用ATT&CK,企业不仅需要深入了解已安装的应用程序,还要清楚内置工具或附加组件会给企业组织带来的额外风险。
持久化
“持久化”战术是所有攻击者最受追捧的技术之一,除勒索软件外,大部分攻击者的存活时间取决于你何时被检测系统发现,试想一下,一个攻击者花了很大的攻击成本攻入了某台主机后,他必然不愿意再花同样的时间成本浪费在下次登陆的过程中,所以最简便最能减少工作量的方法就是“留后门”或者叫“持久化”。在攻击者成功执行完“持久化”之后,即便运维人员采取重启、更改凭据等措施后,持久化依然可以让计算机再次感染病毒或维护其现有连接。例如“更改注册表、启动文件夹、镜像劫持(IFEO)”等等。顺便一提,美创安全实验室增加发表过一篇关于“如何利用镜像劫持攻击来实现持久化”的文章,欢迎感兴趣的同学查看。
言归正传,在ATT&CK的所有战术中,持久化是最有战略意义的战术之一,也是我们最应该关注的战术之一。如果企业在终端上发现恶意软件并将其删除,很有可能它还会重新出现。这可能是因为有漏洞还未修补,但也可能是因为攻击者已经在此或网络上的其它地方建立了持久化,因此我们在做安全检测时,绝不能只停留于表面、而要进行全面检查,有问题处理问题是应该的但更要的是要想办法杜绝此问题的再次发生。
提升权限
“提权”战术也是攻击者比较追捧的技术之一,毕竟不是每位攻击者都能够使用管理员账号进行攻击,谁都希望自己能获得最大的权限,利用系统漏洞达到root级访问权限可以说是攻击者的核心目标之一了。
ATT&CK提出 “应重点防止对抗工具在活动链中的早期阶段运行,并重点识别随后的恶意行为。”这意味着需要利用纵深防御来防止感染病毒,例如终端的外围防御或应用白名单。对于超出ATT&CK建议范围之外的权限升级,一种良好的防止方式是在终端上使用加固基线。例如CIS基线提供了详细的分步指南,指导企业如何加固系统,抵御攻击。
应对此类攻击战术另一个办法是审计日志记录。当攻击者采用其中某些技术时,它们将留下蛛丝马迹,暴露他们的目的。尤其是针对主机侧的日志,如果能够记录服务器的所有运维命令,进行存证以及实时审计。例如,实时审计运维人员在服务器上操作步骤,一旦发现不合规行为可以进行实时告警,也可以作为事后审计存证。也可以将数据信息对接给SOC、态势感知等产品,也可以对接给编排系统。
防御绕过
“防御绕过”战术直至目前最新版的ATT&CK框架,仍是拥有技术最多的战术,目前包含69项技术。而防御绕过中有一些技术可以让一些恶意软件骗过防病毒产品,让这些防病毒产品根本无法对其进行检查,又或者绕过白名单技术。例如,修改注册表键值、删除核心文件、禁用安全工具等等。当然作为防御者的我们,在应对此类战术时可以通过监视终端上的更改并收集关键系统的日志将会让入侵无处遁形。
除此之外,对于勒索软件来说这又是另一番情况。不同于其他需要隐藏的恶意软件,勒索软件的唯一目标就是在设备上成功执行一次,使用加密函数把文件加密就可以了,然后就是希望能够被尽快发现与攻击者联系。因此勒索软件对防御绕过的需求不是很大,但也绝不是没有。
凭据访问
“凭据访问”也是攻击者当中较为火热的战术,毫无疑问,“凭据”是攻击者最想要的东西之一,因为有了凭据,不仅能节省下来大量的攻击成本,而且减少了攻击被发现的风险。试想一下,如果攻击者可以堂而皇之的进行登录,那么为什么要花费大量的攻击成本冒险使用0day漏洞入侵呢。
任何攻击者在攻入企业后都希望能保持一定程度的隐身状态,毕竟如果不熟知内网环境的话贸然行动会增大暴露的风险。他们更希望窃取尽可能多的凭据,例如各种各样的密码或者口令。当然,攻击者最喜欢的毫无疑问的是明文密码了,明文密码可能存储与明文文件中、数据库中、注册表中、甚至是注释中。攻击者入侵系统、窃取本地管理员明文密码的案例多的是。
应对此战术的办法最简单的是加强密码的健壮性,那么如何增强密码的健壮性呢,可能很多人觉得是采用更复杂的密码,特殊字符、数字、字母混搭的办法,其实不尽然。最有效增强密码健壮性的方法是提升密码长度,其具体理论与实验过程将在发表在美创安全实验室的论文中,所以这里就只说一个结论。
除此之外最稳妥的办法就是启用多因素验证(MFA)。即使存在针对双重验证的攻击,有双重验证(2FA)总比没有好。通过启用多因素验证,可以确保破解密码的攻击者在访问环境中的关键数据时,仍会遇到另一个障碍。
发现
“发现”战术可以说是整个ATT&CK框架中最难以防御的策略,可以说是“防不胜防啊”。其实“发现”战术与上一篇简单提到过的洛克希德·马丁网络Kill Chain的侦查阶段有很多相似之处。组织机构要正常运营业务,肯定会暴露某些特定方面的内容。
那么针对此战术最常用的防御手段就是应用白名单技术,以美创科技的诺亚防勒索系统为例,无论是启动“绝对防御“的堡垒模式还是针对特定文件或特定应用的防护规则都是基于白名单技术的,其只能允许特定应用访问某些数据,对于不在白名单上的请求一律拒绝,可以解决大部分恶意软件。此外,欺骗防御也是一个很好的方法,放置一些虚假信息让攻击者发现,进而检测到对手的活动。通过监视,可以跟踪用户是否正在访问不应访问的文档。
由于用户通常在日常工作中执行各种技术中所述的许多操作,因此,从各种干扰中筛选出恶意活动可能非常困难。理解哪些操作属于正常现象,并为预期行为设定基准时,会在尝试使用这一战术时有所帮助。
横向移动
“横向移动”战术是攻击者常用战术之一,在攻击者利用某个漏洞进入系统后,无论是为了收集信息还是继续为了下一步攻击寻找突破点,通常都会尝试在网络内横向移动。哪怕是勒索软件,甚至是只针对单个系统的勒索软件,通常也会试图在网络中移动寻找其攻击目标。攻击者一般都会先寻找一个落脚点,然后开始在各个系统中移动,寻找更好的访问权限,最终控制整体网络。
在缓解和检测对该特定技术的滥用方面,适当的网络分段可以在很大程度上缓解风险。将关键系统放置在一个子网中,将通用用户放置在另一个子网中,将系统管理员放置在第三个子网中,有助于快速隔离较小网络中的横向移动。在终端和交换机级别都设置防火墙也将有助于限制横向移动。
根据CIS的20项控制措施,我们可以发现其中的第14项:基于需要了解受控访问是一个很好的切入点。除此之外,还应遵循控制措施第4项:控制管理员权限的使用。攻击者寻求的是管理员凭据,因此,严格控制管理员凭据的使用方式和位置,将会提高攻击者窃取管理员凭据的难度。此控制措施的另一部分是记录管理凭据的使用情况。即使管理员每天都在使用其凭据,但他们应该遵循其常规模式。发现异常行为可能表明攻击者正在滥用有效凭据。
收集
ATT&CK的 “收集”战术是一种攻击者为了发现和收集实现目标所需的数据而采取的技术。但是该战术中列出的许多技术都没有关于如何减轻这些技术的实际指导。实际上,大多数都是含糊其辞,称使用应用白名单,或者建议在生命周期的早期阶段阻止攻击者。
但是,企业可以使用该战术中的各种技术,了解更多有关恶意软件是如何处理组织机构中数据的信息。攻击者会尝试窃取有关当前用户的信息,包括屏幕上有什么内容、用户在输入什么内容、用户讨论的内容以及用户的外貌特征。除此之外,他们还会寻求本地系统上的敏感数据以及网络上其它地方的数据。
了解企业存储敏感数据的位置,并采用适当的控制措施加以保护。这个过程遵循CIS控制措施14:基于需要了解受控访问,可以帮助防止数据落入敌手。对于极其敏感的数据,可查看更多的日志记录,了解哪些人正在访问该数据以及他们正在使用该数据做什么。
命令和控制
现在大多数恶意软件都有一定程度的命令和控制权。黑客可以通过命令和控制权来渗透数据、告诉恶意软件下一步执行什么指令。对于每种命令和控制,攻击者都是从远程位置访问网络。因此了解网络上发生的事情对于解决这些技术至关重要。
在许多情况下,正确配置防火墙可以起到一定作用。一些恶意软件家族会试图在不常见的网络端口上隐藏流量,也有一些恶意软件会使用80和443等端口来尝试混入网络噪音中。在这种情况下,企业需要使用边界防火墙来提供威胁情报数据,识别恶意URL和IP地址。虽然这不会阻止所有攻击,但有助于过滤一些常见的恶意软件。
如果边界防火墙无法提供威胁情报,则应将防火墙或边界日志发送到日志服务处理中心,安全引擎服务器可以对该级别数据进行深入分析。例如Splunk等工具为识别恶意命令和控制流量提供了良好的方案。
数据渗漏
攻击者获得访问权限后,会四处搜寻相关数据,然后开始着手数据渗透。但并不是所有恶意软件都能到达这个阶段。例如,勒索软件通常对数据逐渐渗出没有兴趣。与“收集”战术一样,该战术对于如何缓解攻击者获取公司数据,几乎没有提供指导意见。
在数据通过网络渗漏的情况下,建立网络入侵检测或预防系统有助于识别何时传输数据,尤其是在攻击者窃取大量数据(如客户数据库)的情况下。此外,尽管DLP成本高昂,程序复杂,但可以确定敏感数据何时会泄露出去。IDS、IPS和DLP都不是100%准确的,所以部署一个纵深防御体系结构以确保机密数据保持机密。
如果企业组织机构要处理高度敏感的数据,那么应重点关注限制外部驱动器的访问权限,例如USB接口,限制其对这些文件的访问权限,即可禁用他们装载外部驱动器的功能。
要正确地解决这个战术,首先需要知道组织机构的关键数据所在的位置。如果这些数据还在,可以按照CIS 控制措施14:基于需要了解受控访问,来确保数据安全。之后,按照CIS控制措施13:数据保护中的说明了解如何监视试图访问数据的用户。
影响
“影响”是ATT&CK最后一项战术,攻击者试图操纵、中断或破坏企业的系统和数据。用于影响的技术包括破坏或篡改数据。在某些情况下,业务流程可能看起来很好,但可能已经更改为有利于对手的目标。这些技术可能被对手用来完成他们的最终目标,或者为机密泄露提供掩护。
例如攻击者可能破坏特定系统数据和文件,从而中断系统服务和网络资源的可用性。数据销毁可能会通过覆盖本地或远程驱动器上的文件或数据使存储的数据无法恢复。针对这类破坏可以考虑实施IT灾难恢复计划,其中包含用于进行可用于还原组织数据的常规数据备份的过程。
本篇文章到这里就结束了,回顾一下本期的主要内容,重点讲述了ATT&CK框架的所有12项战术,包括涵盖了哪些具体技术,战术目的,防御方法以及某些特殊情况。相信认真看完了本期内容,加上第一期的主要概念的朋友,对这个ATT&CK这个词已经有了些自己的理解了吧。但可能还有一些朋友想更细致的了解一些ATT&CK落地细则或者应用场景,不要着急,下期美创安全实验室将给大家带来ATT&CK系列技术文章的最后一篇,跟大家一起研究一下国内外ATT&CK的实施场景和落地项目,敬请期待。