1. 引言与概述
加密挖矿恶意软件对系统安全构成重大威胁,会导致硬件损耗和大量能源浪费。应对此威胁的主要挑战在于实现早期检测的同时不牺牲准确性。现有方法往往难以平衡这两个关键方面。本文介绍了CEDMA(基于AECD嵌入的加密挖矿恶意软件早期检测方法),这是一种新颖的方法,它利用软件执行的初始API调用序列。通过提出的AECD(基于类别和DLL的API嵌入)方法,将API名称、其操作类别以及调用它们的动态链接库(DLL)融合成一个丰富的表示,随后应用TextCNN(文本卷积神经网络)模型,CEDMA旨在及时且高精度地检测恶意挖矿活动。
检测准确率(已知样本)
98.21%
检测准确率(未知样本)
96.76%
输入序列长度
3,000 个API调用
2. 方法论:CEDMA框架
CEDMA的核心创新在于其用于早期行为分析的多方面特征表示。
2.1 AECD嵌入机制
传统的API序列分析通常将API调用视为简单的标记。AECD通过拼接来自三个来源的嵌入向量来丰富这种表示:
- API名称嵌入 ($e_{api}$):表示调用的具体函数(例如,`CreateFileW`、`RegSetValueEx`)。
- API类别嵌入 ($e_{cat}$):表示高级操作类型(例如,文件系统、注册表、网络)。这抽象了行为,有助于泛化。
- DLL嵌入 ($e_{dll}$):表示调用API的动态链接库(例如,`kernel32.dll`、`ntdll.dll`)。这提供了关于执行环境的上下文信息。
对于API调用 $i$,最终的AECD向量构造为:$v_i^{AECD} = [e_{api}^{(i)} \oplus e_{cat}^{(i)} \oplus e_{dll}^{(i)}]$,其中 $\oplus$ 表示向量拼接。这种三部分嵌入从有限的初始执行数据中捕获了更细微的行为特征。
2.2 TextCNN模型架构
AECD向量序列(来自前3,000个API调用)被视为一个“文本”文档。采用TextCNN模型进行分类,因为它效率高且能捕获局部序列模式(n-gram特征)。该模型通常包括:
- 一个嵌入层(用AECD向量初始化)。
- 多个具有不同卷积核大小(例如,3、4、5)的卷积层,用于从API序列的不同“gram”大小中提取特征。
- 池化层和全连接层,最终输出二分类结果(良性软件 vs. 加密挖矿恶意软件)。
3. 实验结果与性能
所提出的CEDMA方法在一个包含多种加密挖矿恶意软件家族(针对多种加密货币)和多样化的良性软件样本的数据集上进行了严格评估。
主要发现:
- 仅使用执行后前3,000个API调用,CEDMA在已知恶意软件样本上取得了令人印象深刻的98.21%准确率,在先前未见过的(未知)恶意软件样本上取得了96.76%准确率。
- 该性能表明,AECD嵌入通过融入类别和DLL上下文,成功弥补了早期分析固有的信息稀缺性。
- 该方法能在恶意软件建立网络连接之前有效检测到它们,这对于早期遏制和防止损害至关重要。
图表描述(设想): 一个条形图,比较了CEDMA(使用AECD)与仅使用API名称嵌入的基线模型在准确率、精确率和召回率上的表现。该图表将清晰地显示CEDMA在所有指标上均有显著的性能提升,尤其是在召回率方面,这表明其在早期识别真实恶意软件实例方面具有鲁棒性。
4. 技术分析与核心见解
核心见解: 本文的根本突破不仅仅是另一个神经网络应用;它是嵌入层面的特征工程革命。虽然大多数研究追求更复杂的模型(例如,Transformer),但CEDMA巧妙地解决了早期检测的根本问题:数据匮乏。通过将语义(类别)和环境(DLL)上下文直接注入特征向量,它人为地丰富了从短执行轨迹中获得的有限信号。这类似于CycleGAN的循环一致性损失(Zhu等人,2017)如何在没有配对数据的情况下实现图像到图像的转换——两者都是通过架构或表示层面的洞见来解决核心的数据限制,而不仅仅是扩大规模。
逻辑流程: 逻辑优雅而线性:1)早期检测需要短序列。2)短序列缺乏区分能力。3)因此,放大每个标记(API调用)的信息密度。4)通过融合正交信息通道(具体函数、通用操作、源库)来实现这一点。5)让一个简单高效的模型(TextCNN)从这个丰富的序列中学习模式。这个流程是鲁棒的,因为它强化了输入,而不是过度复杂化处理器。
优势与缺陷: 主要优势在于其实际效能——以最小的运行时开销实现高精度,使得实际部署成为可能。使用TextCNN而非更重的RNN或Transformer,是一个务实的选择,符合安全应用中对速度的需求。然而,一个关键缺陷是可能受到对抗性API调用的攻击。复杂的恶意软件可能会从“正确”的DLL和类别中注入看似良性的API序列来污染嵌入空间,这是一个未被讨论的威胁。此外,3,000个API的窗口虽然是一个很好的基准,但也是一个任意的阈值;其在差异巨大的软件复杂性中的鲁棒性仍有待证明。
可操作的见解: 对于安全产品经理而言,这项研究是一个蓝图:对于实时威胁,应优先考虑特征表示而非模型复杂性。AECD概念可以扩展到API之外——例如网络流日志(IP、端口、协议、数据包大小模式)或系统日志。对于研究人员来说,下一步是强化该方法以抵御对抗性规避,或许可以通过在嵌入空间本身集成异常检测分数来实现。该领域应该更多地借鉴鲁棒机器学习研究,例如arXiv的cs.CR(密码学与安全)知识库中论文讨论的对抗性训练技术。
5. 分析框架:一个实际案例
场景: 分析一个可疑的、新下载的可执行文件。
CEDMA分析工作流程:
- 动态沙箱执行: 在受控的、插桩环境中运行该可执行文件很短时间(几秒钟)。
- 轨迹收集: 挂钩并记录前约3,000个API调用及其对应的DLL。
- 特征丰富化(AECD):
- 对于每个API调用(例如,`NtCreateKey`),查询预定义的映射以获取其类别(`Registry`)。
- 记录调用DLL(`ntdll.dll`)。
- 从预训练的嵌入表中为`NtCreateKey`、`Registry`和`ntdll.dll`生成拼接后的AECD向量。
- 序列形成与分类: 将3,000个AECD向量序列输入预训练的TextCNN模型。
- 决策: 模型输出一个概率分数。如果分数超过阈值(例如,>0.95),则该文件被标记为潜在的加密挖矿恶意软件,并在其可能启动与矿池的网络连接之前被隔离。
注:这是一个概念性框架。实际实现需要大量的预处理、嵌入训练和模型优化。
6. 未来应用与研究展望
- 扩展嵌入上下文: 未来的工作可以将更多上下文(例如,API调用参数(如文件路径、注册表键)、线程/进程信息)纳入嵌入方案,以创建更丰富的行为画像。
- 跨平台检测: 将AECD概念适配到其他平台(Linux系统调用、macOS API),以实现全面的端点保护。
- 实时流式检测: 将CEDMA实现为流式分析器,在API调用生成时进行连续预测,减少固定窗口的限制。
- 与威胁情报集成: 使用AECD衍生的特征向量作为指纹,查询威胁情报平台以寻找类似的已知恶意软件行为。
- 对抗鲁棒性: 如分析中所述,研究针对旨在规避此特定检测方法的恶意软件的防御机制是至关重要的下一步。
7. 参考文献
- Cao, C., Guo, C., Li, X., & Shen, G. (2024). Cryptomining Malware Early Detection Method Based on AECD Embedding. Journal of Frontiers of Computer Science and Technology, 18(4), 1083-1093.
- Zhu, J., Park, T., Isola, P., & Efros, A. A. (2017). Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks. Proceedings of the IEEE International Conference on Computer Vision (ICCV).
- SonicWall. (2023). SonicWall Cyber Threat Report 2023. Retrieved from SonicWall website.
- Berecz, T., et al. (2021). [Relevant work on API-based malware detection]. Conference on Security and Privacy.
- Kim, Y. (2014). Convolutional Neural Networks for Sentence Classification. Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP). (Seminal TextCNN paper).
- arXiv.org, cs.CR (Cryptography and Security) category. [Repository for latest adversarial ML and security research].