浅谈APT归因

简介

本文是对《Attribution of Advanced Persistent Threats》一书的阅读理解与总结。

1.APT简介

APT,Advanced Persistent Threat,高级持久性威胁,最早是06年美国空军与民间专家讨论黑客攻击时,为了避免在调查结果报告中透露攻击者来源,同时也必须告诉民间专家,这些攻击不是普通的攻击,因此提出来"高级持续性威胁"的概念。

  • 高级:意味着这些攻击比普通的扫描或漏洞探测更复杂。
  • 持久性:意味着攻击者选择特定的目标,有必要的话还会在很长一段时间内反复尝试攻击,如果一种攻击技术失败,攻击者会及时调整攻击技术并再次尝试攻击。
  • 威胁:这个术语所指的是攻击者背后的行为者。APT不是一种技术或一类恶意软件,而是具有战略动机的行为者。

最初,美国军方关注的主要是他们认为是中国的黑客组织。后来APT这个词被民间领域和信息安全行业普遍使用后,用来指不同抽象层次的实体。比如一个幻想的名字,一个国家,或一个特定政府机构的黑客组织可以被命名为APT。

09年和10年时,媒体开始讨论APT,那时候只有趋势和McAfee的报告中开始使用APT这个词,直到13年Mandiant发布的APT1的开创性报告之后,APT这个词才被真正的确立并被大家使用。从那时候到现在,信息安全公司已经发表了几百份APT相关的报告,一百多个APT团体被命名。但是和一开始军方或情报机构不同,安全公司更多关注的是APT团体所使用的恶意软件而不是攻击背后的攻击者。在某一段时间内,杀软为了宣传自家的产品,介绍所谓高级或复杂的恶意软件,结果APT被指代成传统杀软无法检测出来的恶意软件。但是实际上,APT攻击中使用的很多恶意软件并不比普通的银行木马,僵尸网络先进。长久以来APT一直不受关注的原因是因为它们被用来对付很少的目标,因此发现它们的机会就会更少。

大约15年开始,一种名为“威胁情报”的服务开始火热起来,这种服务下,安全公司开始提供有关攻击和攻击者群体的信息,才使APT又回到其最初的意义上来。

今天所说的APT,强调了以下特点:是一个不纯粹出于经济动机的团体,但试图获取可以在战略上或政治上使用的数据,通常被认为属于某一政府组织或代表政府组织推进其战略意图的团体。

根据经验,一个APT团体的技术复杂程度与他们的OpSec密切相关,这个术语是指保护攻击者不被发现的方法和做法。16,17年NSA和CIA的一些手册和指南被公布,里面包含了如何避免某些操作被记录的详细说明,手册还解释了何时以及如何删除日志数据等,他们也代表了OpSec的最高端水平。

2.归因的过程

为什么要进行归因:

  • 满足好奇心:人类的天性就是想知道罪魁祸首,知道谁是肇事者可以推断出为什么选择特定的目标以及是否还会有类似的事件发生。
  • 合理的安全预算:了解APT针对哪些行业,可以提供哪些安全措施是优先要考虑的事情。
  • 外交层面:有充分依据的归因可以对指挥网络攻击的政府施加压力,进而进行制裁等。
  • 警告:归因到个人的报告可以导致后续的制裁,如果一个黑客不得不考虑他可能被制裁或被拒绝进入某些国家,甚至被列入国际逮捕令,那么他参与网络攻击的意愿可能会降低。
  • 公众舆论:如黑客泄密,归因有助于表明黑客是由具有战略意图的国外政府指挥的,那么对于一些敏感数据的泄露就会从对政治家犯错的批评为对国外政府的批评。

一些术语:

  • IoCs(失陷指标):为了描述攻击中使用的技术产物(artifact)。分为原子的和非原子的。原子的为IP,DOMAIN,HASH,E-mail,证书等具备唯一性的。非原子的为文件名,路径名,字符串等。
  • TTPs(战术,技术,流程):即技战术。黑客通常会习惯于某些方法,特别是他们在很长一段时间内攻击多个目标时,效率比创造力更重要,之前证明成功的方法会被再次使用。TTPs是作为分析性概念提出的,用于描述攻击者反复表现的典型行为。
  • Intrusion Set(入侵集合):一个APT团体可以根据情况采用不同的方法,例如使用不同的恶意软件,C2和漏洞。这些方法就被定义为一个入侵集合。一个定义明确的入侵集合被认为只属于一个团体。该团体可以在几个不同的入侵集合中进行选择或开发新的入侵集合。
  • APT的名称:通常APT的命名可能指的是一个恶意软件,一个入侵集合或一次行动,APT的命名混乱通常是因为安全公司之间的差异导致的,他们喜欢的细粒度不同,每个都有不同的客户,因此可以观察到不同的攻击事件,另外安全公司一般会跟踪大量的入侵集合而不公布它们,此时他们和外界并没有太多的信息交流,但其内部通常都有自己的命名,于是后期公布其发现时通常会使用自家的名称。但是如果一个恶意软件的名称被确定为一个团体的话,会出现一个特别的挑战。随着时间推移,可能会发生攻击者与他人分享恶意软件的情况,或者恶意软件是由一个承包商开发的,它有多个不同的客户,类似的情况像Winnti,其多次行动的TTPs具有明显的不同,因此目前安全界的假设是有多个人都在使用winnti。这种情况下,对APT团体使用恶意软件的名称是混乱且不正确的。
  • 钻石模型(Diamond Model):情报机构发明了一个概念,将攻击从四个方面加以区分。分别是技术能力,基础设施,受害者和攻击者的相关信息。技术能力包括恶意软件和TTPs,基础设施描述所使用的C2,受害者包括受影响组织的性质,行业或地区等信息。攻击者包括身份信息。如Winnti在钻石模型中显然属于技术能力方面而不是攻击者方面。从而可以避免前面提到的混乱。

归因的层次:

归因可以在几个不同粒度的层次上进行。

  • 一:将在某公司观察到的攻击匹配到一个APT团队。
  • 二:通过分析某一个APT团队的多次攻击的数据,可将某一个APT团队归属为某一个国家。
  • 三:分析人员定期进行的,用于区分一次攻击是国家支持的还是犯罪动机的。
  • 四:最高层次的归因是对特定组织和个人的识别。只在极少数的情况下才可能发生。例如将APT28归于俄罗斯的GRU,甚至还揭示了有一个不同的单位负责C2维护。

归因的六个阶段:

  • 一:收集数据,收集恶意软件和恶意网站的数据。
  • 二:聚类,将恶意软件进行家族分类,关联C2或IP,并查找同一模式构建的服务器。一个大型的APT团队可能会有几十种恶意软件家族,上千个样本及数千个服务器。
  • 三:确认是国家支持的还是犯罪活动,根据渗出的数据可以猜测此次活动用于什么目的,例如商业计划,合同,会议记录等数据更符合间谍活动的特征。
  • 四:归因于来源国,根据语言,来源者IP,键盘设置,或者受害者更符合哪国的利益等来分析来源国。
  • 五:对组织和个人的识别,通过对某些组织的任务,区域职责,人员要求,所在地等综合分析,是否与某些APT团队有很多相似之处,或者因为攻击者缺乏OpSec导致部分个人信息的泄露。
  • 六:评估可信度和交流,归因最后一步是介绍和交流结果。分析师要检查假设的合理性和一致性。其通常需要与分析得出来的证据相一致。情报机构通常使用估计性描述,如几乎不可能,不可能,可能,几乎确定。或者通过置信度,如低,中,高。

归因的一些假设:

  • 由同一攻击者实施的攻击在某些方面是相似的。这是合理的,因为为每次攻击开发新的技术和新的恶意软件,在时间,金钱和技能上都是相当昂贵的。各国的情报机构在预算上均有所不同,在网络安全领域,人的技能和金钱一样重要,有经验的攻击者的可用性是有限的。根据普遍的观点,大多数APT组织为一个政府工作,这与传统的间谍活动是一致的。当然也有例外,比如五眼联盟之间存在多种合作。另一种例外是有一些承包商,向多个政府提供他们的服务。
  • APT组织很难会在几年的时间里保持稳定和不变。在某些国家存在非常复杂的网络生态系统,大学,承包商,政府机构会流畅的合作并共享工具和恶意软件。另外一种很少有人提到的情况是APT团队内的某一个人离开了,并带走了源码。
  • 数据的相似性。恶意软件家族由代码相似的恶意文件组成,一个重要的前提是,代码的相似性不是偶然发生的,更可能是由同一个开发者编写的。但分析人员必须验证代码不是基于开发者论坛或者其他渠道共享来的。
  • 收集偏见。安全公司对某些地区的可见度比其他地区更高,例如某些安全产品只在欧洲使用,某些只在亚洲使用。或者某些产品只在金融行业流行,但在其他行业不受欢迎。
  • 一个网络中只有一个APT组织。大多数该假设是有用的,但是也有可能某一个网络被多个APT组织攻击,所以其网络内部的未知的恶意软件的归属就很难确定,多数情况会被归属到第一个发现的APT组织中。

归因方法

3.恶意软件分析

几年前,APT这个词代表复杂的恶意软件。即使是今天,著名的APT组织也以其开发的专业性的恶意软件而闻名。后门和木马在攻击中起着核心作用,它们提供了在网络内部漫游,收集数据并渗出等所需的多种功能。

大多数情况下,网络间谍活动必须在很长的一段时间内深入破坏一个网络,这需要几种类型的恶意软件。

  • dropper:dropper是一个独立的可执行文件,它要么包含实际的恶意软件并在执行过程中安装,要么先从互联网上下载它。
  • loader:加载器与dropper非常相似,它主要用于执行dropper所投放的恶意软件。
  • backdoor:实际的恶意软件通常被称为payload,因为安装它是dropper和漏洞的主要目的。多数情况下payload是一个后门。
  • rat:许多后门是RAT,即远程管理工具,它让攻击者对被攻击的计算机进行完全的管理控制,通常带有一个方便的GUI。
  • rootkit:一些后门是隐藏在操作系统底层的rootkit,它们很难被发现。

攻击者通过后门登录到目标系统后,他必须完成大量的任务,以便在网络内部横向移动或收集数据,原则上这些功能可以被捆绑在一个RAT中,但这将使恶意软件的文件膨胀。所以通常会将这些功能分布在大量的小型工具中,且对一个工具的检测也不会影响到其他工具。对于所有这些类型的恶意软件和工具,攻击者可以选择使用公开的软件,与其他组织共享的分公开的软件,自己开发或由承包商提供的软。一些高水平的组织更喜欢使用自己开发的或使用专业承包商的。使用公开的软件并不代表水平的高低。因为CobaltStrike的流行,很多高水平的组织也会选择使用它。

公开的工具有一个缺点,即它们很容易被安全团队分析出来,攻击者不知道目标组织是否可以检测出来CS等。所以自主开发的恶意软件可以保持在安全公司的雷达之下,非常适合隐秘的攻击。

Vault7的公开文档中提供了对国家支持的恶意软件开发者的日常工作非常详细的参考。例如删除调试信息,用户名称,测试后的文件路径信息,不得包含有关开发者时区的信息,此外还规定每个程序必须有卸载功能,使用后清理痕迹等。

为了分析样本,安全公司和情报部门通常需要获得样本,这些样本可以通过几种方式获得

  • VirusTotal,VT是恶意软件的一个重要来源。
  • 安全软件,安全软件在世界不同地区的市场占有率不同,会导致其分布不均衡。大多数安全产品会将检测到的攻击信息传给供应商。如检测名称,文件名称,文件大小,文件HASH和计算机的地理位置。本质上该功能是信誉服务,在成千上万台机器上出现的文件比在极少数机器上出现的文件更有可能是良性的。
  • 应急响应,帮助客户调查和清理被入侵的网路,通常可以发现很多后渗透阶段的恶意软件和工具。
  • 圈内共享,来自不同安全公司的分析师之间也会经常共享样本。

恶意软件中的证据:
默认情况下,恶意软件在生成的二进制文件中留下了相当多有用的信息。

  • 时间戳:如果只有几个样本,时间戳可能没那么有用,但是获取到一个家族几十甚至上百个样本以后,可以用简单的统计方法来确定开发者的生活模式。如样本是在一周的哪些天构建的,在一天的哪些时间段工作。多数情况下,时间戳在8-10小时的间隔内,这是大多数国家典型的办公时间。如果时间戳在12-14点之间经常停顿,那么有午休的国家就需要纳入考量。另外需要注意的是如果样本数据有很密集的时间戳分布,但是缺少一些非典型的时间,则需要考虑这些时间是否是某些特定国家的假期。当然,时间戳可以很容易的被伪造。但是大多数APT组织都不会这样做。
  • 语言资源:PE格式通常包含一些语言资源,在其资源节部分存储了有关图标,图像,对话框和菜单。默认情况下,开发环境会将这个字段设置为开发者机器上使用的代码区。当然,编码页也可以伪造。所以还需要其他证据来佐证。
  • 调试信息:如果开发者激活了调试功能,则会将调试信息存储在PDB中。如果开发者在编译最终版本时忘记停用调试功能,则pdb路径会保留在二进制文件当中。pdb路径还可以用来聚类,即分析人员在数据库中搜索具有类似模式的二进制文件。
  • Rich Header:对于聚类比较有用的一个字段。它可以看作开发环境和代码库的指纹。用于对来自同一开发者或同一恶意软件家族的样本进行聚类。

通常恶意软件中会配置一个或多个IP、域名用作C2服务器,最简单的情况下这些地址包含在纯文本中,因此搜索字符串就可以显示这些地址,但是在更高级的样本中,通常被混淆,运行时在内存中解密。因此安全公司大规模使用沙箱,这些通常是虚拟化的分析环境,样本以可控方式执行,所有的活动和系统变化都被记录下来。

样本的某些功能和特性无法自动或在沙箱环境中分析,通常需要逆向工程师进行详细的分析。例如与C2服务器通信的加密算法的细节。这些算法也可用于归因,例如方程式组在RC5加密算法时使用了一个不寻常的常数。Vault7文件中,CIA的开发人员从方程式组的错误中吸取了教训,它们的手册中指示不要在一个以上的恶意软件中使用自行开发的加密算法而应使用标准库。

4.基础设施分析

控制服务器通常有两个方面的功能。一方面,它们在受害者网络和攻击者计算机之间形成一个或多个匿名层作为跳板,另一方面,它们往往是保持对受害者网络访问的唯一手段。

因此维护控制服务器是所有APT组织不可或缺的任务。一些大的APT组织会有专门的成员来负责管理服务器的基础设施。

网络攻击需要服务器的各种功能,如水坑服务器,漏洞服务器,邮件服务器,专用扫描服务器,恶意软件下发服务器,数据渗出服务器和命令控制服务器等。

根据以上这些情况,攻击者可以选择攻击合法的服务器或租用自己的服务器。对于前者,产生的痕迹较少,保持匿名性非常方便,但是被黑的服务器有一些弊端,服务器的所有者可能会意外的发现入侵行为,从而重新安装系统,将会导致攻击者失去对C2的访问。所以攻击者通常会配置多个C2来避免这种情况。在任何情况下,攻击者在被攻击的服务器上的操作都必须更加谨慎,比如限制传输的数据量,隐藏渗出的数据等。

很多APT组织选择租用自己的服务器,通常还需要注册多个域名。在GDPR生效之前,域名的注册信息可以通过Whois协议在公共数据库中获取,如今只有执法机构和部分组织有权限访问这些数据。此外攻击者还可以使用动态域名,但是动态域名在很多企业的网络中被严格禁止访问。

有时Whois数据可以用于后期的归因。通常域名只在一定时期内付费,但是如果域名到期没有续费,部分域名服务商的WhoisGuard服务也会被停止,从而导致注册信息被曝光。

另一个有用的数据是DNS解析和PassiveDNS。通常APT组织在同一台服务器上运行一个及以上的域名。为什么一些APT组织不为每个域名使用单独的IP?因为IP比域名的成本更高,一个IP需要租用,安装,配置和维护一台服务器,比注册域名要麻烦的多。分析IP时需要注意时间线的变化,如果有多个域名解析到一个IP,但时间不同,分析人员需要谨慎的评估两个域名的关联性。

还有一种方法可以提前发现APT组织的域名。如某一个APT组织喜欢在一家支持比特币交易的域名服务商注册域名,且部分域名有“Windows”、“Microsoft”等字符串。则可以持续监视该域名服务商新注册的,符合这一模式的域名。

安全分析人员还可以对攻击者的控制服务器进行主动或被动的扫描探测。主动的扫描通常是使用针对特定木马的流量包,来识别特定APT组织的控制服务器。具有高度OpSec的攻击者可以检测到这种网络活动,并将其识别为对其C2的定向搜索。被动的扫描通常使用fofa,censys等测绘服务,来探测具有同样证书或异常响应报文的服务器。

5.C2分析

一个组织良好分工明确的APT团队通常会采用多层服务器。

控制服务器的选择基本上有两种策略,一种是控制服务器位于目标国家,使得到该服务器的流量不那么的可疑。一种是控制服务器位于与目标国家不同的地区,这样一来发现入侵行为后执法部门很难访问控制服务器。

由于一些APT位于互联网审查比较严格的国家,这些国家限制对一些外国的新闻媒体或社交网站的访问,但是通常控制服务器可以绕过这些限制,所以有APT组织中的操作人员使用控制服务器作为翻墙服务器使用,此时会产生大量的提示性的证据。

许多国家的执法机构都有权在对恶意活动有重大怀疑的情况下扣押服务器或窃听网络流量。但其权限通常只限于管辖范围之内的服务器。

另外一些主机商和安全公司建立了某种信任关系,主机商可以提供支持,包括在其网络上安装探针、传感器或提供注册信息等。

与恶意软件中的时间戳可以被人为的修改不同,网络流量是实时产生的,所以捕获的流量是一个相对可靠的时间戳来源。

与二进制文件相比,攻击者认为控制服务器落入分析人员手中的风险要低得多,但是通过与一些主机商的合作,分析人员可以获取到整个硬盘的拷贝。其中包含大量可用于归因的信息,包括RAT的服务端组件,控制服务器的系统版本,语言包,开发测试环境,各种访问日志,甚至源码。控制服务器也是样本和工具的宝库,可以扩展相应的入侵集合。

6.地缘政治分析

网络行动已经成为一些国家推进地缘政治和国内战略的工具。很多领导人每天会收到一些关于即将举行的首脑会议,谈判,国际争端,武装冲突等相关事件的情报简报。这些情报有一些来自网络间谍活动。

因此分析人员在对APT组织做归因时,首先应用的不是技术性方法,而是地缘政治性的。即谁从攻击中受益,受害者位于哪些地区?那里目前有哪些政治冲突?哪些国家和组织在该地区利益相关?目标属于哪个行业部门或分支?攻击是否针对少数民族或反对派成员?

为了评估这些因素,许多安全公司和政府机构会雇佣政治学家或地区专家,地缘政治分析家们通常应用OSINT(公开来源情报)来系统评估APT组织的来源国家。

一个普遍接受的假设是,APT攻击者直接或间接地接受政府机构的命令。可能是情报机构,执法部门,军队,外交部甚至经济部,该组织的任务可能来自于经济增长的计划,也可能是出于当前政治局势的考虑,也可能是出于战略的考虑。

一些APT组织是由政府机构或为军队工作的政府雇员组成的。一些APT组织则不直接为政府工作,而是作为承包商的角色,这些人通常被称为代理人,使用承包商的原因可能是政府方面缺乏相关的技能或可支付比僵化的政府薪酬计划所允许的更高的工资。

还有一些APT组织独立行动,并试图出售其窃取的数据。注意区分这里面的区别,因为有一些公司开发和销售间谍软件和漏洞,但并不是自己使用。还有一些APT组织白天做间谍活动,晚上做有经济动机的兼职,如APT41。另外有一些APT组织需要自己为自己提供资金,所以其也会部署勒索软件,如归因于朝鲜的部分组织。

单独的地缘政治分析只能用于检查归因假设是否合理,APT攻击并不是偶然发生的,在有国际冲突的地区更加频繁。不仅仅是国际冲突,在非民主国家,反对派政治家,批评政府的记者,少数民族和宗教人士以及持不同政见者同样面临着被恶意软件攻击的高风险。

在调查对公司的间谍活动时,政治冲突没有什么意义。通常需要分析谁在被盗的数据中拥有经济利益。针对单个竞争公司的工业间谍活动是非常集中的,在某些情况下只针对一个公司。在某些国家,其发展计划通常是透明的,有据可查的,这些计划中的相关产业可能和APT活动的目标所匹配。

对于来源某些国家的APT组织来说,区分政府雇员和承包商可以通过查看政府单位的任务和职责来做近似区分。政府单位都有按主题或按地区界定的责任区,所以其攻击行动会更加专注,如某个APT组织专注于收集航空领域的信息。但承包商通常不会专注于一个地区,其会在不同地区和行业都有活动。

用于假设某些单位在一段时间内的任务和能力很有帮助的一个来源是研究出版物,在许多国家军队是研究机构项目的重要赞助者,当科学家在期刊或会议论文集上发表他们的成果时有时会提到赞助商。其他有价值的是招聘广告,有时候招聘会明确列出恶意软件开发和网络安全方面的技能要求。另外,一些表彰报告可能会包含单位名称,地点和成就描述。甚至一些合同也可能会泄露部分信息。

7.遥测 - 安全产品的数据

许多安全公司从其产品中收集数据,即:遥测。遥测最主要的动机是为了提高安全产品的检测质量,但同样的数据也可以用来深入了解攻击者的操作,甚至是来源。

个人或企业用户的计算机在安全行业通常称为端点或客户端。

最常见的是端点安全产品如反病毒软件等,其中包含一个文件扫描器,这些扫描器带有一个或简单或复杂的签名库,通常用于检测恶意文件,对病毒的家族分类,属性定义等。文件扫描器可选择全盘扫描,按需扫描或在每次访问文件时进行扫描。几乎所有的文件扫描器都有向供应商传输检测到的恶意软件数据的功能,包括签名的名称,检测到的文件的hash值和名称,当前时间和计算机特定的ID(机器码),一些供应商还传输客户端的IP地址,地址可能是完整的也可能只保留C段。根据产品的配置,扫描器也可以将恶意文件上传到安全公司。通常情况下,传输什么类型的数据到安全公司并不透明。

某些安全产品使用信誉度功能,由于恶意软件签名通常只能在恶意软件开始传播后产生,因此中间总有一个真空期文件扫描器无法检测到新的样本。信誉度正是为了补救这一问题。为了检测一个文件是否是良性的,将文件的hash和文件名传到一个中央数据库中,根据hash的流行度计算一个信誉值。信誉度也可以对域名或URL进行计算。

针对邮件服务器设计的安全产品会产生非常丰富的遥测数据,一些供应商的解决方案会在邮件收到附件后,在一个沙箱环境中自动执行附件并检查是否有恶意行为。如果检测到是恶意的,那么该邮件的发件人,主题,附件名和hash可以被发送到供应商的数据库中。一些厂商提供将整个邮件提交给供应商的功能。

基于行为的产品最初也是为了解决病毒库的问题,其基于行为收集进程活动信息,也会使用信誉度进行检测。例如一个新创建的进程是否有注入其他进程的行为或一个未知程序启动了一个Powershell脚本。

很明显,遥测技术涉及隐私。特别是欧洲市场,这些情况阻止了信誉度这种解决方案的发展。一些供应商提供的方案是为大型的公司单独部署中央数据服务器,而不是将数据发送到供应商的服务器。

一些安全公司使用遥测数据不仅仅是提高产品检测能力,他们还会处理丰富的数据并作为威胁情报出售。这样一来客户可以结合多家安全公司的信息而不必安装不同的安全产品。

遥测数据的质量也取决于供应商对其安全产品所采取的预防策略,如果一个钓鱼邮件在发送之前就被阻止,就不可能分析恶意附件和收集额外的信息。因此遥测数据的质量和预防质量之间存在着权衡。

对归因非常有用的遥测数据:

  • 流行性:恶意软件家族的流行性可以提供线索,说明它是有针对性的还是无针对性的攻击。在有针对性的攻击中,恶意软件感染的部门或地区要少得多。
  • 区域或部门:遥测数据可以提供恶意软件家族在不同地区或不同的行业内的概况。但不幸的是,大多数供应商的产品并不是全球性均匀分布的,另外一些政府机构不愿意将遥测数据发送给供应商。这通常会导致收集偏差,一些没有经验的分析师可能会得出错误的结论。
  • 信誉度:一些未被检测出来的恶意软件,因为信誉度的存在通常会将相关的遥测数据存储起来,当后续披露攻击事件时可以检查信誉数据库评估恶意软件在什么时候,什么地方观察到。
  • 共现性:遥测可以用来分析在同一台机器上检测到哪些恶意软件,如dropper,downloader,backdoor或其他工具。假设这些工具是同一个攻击者使用的。这些数据可以丰富相应的入侵集合和TTPs。
  • 命令行:一些产品会收集机器上执行的命令行指令,甚至是整个powershell脚本。因为越来越多的APT组织开始使用不落地的攻击方法,所以有关命令行的数据变得更有价值。
  • 恶意邮件:邮件地址,主题,附件名称,附件hash,附件,发件人地址,邮件服务器提供了非常丰富的入侵集合,如这些攻击针对哪个行业,针对哪个地区等。
  • 时间戳:来自基于行为产品的数据,在形式和数量上与现场应急处理时收集的日志文件非常类似,其活动提供了攻击者工作时间的线索,来自遥测的时间非常强大,可以防止人为的伪造。
  • 样本:恶意软件样本元数据。
  • 意图:有经验的分析人员可以推断出攻击者的意图。如攻击者首先攻击了哪些系统,在寻找数据库还是邮件服务器,分析人员还可以分析受害者机器来确定其所属的行业,如税务行业,银行业,医院等。
  • 攻击者:如果攻击者在自己的开发机器或操作机器上安装了具有遥测功能的安全产品,那将提供高置信度的可用于归因的证据。

遥测数据有一个天生的优势:攻击者很难避免它。虽然攻击者可能有良好的OpSec,但遥测不是基于攻击者的错误,它们是目标环境的一部分。遥测的缺点是,有太多有用的数据隐藏在大量的数据中,从而导致很多信息没有被分析出来。

8.情报 - 情报执法机构反间谍的传统方法

像传统的情报行业一样,进行网络间谍活动的军事单位或情报部门必须考虑到其办公场所受到外国间谍的监视。更重要的一点是,他们的电子通信可能被截获。一个最重要的OpSec规则是,工作基础设施不能用于私人目的。如C2拿来翻墙等。

非民主国家面临的一个特殊的挑战是叛逃者,如伊朗的OilRig的泄密事件。

情报机构也做OSINT,他们系统的监控外国报纸,电视台和网站,以及世界各地政治家和官员的声明和公告。这些信息被汇总到有关地区正在发生或即将发生的事件的评估中。与进行地缘政治分析相比,情报部门可以通过机密来源的信息补充公共信息。

与安全公司相比,情报部门的一个独特的能力是截获电子信号和互联网流量。称为SIGINT(信号情报)。SIGINT比网络间谍活动要早的多,其最早用来拦截相关人员的通信,进行反间谍活动。网络活动中的SIGINT通常被理解为大规模监控,如斯诺登披露的棱镜计划,情报部门监测大量互联网流量的汇聚点,如海底电缆和互联网交换点。

与传统情报行业一样,情报机构也会使用来自人类的信息作为归因的证据。称为HUMINT(人类情报),即线人。包括招募来自APT组织或承包商的技术人员,或在贸易部,外交部,研究机构的与具体案件中被窃取的数据有关的人员。

一些情报机构还会通过进行反制来调查APT攻击,说来讽刺,调查APT攻击是通过进行APT攻击来进行的。NSA可以进行一种可怕的中间人攻击,通过对互联网路由器的访问,他们不仅可以拦截,还可以插入或修改网络流量,当一名APT组织的成员从受害者机系统上渗出数据到自己的电脑上时,NSA的操作人员将他们的恶意软件插入到流量中,并在APT组织网路中安装了一个后门。

政府机构还可以要求网络服务提供商提供数据,如Facebook,Google等,在美国可以根据外国情报监视法(FISA)提交要求。

9. Doxing

令人印象最深刻的归因是确定到具体个人的归因,最好有姓名和照片。识别个人身份一个重要的技术是Doxing(“人肉搜索”),即研究公共来源中的个人数据。

人肉搜索的出发点通常是个人可识别的数据。如C2域名Whois数据中的电子邮件等信息。其他的还有PDB路径中的用户名,攻击者使用C2进行私人活动产生的数据(浏览社交网络或网上购物),即时通讯软件的账户名,电话号码,社交网络或论坛中的ID(有些直接是真名),照片等。

Doxing的关键是要进行可信性验证,以确定额外的资源是否指向同一个人。从方法论的角度来看,可信性验证很容易受到确认偏差的影响,即侧重于证实分析者假设的信息。

10.假旗分析

归因最大的挑战是故意留下的线索和很明显的证据。这些线索被称为假旗。考虑到网络间谍活动往往是由情报部门进行的,这种伎俩值得关注。

APT组织的首要任务是避免被发现,而不是在发现后误导归因。因此最先进的APT组织会选择投资OpSec而不是使用假旗。但还是有很多假旗的例子被发现。

从学术角度来看,归因必须基于犯罪者无法控制或影响的数据。然而实践中这一要求很难被满足。基本上没有数据经得起这种严格的学术审查。听起来像是对归因判了死刑。但在实践中,归因通常是关于评估不同假设的可能性。分析人员面临的挑战是从尽可能多的不同的来源收集证据,并产生最可能的假说。通常会进行以下步骤:

  • 评估有效性:每个被发现的证据都必须检查其有效性。如一个恶意软件包含有德语单词,但是德语母语者正常情况下并不会使用这个单词。因此,很可能是攻击者将其他语言翻译成德语来制造假旗。
  • 检查一致性:将所有不同类型的证据合并成一个归因假设然后检查它们的一致性。如某个恶意软件伪装成VC6编译的版本,但却导入了一个VC6时代并不存在的库。
  • 证据权重:对证据伪造的难易程度对证据进行加权。
  • 竞争性假设分析:评估不完整和矛盾的信息。是情报部门传统的方法。对于每一个证据都要研究哪些假设与之一致,以及一致的程度。这么做可以避免确认偏差的影响。

11.攻击者的分类

归因是一个归纳推理的过程,试图为观察到的结果找到最合理的解释。

什么构成了一个APT组织?这是一个非常难以给出明确答案的问题。APT的情况多种多样,各国组织团队的方式也各有不同。因此对于什么是团体,不会有一个且只有一个定义。有很多报告表明,APT组织不是单一的团队。他们购买恶意软件,招聘兼职,或者每次行动都动态的设置,对试图将事件归因的分析人员来说这是一个重大的挑战。

一个APT团体内部如何组织,对留下的痕迹和证据都会产生影响。如果恶意软件是从承包商处购买,那么在不同的受害者网络中会发现同一家族样本。如果几个单位使用一个实体管理的基础设施,将会出现在恶意软件和TTPs方面不同的入侵集合,但在基础设施配置却很相似。如果一个机构雇佣了几个自由职业者,将会有大量针对类似组织的恶意软件和TTPs,其中恶意软件与某些TTP密切相关。

关于APT组织确切的内部结构只能通过情报机构和执法部门来披露。大多数分析人员只能从技术数据中大致了解最可能的APT组织结构。

目前披露的模式大致有以下几种:

  • 一体化团队:自己开发漏洞和恶意软件,自行管理基础设施并进行行动
  • 恶意软件购买者:独家购买的恶意软件同一体化团队类似。非独家购买或使用公开可用的框架将导致同样的恶意软件家族成为几个不相干的基础设施和TTPs集的一部分。
  • 策划者:一种比较独特的模式。情报人员雇佣个人自由职业者进行网络攻击行动。一些人员使用自己的武器库,一些则使用情报人员提供的武器库。个别黑客不属于一个团队,但在行动中进行了密切合作。这是分析师最难处理的情况之一。这种情况下产生的数据显示特定地区或特定部门内的一系列目标。但恶意软件,基础设施和TTPs都不相同。
  • 自由职业者:自由职业者不开发自己的恶意软件,但可能会配置后门,注册C2服务器,并进行网络攻击行动。一般来说这种行动可以产生足够的数据定义为一个入侵集合。
  • 恶意软件开发者:某些团体会一边自用,一边出售自行开发的恶意软件。这种模式下产生的数据通常同恶意软件购买者类似。
  • 基础设施管理者:只负责提供攻击行动中的基础设施建设。会产生与其他入侵集合关联的基础设施。
  • 超级威胁组织:在国际上共享恶意软件的组织,如五眼联盟。

根据不同的杀伤链还有其他的分类方式:

  • 全面:标准模式下,APT组织从头到尾执行网络攻击行动。
  • 立足点:专门在目标网络获取立足点,之后将对网络的访问权移交给另一个团队。通常产生的数据缺少后门,Rootkit,横向或渗出相关的TTPs。
  • 掠夺者:即立足点之后的团队。技术数据会显示立足点团队和掠夺者团队之间的许多关联。如果分析者假设两者为一个单一的团队,则可能会怀疑该团队有多种不同的方法来进行横向或渗出。