来源:https://core.ac.uk/download/pdf/34608069.pdf,A study on Advanced Persistent Threats
最近一类被称为高级持续性威胁(APTS)的威胁已经引起了研究人员越来越多的关注,主要来自工业安全部门。APT是由老练且资源丰富的对手针对知名公司和政府的特定信息实施的网络攻击,通常是在涉及不同步骤的长期活动中进行的。学术界在很大程度上忽视了这些威胁的特殊性,因此缺乏针对APT问题的客观方法。本文介绍了APT的综合研究成果,描述了APT的特点和攻击模型,并对APT攻击中常见的技术进行了分析。我们还列举了一些有助于缓解APT的非常规对策,从而突出了未来研究的方向。
1引言
自从互联网被采用以来,网络攻击就已经存在,并且在过去的几十年里已经发展了很多,从早期的病毒和蠕虫到现在的恶意软件和僵尸网络。近年来,出现了一类新的威胁,即“高级持续威胁”(APT)。最初用于描述对军事组织的网络入侵,APT已经发展并不再局限于军事领域。正如几次大规模安全漏洞[12,15,1,29]所强调的那样,APT现在瞄准的是广泛的行业和政府。
虽然APT越来越受到工业安全界的关注,但对APT研究问题缺乏全面、清晰的认识。本文给出了对APT现象的详细研究结果,并对其阶段、机制和对策进行了分类。本文首先识别了APT的特点,并将其与第二节中的传统威胁进行了比较。在第3节中,我们将典型的APT攻击分为六个阶段,分析每个阶段常用的技术。我们还列举了可用于防御APT攻击的各种对策。在第3.2节中,我们提供了四个APT的案例研究,通过应用我们提出的分类和技术分析来说明对手的战术和技术。
2定义:什么是APT?
近年来,APTS经常成为全球的头条新闻,许多人认为这个词是超载的,因为不同的人把它称为不同的东西。由于商业市场中存在着许多关于APT构成的不同意见[2,14,23],因此需要一个明确的定义。在本文中,我们采用了美国国家标准与技术研究所(NIST)给出的定义,即APT为[17]:
一个拥有高级专业知识和重要资源的对手,使其能够利用多种攻击手段(如网络、物理和欺骗)创造实现目标的机会。这些目标通常包括在目标组织的信息技术基础设施内建立和扩大立足点,以泄露信息、破坏或阻碍任务、计划或组织的关键方面;或使自身在未来实现这些目标。高级持续威胁:(i)在较长时间内反复追求其目标;(ii)适应防御者的抵抗努力;以及(iii)决心保持执行其目标所需的互动水平。
这个定义为区分传统威胁和APT提供了良好的基础。APTS的特点是:(1)特定目标和明确目标;(2)组织严密、资源丰富的攻击者;(3)长期反复尝试的战役;(4)隐蔽和躲避攻击技术。我们将在下面详细介绍这些特性。
(1)特定目标和明确目标(Specific targets and clear objectives)。APT攻击是高目标攻击,其总是有明确的目标。目标通常是拥有大量知识产权价值的政府或组织。根据2013年FireEye发现的APT攻击数量[11],十大行业垂直目标是教育、金融、高科技、政府、咨询、能源、化学、电信、医疗和航空航天。虽然传统攻击尽可能广泛地传播,以提高成功的机会和最大化收获,但APT攻击只集中在其预先定义的目标上,限制了其攻击范围。
对于攻击目标,APT通常寻找具有竞争优势或战略利益的数字资产,如国家安全数据、知识产权、商业秘密等。而传统的威胁主要是搜索个人信息,如信用卡数据,或一般有价值的信息,以促进财务收益。
(2)高度组织和资源丰富的攻击者(Highly organized and well-resourced attackers)。APT背后的参与者通常是一组熟练的黑客,以协调的方式工作。他们可能在政府/军事网络单位工作[15],或者被政府和私营公司雇佣为网络雇佣兵[9]。从财务和技术角度来看,他们都有充足的资源。这为他们提供了长期工作的能力,并且可以(通过开发或采购)访问零日漏洞和攻击工具。当他们是国家资助的,他们甚至可能在军事或国家情报的支持下运作。
(3)一个长期的战役,反复尝试一个APT攻击(A long-term campaign with repeated attempts)。通常是一个长期的战役,可以在目标的网络中保持几个月或几年不被发现。聪明的行动者会不断攻击他们的目标,当先前的尝试失败时,他们会不断调整自己的努力来完成任务。这与传统的威胁不同,因为传统的攻击者经常瞄准各种各样的受害者,如果他们不能穿透最初的目标,他们将直接进入不安全的地方。
(4)隐身和躲避技术(Stealthy and evasive techniques)。APT攻击是秘密的,具有不被发现的能力,将自己隐藏在企业网络流量中,并进行足够的交互以实现定义的目标。例如,APT参与者可以使用零日漏洞来避免基于签名的检测,并使用加密来模糊网络流量。这与传统攻击不同,攻击者通常使用“击打和抢夺”战术来警告防御者。
在表1中,我们总结了传统威胁和APT攻击在几种攻击属性之间的差异。
3攻击模式:APT如何工作?
APT攻击是精心策划的,通常涉及多个步骤。虽然特定的APT攻击可能有其独特的特点,但APT攻击的阶段是相似的,并且它们主要在每个阶段使用的技术上有所不同。为了描述APT攻击的阶段,我们采用了一个基于[7]中引入的“入侵杀伤链”概念的六阶段模型。使用这种杀伤链模型有助于理解威胁参与者在每个阶段的技术,并为防御APT攻击提供指导。
3.1 APT攻击的阶段
典型的APT攻击将有以下六个阶段:(1)侦察和武器化;(2)传递;(3)初始入侵;(4)指挥和控制;(5)横向移动;(6)数据外泄。
(1)侦察和武器化侦察又称信息收集,是发动攻击前的重要准备步骤。在此阶段,攻击者识别和研究目标组织,尽可能收集有关该组织的技术环境和关键人员的信息。这些信息通常是通过开源情报(OSINT)工具和社会工程技术收集的。
——社会工程。社会工程指的是心理操纵人们实现目标,这些目标可能符合目标的最大利益,也可能不符合目标的最大利益。在网络攻击中,它通常用于获取敏感信息,或使目标采取某种行动(例如执行恶意软件)。
——OSINT。OSINT是一种从公开来源收集情报的形式,现在它通常指通过互联网上的付费或免费来源收集有关某一主题的信息。可以通过OSINT收集各种信息,从员工的个人档案到组织中的硬件和软件配置。
除了简单地从网络上获取信息外,攻击者还可以使用数据挖掘技术和大数据分析来自动处理收集的数据,以产生可操作的情报。基于收集到的情报,APT行动者构建攻击计划并准备必要的工具。为了取得成功,攻击者通常为不同的攻击向量准备各种工具,以便在失败时调整策略。
(2)在此阶段,攻击者将其漏洞攻击传递到目标。有两种传递机制:直接传递和间接传递。对于直接传递,攻击者通过各种社会工程技术(如鱼叉钓鱼)向目标发送漏洞。
间接传递是秘密的。在这种方法中,攻击者将危害目标信任的第三方,然后使用受损的第三方间接服务于漏洞利用。受信任的第三方可以是目标组织中使用的软件/硬件的供应商,也可以是目标人员经常访问的合法网站(水坑攻击)。
——鱼叉钓鱼。鱼叉钓鱼是一种针对性的网络钓鱼形式,其中欺诈性电子邮件仅针对一小部分选定的收件人。它通常使用侦察过程中收集的信息,使攻击更加具体,对目标更加“个人”,以增加成功的概率。接收者被引诱去下载一个看似无害的包含漏洞攻击的附件,或者点击一个指向恶意站点的链接,该链接的网站为驱动下载漏洞提供服务[27]。在APT攻击中,恶意附件的使用频率高于恶意链接,因为人们通常在公司或政府环境中通过电子邮件共享文件(如报告、业务文档和简历)。
——水坑攻击。水坑攻击的概念类似于沙漠中等待水坑的捕食者,因为捕食者知道受害者将不得不来到水坑。同样,攻击者可以识别目标用户经常访问的第三方网站,然后尝试用恶意软件感染其中一个或多个网站,而不是主动发送恶意电子邮件。最终,当被感染的网页被受害者浏览时,传递就完成了[18]。在几个APT活动中已经看到使用水坑攻击[5,6,10]。
(3)初始入侵。当攻击者首次未经授权访问目标计算机/网络时,会发生初始入侵。虽然攻击者可以通过社会工程获取访问凭证,并将其简单地用于“合法”访问,但入侵的典型方式是执行恶意代码,利用目标计算机中的漏洞进行攻击。攻击者首先在传递阶段传递恶意代码,然后在入侵阶段成功执行漏洞攻击时获得对目标计算机的访问权。
在APT攻击中,攻击者通常关注Adobe PDF、Adobe Flash和Microsoft Office以及Internet Explorer中的漏洞。虽然一些APT攻击[12,20]利用零日漏洞进行初始入侵,但许多APT攻击还使用针对未修补应用程序的较旧漏洞。
初始入侵是APT攻击的关键阶段,因为APT参与者在此阶段在目标网络中建立了立足点。成功的入侵通常会导致安装后门恶意软件。从这一点上来说,威胁行动者连接到目标的网络。结果,网络流量被生成,文件证据被留在受害者的计算机上,这使得防御者有机会在早期阶段检测到APT。
(4)命令和控制。成功建立后门后,APT参与者使用命令和控制(C2)机制来控制受损计算机,从而进一步利用网络。为了逃避检测,攻击者越来越多地利用各种合法的服务和公共可用的工具。
——社交网站。攻击者在各种社交网站上注册帐户,并将控制信息放入博客文章或状态消息中[16]。
——TOR匿名网络。配置为仅通过TOR接收入站连接的服务器称为隐藏服务。将C2服务器作为隐藏服务托管在Tor中会使它们难以识别、黑名单或消除。
——远程访问工具(RATS)。虽然RAT经常被用于合法的远程管理,但它们通常与网络攻击有关[3,28]。RAT包含两个组件:驻留在受害者端点上的“服务器”和安装在攻击者计算机上的“客户机”。为了使其工作,首先需要将“服务器”组件发送到目标的机器,这通常是通过鱼叉钓鱼电子邮件完成的。
(5)横向移动。一旦受损系统和指挥控制服务器之间的通信建立,威胁行动者就进入网络,以扩大对目标组织的控制,从而使他们能够发现和收集有价值的数据。横向移动通常包括以下活动:(1)执行内部侦察以绘制网络图并获取情报;(2)为获取凭证和获得升级的特权而牺牲附加系统;(3)识别和收集有价值的数字资产,如开发计划、商业秘密等。
此阶段通常持续很长时间,因为(1)攻击者希望在长期内获取最多的信息;(2)为了避免检测,活动被设计为低速度运行。当合适的行动者深入网络时,他们的行动变得难以察觉。APT参与者通常使用IT管理员通常使用的合法操作系统功能和工具,他们还可能破解或窃取凭证以获得合法访问,这两种方式都使他们的活动无法检测,甚至无法追踪。
(6)数据泄露。APT攻击的主要目标是窃取敏感数据以获得战略利益,因此数据泄露是攻击者的关键步骤。通常情况下,数据会被收集到一个内部临时服务器中,在该服务器中,数据会被压缩并经常加密,以便在攻击者的控制下传输到外部位置。为了隐藏传输过程,APT参与者通常使用安全协议,如SSL/TLS,或者利用Tor网络的匿名特性[16]。
3.2 APT攻击案例研究
为了更好地理解APT攻击模型,我们研究了不同来源报告的四个APT攻击[12,20,29,10],将攻击者的行为映射到我们的六阶段模型中。结果如表2所示。
3.3对策
由于APTS的复杂性和隐蔽性,没有单一的解决方案能够提供有效的保护。目前的最佳做法是采取广泛的安全对策,形成多层防御。然而,由于APT的特殊性质,一些现有的防御系统需要重新设计以在APT环境下工作,因此需要进行额外的研究。例如,虽然遗传算法已被证明对恶意软件检测有用,但其在大型数据集中的适用性仍有待进一步研究。下面我们将详细介绍一些防御技术。
安全意识培训。考虑到社会工程技术(如矛式网络钓鱼电子邮件)在APT活动中的广泛应用,安全意识培训在防御中起着重要作用。除了一般的最佳安全实践外,培训还应提供有关APT攻击的教育。根据APT意识研究[8],超过一半的行业没有意识到APT与传统威胁之间的差异,67%的受访者报告说,与APT相关的意识培训不足。
传统防御机制。传统的防御机制是必要的,因为它们阻止了已知的攻击向量,从而增加了APT参与者的难度。必须采用的常见对策有:补丁管理、防病毒软件、防火墙、基于主机的入侵检测系统(HIDS)、基于网络的入侵检测系统(NIDS)、入侵预防系统(IPS)、安全信息和事件管理(SIEM)、内容过滤软件等。安全意识培训和传统防御机制并不能完全解决APT问题。防御者应将其与以下旨在缓解APT的先进对策结合起来。
高级恶意软件检测。恶意软件对于初始入侵至关重要。由于APT参与者经常利用零日漏洞或自定义开发的规避工具绕过传统防御,因此检测高级恶意软件的能力对于抵御APT非常重要。沙盒执行是一种经过验证的分析恶意软件行为的技术,它允许防御者识别未知的高级恶意软件[19]。由于高级恶意软件可能利用各种沙盒入侵技术[22]检测虚拟机环境,因此在使用沙盒执行时,必须考虑这些沙盒规避技术。此外,这一领域的研究挑战是在线执行恶意软件分析,并以非侵入式方式进行。
事件异常检测。由于APT行动者使用各种隐蔽和规避技术,因此传统的基于签名的防御机制无法使用“已知的坏”模式。一种有效的APT检测方法不是寻找“已知的坏”项目,而是研究正常行为并寻找异常活动。异常检测包括检测可疑网络流量和可疑系统活动,或“不规则”活动集群(可能通过机器学习获得)。由于大量的数据需要在合理的时间内进行分析,异常检测通常涉及大数据分析的研究问题。有几位研究人员提议使用大数据分析进行APT检测。在[4]中,Giura&Wang实现了基于MapReduce的大规模分布式计算框架,以处理所有可能的事件,这些事件可用于检测APT攻击。Liu et. al。[13]证明了使用Hadoop和Lucene分析大量HTTP请求有助于根据已知的APT受害者快速发现潜在的受害者。
数据丢失预防。由于APT攻击的最终目标是将有价值的数据从目标的网络传输到外部,因此可以将完全上下文感知的数据丢失预防(DLP)解决方案部署为最后一道防线,以保护敏感数据不被泄漏。DLP解决方案是一个设计用于检测和防止潜在数据泄露的系统,通过在使用、运行和静止时监控和阻止敏感数据。它要求防御程序首先识别其敏感和关键数据,并在DLP应用程序中定义策略和规则以进行保护。一个示例研究解决方案是[21]。
情报驱动防御。情报驱动防御不是一种特定的防御解决方案,它是一种利用对敌方的了解,并根据收集到的情报调整防御的防御策略[7]。由于确定了APT参与者,并且通常对目标发起重复攻击,防御者可以创建一个情报反馈循环,使他们能够识别先前入侵尝试的模式,了解对手的技术,然后实施对策以降低后续入侵的风险。
在表3中,我们总结了APT攻击的每个阶段中常见的攻击技术和工具。此外,我们还确定了可在每个阶段应用的对策。
有几篇文章[24,25]简要解释了APT攻击并讨论了检测技术。然而,它们并没有我们提出的分析那么全面。至于应对措施,一些学术研究人员提出使用大数据分析进行APT检测[4,13]
5结论
APT是复杂的、特定的和不断演变的威胁,但在其过程中可以识别出某些模式。本文主要研究这些共性的识别。传统的对抗措施是必要的,但不足以抵御APTS。为了减轻APT带来的风险,防御者必须对攻击中涉及的步骤和技术有一个基本的了解,并开发新的能力来解决APT攻击的具体问题。通过对公共APT案例和安全行业的产品的研究,我们提出了对APT的宽泛的看法,这应该在安全领域内建立共识,为进一步的防御性研究提供指导。