# APT 调研
高级长期威胁(advanced persistent threat,缩写:APT),是指隐匿而持久的电脑入侵过程,通常由某些人员精心策划,针对特定的目标。 其通常是出于商业或政治动机,针对特定组织或国家。
APT 攻击包含三个要素:高级、长期、威胁。高级是指执行APT攻击需要比传统攻击更高的定制程度和复杂程度,需要花费大量时间和资源来研究确定系统内部的漏洞;长期是为了达到特定目的,过程中“放长线”,持续监控目标,对目标保有长期的访问权;威胁强调的是人为参与策划的攻击,攻击目标是高价值的组织,攻击一旦得手,往往会给攻击目标造成巨大的经济损失或政治影响,乃至于毁灭性打击。
我们调研了 APT 的免杀手段的使用。从前沿的 APT 案例分析入手,依次为指引,逐步了解前沿的 APT 检测的思路和方法以及目前 APT 攻击常用且具有威胁的免杀手段。
## 前沿APT攻击案例中免杀技术的作用
### ORPCBackdoor 南亚新 APT 组织 APT-K-47 “神秘象”
2023年3月研究人员捕获到一个全新APT组织的武器后门,被称为“ORPCBackdoor”。该组织的主要攻击目标为巴基斯坦,将其命名为“Mysterious Elephant(神秘象)”。
该组织主要特点是使用了一个全新的后门,该后门通过恶意RTF文档传递到受害者机器上。恶意RTF文档通过钓鱼邮件进行投递。这个全新的后门通过RPC与C2服务器进行通信,并有在受控机器上执行文件或者命令的能力,同时该后门也可以从C2服务器上接收文件和命令并执行。
整体攻击链如图所示

#### Living-Off-The-Land 白加黑技术
在APT-K01的一次攻击活动中,攻击者通过钓鱼邮件向攻击目标发送CHM文件,CHM文件使用“俄中友好、和平与发展委员会”为诱饵,相关诱饵内容如下所示。

CHM文件恶意部分为doc.html,该文件中存在一个OBJECT对象,该对象用于创建一个每隔15分钟运行一次的计划任务,任务用于下载并执行存放在二阶服务器中的二阶恶意程序,二阶程序为MSI文件。二阶MSI文件中存放着一对白加黑文件,黑文件为卡巴斯基报告中提到的ORPCBackdoor,白文件为微软官方服务文件,用于启动黑文件(OLMAPI32.dll)。

在这里攻击者用白加黑的模式来伪装自己的攻击行为,白文件加载了恶意代码,利用合法的证书对其代码进行了签名,这种攻击方式会使得大部分恶意代码查杀引擎会直接认为恶意代码是合法的,从而实现规避安全系统检测的目的。
#### 硬编码加密存储
ORPCBackdoor 内置的关键字符均采用 TOHEXStr 的方式保存,在运行过程中ORPCBackdoor会将即将使用的字符经进行解码。

整体硬编码字符采用HEX字符串保存,例如“SYSTEM INFORMATION \n”字符在ORPCBackdoor中保存的字符为"53595354454D20494E464F524D4154494F4E205C6E",该方式可略微达到阻碍反检测以及对抗分析等目的。
#### 流量加密
后门抛弃常用的Socket调用转而使用RPC调用,不会被异常流量分析技术检测到,从而达到了隐藏流量的作用。

RPC 也即远程方法调用,对于 RPC client 来说,它可以调用远程 server 上的某个方法,看起来就像是在调用本地方法一样。区别就在于,通过 RPC 调用远程方法时,数据经过序列化之后会通过网络发送给远程 server,远程 server 执行方法之后,同样会将返回结果序列化之后发送回 client。
### APT32group
#### APT 内存木马不落地直接内存执行
原始样本为“BMW_2023年机构及院士销售价格框架.pdf.lnk”。

LNK文件为原始载荷,用于整体释放链的启动工作。HTA 文件存放于LNK文件尾部,根据代码来看,该文件定位并保存白加黑程序,且修复白加黑程序
首先加载自身设置游标并读取白加黑内容&文档内容:


之后修复白加黑两个程序,添加MZ文件头

使用一个已经在内存中运行的进行来执行恶意功能,由于没有单独的进程在后台运行,所以不会留下任何轨迹。内存中恶意代码的检测常常回检查 MZ 头,由于 MZ 头是后续补全的,可以绕过杀毒软件对内存木马的检测。
## APT 防御手段
### 内存监控
内存监控主要针对现在流行无文件、不落地攻击手段而言的,这种攻击手段一般通过使用一个已经在内存中运行的进行来执行恶意功能,由于没有单独的进程在后台运行,所以不会留下任何轨迹。
#### 利用污点特征识别恶意软件
研究者提取出了不同类型的恶意软件的特征,并提出了一个通用的解决方案用于检测不同类型的恶意软件。他们收集恶意软件和良性样本作为训练数据,并从中提取污点图(taint graph)。然后污点图转换成一个特征向量,在这个特征向量上应用标准分类算法来训练模型。这个模型训练完成后被用来识别系统上的恶意行为。他们使用了不同恶意软件(键盘记录、密码窃取、后门等)的共同特征。这些恶意软件通常表现出的特征是异常的信息访问和处理行为。例如,键盘记录和密码窃取会拦截击键输入。在比如说,为了不被发现,后门要么使用不常见的协议(如ICMP),要么创建一个原始套接字,要么拦截网络堆栈来与远程攻击者通信。基于ICMP的后门访问ICMP流量,基于原始套接字的后门访问所有具有相同协议号的报文。例如,TCP原始套接字可以接收到所有的TCP报文,这种后门拦截网络栈的行为类似于网络嗅探器,对网络流量进行窃听以获取有价值的信息。这些特征都被作者利用来进行检测。整个系统结构设计如下:

下图是一个污点图的例子,反映了Windows用户身份验证的过程。当一个密码窃取器在后台运行时,它捕捉到密码并将其保存到它的日志文件“c: ginallog .log”中。

### 流量检测
APT攻击最关键的部分就是C&C通信行为,而且通信并不只发生一次,通常是在系统第一次被攻破后为了数据传输而反复进行。在终端层面监视任何带有新目的IP的网络数据包、异常payload的数据包以及发送到同一IP的大量数据包等特征有助于识别来自终端的任何可疑行为。
#### 使用深度学习的性能分析及早检测高级持续性威胁攻击
由于 APT 攻击的性质是长时间在网络上,并且系统可能会因高流量而崩溃,因此很难检测到此类攻击。因此,研究者使用采用C5.0决策树、贝叶斯网络和深度学习的机器学习方法,对NSL-KDD数据集上的APT攻击进行及时检测和分类。此外,还使用了 10 倍交叉验证方法来试验这些模型。结果表明,C5.0决策树、贝叶斯网络和6层深度学习模型的准确率(ACC)分别为95.64%、88.37%和98.85%。

在改进决策树模型的过程中,C5.0决策树是最新一代的决策树模型,包括CHAID、ID3和C4.5 。 决策树的主要任务是创建规则,这些规则可以帮助安全专家根据构建的模型检测输入数据类型。决策树模型由多个节点和分支组成,因此叶子(外部节点)表示正常和异常的类或一组答案,而在其他节点(内部节点)中,决策是基于一个或多个特征做出的。深度为 5 的决策树图如下所示。

数据挖掘中的另一种分类模型是贝叶斯网络分类模型。该模型的理念基于解决分类问题的可能框架。根据贝叶斯定理,事件的分类是根据事件发生或不发生的概率形成的,从而计算和分类事件的概率。
最后使用深度学习发现输入数据的多个级别的分布式表示。将数据输入深度网络后,特征提取和攻击分类是组合同时进行的,不需要其他方法提取特征,因为特征提取是在深度网络中自动进行的。最后,在应用非线性函数后完成攻击分类。

#### 通过图异常检测来检测 APT 攻击
此研究是通过安全对象图的分析得出的,采用基于图形化表示有如下优点:首先,它使网络流量数据的视图更具可解释性。当检测到异常时,可以在图表中可视化发生了什么,并快速获得直接使用网络日志难以解释的情况的概述。其次,它为网络分析器提供的详细信息提供了紧凑的表示,并在图形中提供了日志文件中不存在的邻域概念。例如,使用此类安全对象图,很容易识别与域名相关的 IP 地址,因为它们将通过域名间接链接。而相比之下,在网络日志中,这些信息彼此并不接近。

这种方法由三个步骤组成:(1)从一组网络日志构建安全对象图,(2)以AE (AutoEncoder)可用的形式对该图进行编码,(3)让此 AE 学习然后检测。在训练阶段,AE 学习重建学习数据。在检测阶段,AE生成重建的矢量,并将其与输入的矢量进行比较,以获得重建误差。
## 调研前沿攻击手段
### 无文件攻击
“无文件攻击”属于一种影响力非常大的安全威胁。攻击者在利用这种技术实施攻击时,不会在目标主机的磁盘上写入任何的恶意文件,因此而得名“无文件攻击”,部分无文件攻击甚至会删除自身以达到无法被捕获的目的,无文件攻击多使用 “白加黑”,“恶意文档”,“ 内存注入”,等方式绕过众多的反恶意技术的控制,包括应用白名单策略 ,使得难以防范。、
LotL技术在当前最先进的恶意软件中得到了重要的应用,从检测的角度来看,它们代表了安全行业的一个挑战。通过这篇论文,我们试图阐明这一现象,并提高研究界对这个开放问题的认识。
### 流量加密
根据调研C&C为域名的样本中16%的样本存在冗余机制(包含多个备用C&C域名),这种机制也给攻击者提供了更加多样和可靠的连接选择。经过VirusTotal扫描分析,超过61%的域名并未报毒。而且攻击者运用了多种C&C隐藏技术和通信隐匿技术来对抗监管审查和流量分析,从而确保更稳定的权限维持。
这批域名样本中各类隐匿技术的使用占比情况,其中,部分样本融合了多项技术,例如同时运用域名仿造和DNS隧道技术(归类至DNS隧道)、同时使用域名仿造和流量伪装技术(归类至流量伪装)等,由于此类样本数量较少,对分析结果的影响有限,故进行了调整处理,得到隐匿技术占比图。

超过72%的攻击者尝试通过隐匿技术来增强自身隐蔽性。其中,约37%的攻击者采用通信隐匿技术(流量伪装、DNS隧道)来躲避流量检测,且往往会结合域名仿造进一步增强伪装性。约15%的攻击者采用C&C隐藏技术(CDN技术、域前置+CDN技术)来逃避审查和溯源分析。
通常来说,如果是针对特定目标的攻击,攻击者还会根据目标机器存在的网络环境、通信软件、常用网站等来伪造流量特征,Host设置的内容则可能与相应域名有关。从Host统计来看,部分域名指向了fidelity(富达投资-金融服务公司)、ESPN(娱乐与体育节目电视网)、Firedog(小型发动机动力设备制造商)、Hulu(流媒体服务商)在内的多家商业服务公司,黑客的攻击目标也很可能会与相关公司或服务的使用群体有关。此外,黑客还可以借助Malleable-C2-Profiles配置文件模仿其它恶意软件的通信协议,从而达到掩盖、伪装自身的行动目的,欺骗流量检测系统。
显然,这些隐匿技术给审查机构和溯源分析者带来了极大的困难,随着攻击者越来越多的使用类似技术,从情报端(威胁情报分析平台)到防御端(IDS、IPS等终端防御系统)都将面临更加严峻的挑战,也迫切需要更加强大的特征指纹、流量分析及关联分析能力。
## 调研总结与要点
LotL技术不是一个不可忽视的现象。很大部分流行的安全检测产品都难以检测到LotL二进制文件的恶意使用。LotL二进制文件不仅用于代理执行或逃逸,而且还用于实现常见的恶意例程,如延迟执行、修改系统配置、持久化或停止安全服务。
目前主流的威胁情报平台和检测防御系统面临越来越大的压力,在面对隐匿方式多样、对抗手段丰富的攻击流量时,大量未知的APT攻击难以被发现和披露,这也需要持续加强深度有效的特征指纹、流量分析和关联分析等能力,以应对越来越复杂的网络攻击活动。
目前最有效方法之一是应用机器学习或深度学习来分析网络流量。研究经常应用机器学习算法来基于网络流发现APT攻击的存在,这有利于克服 APT 攻击隐匿性高、难以预测的特点。
## 局限性和未来的工作
目前大量 APT 的调查研究限于 windows 平台,而APT组织开始越来越多地对Linux设备执行有针对性的攻击,并开发了更多针对Linux的工具。不仅如此,移动端设备比如手机也面临者APT攻击的威胁。
LotL二进制文件的恶意使用是一个需要攻克的难题。
## 参考文献
Lanvin M, Gimenez P F, Han Y, et al. Detecting APT through graph anomaly detection[C]//RESSI 2022-Rendez-Vous de la Recherche et de l'Enseignement de la Sécurité des Systèmes d'Information. 2022: 1-3.
Milajerdi S M, Gjomemo R, Eshete B, et al. Holmes: real-time apt detection through correlation of suspicious information flows[C]//2019 IEEE Symposium on Security and Privacy (SP). IEEE, 2019: 1137-1152.
F. Barr-Smith, X. Ugarte-Pedrero, M. Graziano, R. Spolaor and I. Martinovic, "Survivalism: Systematic Analysis of Windows Malware Living-Off-The-Land," 2021 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 2021, pp. 1557-1574, doi: 10.1109/SP40001.2021.00047.
J. Hassannataj Joloudari, M. Haderbadi, A. Mashmool, M. Ghasemigol, S. S. Band and A. Mosavi, "Early Detection of the Advanced Persistent Threat Attack Using Performance Analysis of Deep Learning," in IEEE Access, vol. 8, pp. 186125-186137, 2020, doi: 10.1109/ACCESS.2020.3029202.