APT(Advanced Persistent Threat,高级持续性威胁)一般特指网络空间安全事件中组织性好、隐蔽性高、针对性强、危害性大和技术复杂的高端攻击形式。 本节将对其模型、要素和特点进行分析,并讨论可能的追踪方式。
网络空间安全史上,发生过多起APT攻击的典型案例。纵观这些案例的分析结果,虽然它们利用的手段和工具不尽相同,但都有着明确的攻击目标。根据对大量APT攻击事件的跟踪和分析可以发现:虽然APT攻击具有明显的定制化特征,但是一般来说,所使用技术和方法的差异主要发生在“突破防线”和“完成任务”两个阶段。许多APT攻击在被发现之前已经潜伏攻击多年,其开始时间往往无法考证。虽然现在对于很多APT攻击的完整细节了解还不够充分,但从已知的APT攻击案例可以清晰地发现,APT攻击具有以下重要特征。
(1)采用社交欺骗
社会工程学是APT攻击的一个关键元素,也是该攻击和其他黑客技术的不同之处。攻击者首先利用社会工程学进行信息的收集,然后使用收集的信息通过社会工程操纵攻击目标下载恶意软件或在一个虚假网站上提供用于身份认证的凭证。APT不是试图去入侵或者击败一个网络安全产品,而是充分地利用了人的因素避免被发现。这也是APT如此难以防范和检测的原因之一。
采用不同形式的社交网络欺骗是攻击者经常发动攻击的突破口。由于APT攻击在实施初期大多利用社会工程学手段,具有很强的迷惑性和欺骗性,利用人们心理上容易受欺骗的弱点。目标人群的社会关系、工作背景、上网行为习惯、邮箱地址和兴趣爱好等是攻击者主要收集的信息,在得到目标攻击者详细信息之后他们会精心设置专门的社交攻击圈套,利用多种形式诱骗目标人员访问恶意网站,下载并安装带有攻击代码的文件和程序。
分析许多APT攻击案例会发现,社交网站、网络聊天室、博客、微信朋友圈、论坛和搜索引擎是APT攻击收集信息时利用的主要网络资源。例如,利用被攻击者发表的论文、出版的著作、社交网络的动态、微博的粉丝种类、使用搜索引擎的习惯和搜索的关键字等调查目标人员的专业背景和整体社会关系。这种行为有效地突破了网络的物理隔离,避免了防病毒查杀,顺利通过身份认证等安全防护,最终成功实现了攻击代码的渗透和利用。
(2)利用零日漏洞
APT攻击经常利用零日漏洞进行进一步攻陷系统。攻击者希望寻找到确定的零日漏洞,用来在目标组织的IT系统其他部分中传播恶意软件。攻击者经常大量利用已知或未知的系统漏洞、应用漏洞,实现代码的运行和权限的提升,达到在网络内部的隐蔽传播和获得系统控制权。实际上,对于APT攻击者而言,通过对系统安装应用程序的版本和系统升级安装补丁的探测,常常会发现许多已经公布但还没有安装补丁的漏洞,这在某种意义上也属于实施攻击利用的零日漏洞。攻击者依据找到的针对性的安全漏洞,特别是零日漏洞,根据应用本身特征编制专门的触发攻击代码,并编写既符合自己攻击目标又能够绕过现有防护者检测体系的特种木马。这些零日漏洞和特种木马,都是防护者或防护体系所不知道的。例如,“震网”病毒主要利用网络共享和SQL注入两种类型共6个漏洞,其中两个为零日漏洞。Zero Access利用浏览器或Adobe Reader中的漏洞触发攻击。Duqu病毒利用Windows内核漏洞,触发漏洞的病毒载体为嵌入恶意字体文件的Word文档,一旦目标用户打开Word文档,恶意代码就会自动以系统最高权限运行。
(3)开发高级恶意软件
普通恶意软件有各种攻击特性和功能,以及感染用户端点和服务器系统的能力。至于那些能够综合实现基于主机的检测系统隐藏、浏览网络、捕捉和窃取关键数据,并利用隐蔽通道进行远程控制等功能复杂的高级恶意软件,APT组织会按需定制开发。定制开发的恶意软件工具经常利用已有的恶意软件的代码进行不同程度的改造,实现从非标准系统中接近特定的目标并收获信息。高级恶意软件的布放方法有很多种,如恶意无线网络、P2P种子陷阱和特制的高级鱼叉式网络钓鱼等。图1-14所示的“震网”病毒具有极为复杂的结构与无比精密的设计,它利用了操作系统的多个漏洞,可以自动传播、感染和隐身,比此前的恶意软件复杂20多倍,这标志着网络武器已完成由构造简单的低端工具向结构复杂的高端进攻型武器的转变。
·图1-14 复杂的“震网”病毒(来自安天实验室)
(4)善于逃避检测
攻击者在综合利用多种情报手段感知攻击目标的网络环境状况的基础上,有针对地选择逃避检测的方式。例如,为了准确和详细获取目标人员或系统的信息,APT攻击者会通过寻找目标所在的公有IP地址段、内部IP网段扫描、系统特征分析、系统漏洞扫描、应用软件安装探测、防病毒软件版本和升级情况探测、网络流量特征分析等详细探知攻击目标的网络环境状况。利用探知的信息有针对性地制定攻击策略,将恶意攻击行为伪装成正常网络或系统行为,达到逃避检测的目的。同时,综合运用多种先进技术,如病毒程序压缩、定制化编译、加密核心代码、变体加壳和代码注入等降低攻击代码被检测出的概率,如火焰病毒会根据不同目标系统中的硬件和软件环境特点,选择不同的病毒攻击模块实施注入攻击,可以最大限度地逃避检测。
(5)利用授权用户和可信链接
APT通常利用IT环境中的授权用户和目标进入受保护系统并获取有价值的信息。攻克用户和系统之间的可信连接是APT攻击的一种常见的策略。恶意软件有能力去分解一个克隆证书所生成的密钥,制造一个可信任的证书。攻击者分解并利用弱密钥的示例已经很多了,早在2011年,Fox-IT、Microsoft、Mozilla和Entrust就已经发出过警告。许多APT组织都采取盗用第三方证书来签名其恶意程序的方法,获得用户的信任。
(6)隐蔽的C&C通信
APT利用恶意软件和零日漏洞可以打开后门与远程指挥控制中心通信,从而获取攻击者端的具体指令和传回获取的敏感数据。
APT十分注重隐藏,一般采用动态域名解析的方式实现命令和控制(C&C)隐蔽通信。加密通信通道和信息隐藏技术被用来实现C&C数据的隐蔽通信。攻击者在使用命令和控制C&C通信时利用命令行界面工具,能够建立到Hotmail的HTTPS连接来传输窃取的数据,并且伪装成合法流量的样子,通过合法的加密通道外流,同时运用代理和多跳传输的方式使得审核异常检测防护系统很难发觉。例如,高斯病毒的病毒模块采用了压缩核心入侵代码和加密控制通信信道的方式实现隐蔽的C&C通信。Cybercraft能够根据C&C通信的流量和信息传输载体的类型等要素综合考量,自适应选择传输路径与隐蔽通信方法,尽可能降低攻击被发现的概率。火焰病毒在窃取和回传信息时采用多种加密手段,使得回传的核心数据不易被截获或追查。同时,为了进一步确保通信的隐蔽性,用于指挥C&C通信的服务器和IP地址频繁更换,很难被追踪。
同时,隐蔽的通信模式也是APT检测和取证利用的重要一环。因为C&C通信方式的选取和C&C服务器的配置也是鉴别攻击来源的一种方式,有些APT所采用的C&C方法通常更具有一致性,所以C&C通信方式和流量可以是APT的有效识别点。例如,Onion Duke与Mini Duke是看似完全不同的软件,但是研究人员通过查看其配置发现了一些端倪。研究人员在配置信息中,发现它的某些C&C服务器的注册者与Mini Duke的C&C服务器大致上相同。这样可以推断出最新出现的Onion Duke攻击和之前发现的Mini Duke有着某种联系,从而为下一步取证和防御提供参考。
(7)组织化、模块化和智能化
在充分利用现有的攻击方式的基础上,APT不断地改进和组合,针对不同的目标定制不同的攻击模块,形成自己一套完整的智能化攻击武器库。那些 看似普通的常见手段通过利用复杂系统的关联性和智能决策技术的支持,就可以发动巧妙、复杂的攻击。这些特征充分体现出APT攻击的组织化、模块化和智能化。 例如,Koobface攻击的变种目前发现有几十种,分别能够根据目标环境的安全防护特性选择使用不同的变种;Cybercraft攻击的显著特点是能够实现智能化感知,模块化适应,以及有组织地自我防护、自我恢复和自我反击;火焰病毒具有多达20几个恶意代码模块,可以根据需要进行入侵和卸载。
APT作为网络空间对抗的高级手段,具有以下四方面的特性要素。
(1)针对性
APT攻击者针对特定的攻击目标,广泛收集情报,充分利用黑客软件和黑客技术,综合多种攻击方法,专注于目标系统的漏洞利用,通过一系列长期准备为攻击提供新的、强大的方式,一旦实施攻击必定会给目标造成严重影响。
APT攻击有针对地攻击目标有很多种类,其中微软和Adobe的办公软件产品安全漏洞是经常被利用的。在很多情形下,这些软件的使用范围较广,因此存在的很多漏洞没有及时升级且未安装补丁,针对这些漏洞编写符合既定攻击策略的代码,能够顺利地绕过防护检测体系实施有针对的攻击。攻击者会针对收集到的常用软件、常用防御策略与产品和内部网络部署等信息,搭建专门的环境,用于有针对性地寻找安全漏洞,测试特定的木马是否能绕过检测。
有迹象表明,APT攻击利用酒店的无线网络有针对性地瞄准生产制造、国防、投资资本、私人股权投资和汽车等行业的精英管理者,从这些企业高管商业访问时所住豪华酒店的网络中窃取重要信息。
(2)持续性
APT攻击者很有耐心,为了重要的目标长时间持续性地渗透寻求核心敏感数据,等待发动攻击的时机。目前发现的APT攻击为取得成功用一年到三年进行谋划和渗透,攻击成功后仍持续潜伏五年到十年的案例都有。具体是通过修改系统程序、隐藏病毒进程(Rootkit)、隐藏关键文件和隐藏目录等方式实现有目的的长期潜伏。例如,攻击者如果试图获取重要的商业信息,会持续一段时间集中分析研究目标对象的特征习惯和社会关系,其中包括对目标个人情报的采集和技术细节的分析。他们也会花费很长时间研究与目标有关的通信协议,获取目标的系统版本,利用已经掌握的相同系统的漏洞进行试探,从而获取目标系统存在的漏洞,同时在系统内部不断挖掘找出应用程序的弱点和所要获取的文件位置。他们还会长期地将程序隐藏在被攻击系统中,慢慢收集敏感信息,不断提升自己的权限,十分注重自己的隐蔽。同时,攻击者会将收集到的信息首先存储在本地的隐蔽文件或服务器中,然后陆续发送到远程攻击者的服务器中。
在这种持续性的攻击中,攻击事件的发生和发展完全处于动态之中,而当前的防护体系更多强调的是静态特征异常检测,这种方式不可能对抗长期的动态变化的持续性攻击。因此,防护者或许能挡住一时的攻击,但是随着时间的推移,系统不断有新的漏洞被发现,防御体系也会存在一定的空窗期:比如设备升级、应用需要的兼容性测试环境等,遇到这种机会攻击者就会果断进行入侵,持续性、渐进性入侵,直到达到入侵目标并提升权限。在定向入侵成功以后,攻击者会长期控制目标,获取更大的利益,同时在特定时期也会突然破坏性的爆发,最终导致系统的失守。
(3)阶段性
APT攻击行动大致分为7个阶段:利用社会工程学长期情报收集,利用鱼叉式网络钓鱼实施定向入侵,触发零日漏洞安装恶意代码,在系统中通过不断映射横向扩展搜索和挖掘关键资产和核心数据,利用特殊工具不断提升权限注重隐蔽,建立C&C通信以便部署实施长期潜伏控制,执行命令利用机密数据传输通道窃取信息或者在必要时间对系统实施破坏并清除自身痕迹。
APT攻击的生命周期通常是5个阶段:情报收集、突破防线、建立据点、隐秘横向渗透和完成任务。 情报收集阶段主要是对目标攻击者的信息收集分析的过程,找到目标系统的薄弱点;突破防线阶段是利用诸如零日漏洞、鱼叉式钓鱼和水坑攻击等手段试图入侵目标系统或者与目标系统相关的设备中;建立据点和隐秘横向渗透阶段主要是在目标系统中发掘信息横向扩展,尽可能地提升自己的权限,找到敏感信息的位置,同时与攻击者保持通信将收集到的情报上传到指定的服务器中;完成任务阶段主要是完成攻击者下达的指令获得机密信息,在必要时间使关键系统瘫痪,同时实施痕迹清理和误导,不仅能让自己的入侵不被发现,同时还可以对系统做一些适当的处理从而误导被攻击者,使得攻击更加没有踪迹可寻。
(4)间接性
任何人都有可能是APT攻击的目标,因为APT可以通过被攻击者作为跳板去入侵与之有联系的机构或者机构成员。同样,任何网站或者机构都有可能是APT攻击的目标,通过攻击一个安全防护相对薄弱的网站,就能很容易入侵浏览该网站的人员。通过入侵安全防范相对薄弱的机构,可以获得攻击与之有合作关系的最终目标机构的机会。例如,攻击者通过SQL注入攻击了Web服务器,一般也是希望利用这台被攻陷的Web服务器感染使用这台服务器的终端用户,从而利用这些终端用户作为跳板渗透进他们组织的内网。利用间接性攻击的特征不但丰富了APT攻击的路径,还增加了APT攻击的成功概率,而且使得发动APT攻击的组织不易被取证追查到。
对网络安全专家来说,用网络杀伤链(Kill Chain,也称网络攻击生命周期)来识别、分析并防止入侵的方法可能并不陌生。然而,攻击者始终在改进入侵手段,这可能要求我们重新审视网络杀伤链。
什么是网络杀伤链?“杀伤链”这个概念源自军事领域,它是一个描述攻击环节的六阶段模型,该理论也可以用来反制此类攻击(即反杀伤链)。杀伤链共有“发现→定位→跟踪→瞄准→打击→达成目标”六个环节。
在越早的杀伤链环节阻止攻击,防护效果就越好。例如,攻击者取得的信息越少,这些信息被第三人利用来发起进攻的可能性也会越小。
网络空间的杀伤链与此类似,本质是一种针对性的分阶段攻击。同样,这一理论可以用于网络防护,网络杀伤链的具体阶段如图1-15所示。
·图1-15 网络杀伤链具体阶段
要利用网络杀伤链来防止攻击者潜入网络环境,需要足够的情报和可见性来“看见”网络的“风吹草动”。当网络流量或主机终端上出现异常后,企业需要第一时间获悉并进行研判,同时为安全事件设置警报。 理论上,越在杀伤链的早期环节发现或阻止攻击,越能争取到更多防守的时间,也越能减少损失的最终发生。
(1)侦测阶段:从外部观察目标网络
在本阶段,攻击者试图确定目标的价值。他们从外部了解企业的资源和网络环境,并确定是否值得攻击。攻击者希望的理想情况是,目标防线薄弱、存在高价值数据。攻击者可以找到他们所需的信息门类,至于这些信息可能被使用的方式,那更会让企业始料未及。
目标单位的信息价值往往超出他们的想象。人员姓名等敏感信息(不仅是单位网站,而且包括社交网站的信息)是否在云端存储?这些信息可以用来实施社会工程学攻击,让相关人员透露密码。企业的网站服务器是托管给数据中心还是自主维护?这些也是攻击者关心的情报,这可以帮助攻击者缩小发现企业网络环境攻击面的工作范围。
情报层面上的问题很难处理,社交网络的普及让它变得尤为棘手。将敏感信息隐藏起来可能是一个好办法,但显然也会增加数据使用的成本,甚至影响业务。
(2)武器化、投送、激活与安装阶段:试图进入
本阶段是攻击者用工具攻击被选目标的具体过程。他们在上一阶段收集的情报数据将被用于恶意行为的实施。获得的情报越具体,社会工程学攻击就越天衣无缝。例如,通过员工信息,可以进一步设计鱼叉式钓鱼获得公司内部通讯录。或者把远程访问木马提前植入某个写有“重要内容”的文件里,诱使接收者运行它。如果知道用户服务器运行的软件信息,如操作系统版本号和应用软件类型,攻击者在企业网络里渗透和布局的把握将会大大增加。
针对本阶段的防御工作,应当参照安全标准与安全专家的建议去落实。
· 基础软件与应用程序是否在持续保持更新?这要具体到每台主机每个终端上的每个应用系统。很多单位在某个小角落还用着老式台式机,系统可能还是停服的Windows XP/7。如果这类系统接入网络,无异于对攻击者“拱手相迎”。
· 电子邮件和Web网页的过滤功能是否已经部署?电子邮件过滤可以有效阻止攻击中常用的钓鱼附件;网页过滤则可以防止用户访问已知的不良网站或域名。
· USB设备是否已得到严格管控?从安全的角度来看,自动运行USB中的可执行文件是安全大忌。任何自动执行的操作,最好在运行前都提示用户确认授权,让用户有时间进行风险判断。
· 终端防护软件的检测能力是否已实时更新?虽然终端防护软件不一定能应对新型攻击,但是它们常常可以根据已知的可疑行为或软件漏洞来捕捉威胁。
(3)命令与控制阶段(C&C):威胁已经变成现实
一旦威胁植入目标网络,它的下一个任务是给总部打电话并等待指示。恶意驻留的程序可能秘密下载额外组件,并伺机建立C&C通道与“僵尸”网络主控机通信。无论恶意软件采取何种躲避手段,在网络层,尤其防火墙与IPS安全网关位置必须建立起相应的流量检测能力。
如果最终的威胁已经发生,受害单位也应该抓紧止损补救:一是调查事件,评估损失,分析受影响的系统范围,确认被窃取或篡改的数据资产;二是对受影响的系统进行清除或重置,恢复业务;三是利用备份的数据或系统快照,快速还原到最优的运行状态,降低修复工作的时间成本。
为了规避检测,很多攻击会另辟蹊径。现实中的大量攻击事件已经充分证明了一点:攻击者不会严格按照杀伤链的预定流程来——他们可能跳过步骤、添加步骤,甚至出人预料地重复之前的步骤。种种攻击之所以经常绕过安全团队精心打造的防御体系,就是因为它们太了解防御体系的各种机制了。
另外,攻击者也可以添加步骤到杀伤链流程里,如清理痕迹、设置中断、传播虚假数据,或者安装未来用得上的后门。攻击者还可以打乱各个攻击步骤的顺序,或者重复之前的步骤。总之,杀伤链绝不是一个简单的线性过程,而更像树状、图状或根系的分支和蔓延,其过程复杂多变。
(4)持续攻击阶段:不达目标,攻击不会停止
在拒绝服务攻击案例中,服务中断不一定是攻击的最后一步。攻击者成功破坏、瘫痪或渗入系统后,还可以重复这一过程,也可以转移到另一个阶段。Preempt Security的首席执行官Ajit Sancheti认为,攻击者可能采取任意形式的组合。比如,他们可以通过破坏基础设施来进行广告欺诈或发送垃圾邮件、向企业勒索赎金等,攻击者的盈利模式在不断增加。
比特币的使用让攻击者能更简便、安全地得到回报,这导致了攻击动机的变化。以被盗的支付卡信息为例,一旦信用卡数据被盗,这些数据会被测试、出售,用于获取商品或服务,然后再用商品或服务转换为现金。
现代法证学的开山大师艾德蒙·罗卡(Edmond Locard,1877—1966)曾提出了一个用他名字命名的定律,简单来说就是八个字: 凡有接触,必留痕迹(Every contact leaves a trace)。
网络攻击极具匿名性与隐蔽性,那么网络对抗的过程是否遵守罗卡定律,一定能留下痕迹?
答案是一定的。经过多年发展,网络攻击追踪溯源已形成以下8类技术。
1)基于日志存储查询的追踪溯源技术:通过使用路由器、主机等设备对网络中传播的数据流进行存储记录,存储记录不必记录完整的数据包信息,可以只记录一些关键信息,并通过事后对这些日志信息进行查询与分析恢复出攻击路径的一类技术。
2)基于路由器输入调试的追踪溯源技术:利用路由器的调试功能进行特征匹配,如果匹配成功则该路由器在攻击路径上,一般通过从被攻击端开始回溯。
3)基于数据包标识的追踪溯源技术:将路径信息进行编码后填充在网络数据包的特定字段,跟随网络数据包在网络中传播,最后在被攻击端收集这些信息通过特定的算法恢复出攻击路径。
4)基于单独发送溯源信息的追踪溯源技术:路由器主动向转发的数据包目的地址发送ICMP报文,用于告知该路由器在该数据包的传播路径之上。
5)基于SDN的日志追踪溯源技术:将SDN网络中的流相关信息以日志或者中间文件的形式记录在控制层或者单独的溯源取证服务器,并根据日志或者中间文件重构攻击路径的技术。
6)基于SDN的路由器输入调试追踪溯源技术:通过灵活控制SDN路由器调试功能进行特征匹配恢复攻击路径的技术。
7)基于威胁情报的追踪溯源技术:通过对威胁情报信息中的“僵尸”网络、网络跳板、匿名网络和隐蔽信道等信息进行关联,实现控制主机追踪溯源,并可通过威胁情报中黑客及其组织的特征信息进行关联实现攻击者识别的技术。
8)混合追踪溯源技术:多种技术结合的追踪溯源技术,常结合采用存储查询的追踪溯源和基于数据包标记的追踪溯源这两种技术达到取长补短的目的。