[论文解读] Neural Classification of Malicious Scripts: A study with JavaScript and VBScript
本文提出 LaMP 和 CPoLS,这两种是深度循环神经网络,通过使用 LSTMs 处理由字节序列组成的恶意 JavaScript 和 VBScript,并在 CPoLS 中引入 1D 卷积,实现端到端处理。最佳 LaMP 模型在 296,274 个 JavaScript 文件上实现 1.0% 假阳性率下的 65.9% 真阳性率,在 240,504 个 VBScript 文件上实现 69.3% 的真阳性率,展示了在极简输入(前 200 个字符)下仍具备高准确率,实现快速、可扩展的检测。
Malicious scripts are an important computer infection threat vector. Our analysis reveals that the two most prevalent types of malicious scripts include JavaScript and VBScript. The percentage of detected JavaScript attacks are on the rise. To address these threats, we investigate two deep recurrent models, LaMP (LSTM and Max Pooling) and CPoLS (Convoluted Partitioning of Long Sequences), which process JavaScript and VBScript as byte sequences. Lower layers capture the sequential nature of these byte sequences while higher layers classify the resulting embedding as malicious or benign. Unlike previously proposed solutions, our models are trained in an end-to-end fashion allowing discriminative training even for the sequential processing layers. Evaluating these models on a large corpus of 296,274 JavaScript files indicates that the best performing LaMP model has a 65.9% true positive rate (TPR) at a false positive rate (FPR) of 1.0%. Similarly, the best CPoLS model has a TPR of 45.3% at an FPR of 1.0%. LaMP and CPoLS yield a TPR of 69.3% and 67.9%, respectively, at an FPR of 1.0% on a collection of 240,504 VBScript files.
研究动机与目标
- 为应对日益增长的恶意 JavaScript 和 VBScript 威胁,这些恶意代码在鱼叉式网络钓鱼和勒索病毒攻击中广泛存在。
- 克服以往静态和动态分析方法的局限性,这些方法在检测混淆或解包后的脚本时会失效。
- 开发可端到端训练的深度学习模型,直接从原始脚本字节序列中学习序列表示。
- 在大规模、真实世界中的良性与恶意脚本语料库上评估模型性能,且仅使用极简输入(前 200 个字符)。
- 比较两种新型架构——LaMP(LSTM 和最大池化)与 CPoLS(长序列的卷积划分)——在脚本恶意软件检测中的有效性。
提出的方法
- 模型将原始脚本文件作为字节序列处理,将每个字节视为序列输入中的一个标记。
- LaMP 采用两阶段架构:首先,一个或多个 LSTM 层从字节序列中学习序列表示;其次,一个全连接神经网络将最终的嵌入向量分类为恶意或良性。
- CPoLS 在 LaMP 的基础上增加一个 1D 卷积层,位于 LSTM 之前,用于对长脚本序列进行分段并提取特征,从而改善对长文件的处理能力。
- 两种模型均使用监督学习进行端到端训练,实现语言建模和分类组件的联合优化。
- 模型在包含 296,274 个 JavaScript 文件和 240,504 个 VBScript 文件的大规模语料库上进行评估,标签来源于沙箱执行和杀毒引擎分析。
- 模型性能通过真阳性率(TPR)和假阳性率(FPR)进行衡量,结果在 1.0% FPR 阈值下报告。
实验结果
研究问题
- RQ1端到端训练的深度循环模型能否有效从原始字节序列中检测恶意 JavaScript 和 VBScript?
- RQ2LaMP 和 CPoLS 架构在大规模、真实世界脚本语料库上的性能表现如何比较?
- RQ3模型在仅使用脚本前 200 个字符的情况下,能在多大程度上实现高检测率?
- RQ4这些模型能否超越依赖特征工程或 API 提取的传统静态和动态分析方法?
- RQ5LSTM 和 1D 卷积所学习的嵌入向量是否能捕捉到指示恶意行为的判别性模式?
主要发现
- 最佳 LaMP 模型在 296,274 个 JavaScript 文件上实现 1.0% 假阳性率下的 65.9% 真阳性率。
- 最佳 CPoLS 模型在相同 JavaScript 语料库上实现 1.0% 假阳性率下的 45.3% 真阳性率。
- 在 VBScript 文件上,LaMP 模型实现 1.0% 假阳性率下的 69.3% 真阳性率,优于 CPoLS 和其他对比模型。
- CPoLS 模型在 VBScript 文件上实现 1.0% 假阳性率下的 67.9% 真阳性率,表明其在长序列建模方面表现强劲。
- 两种模型仅使用每个脚本的前 200 个字符即实现高检测准确率,使它们在生产环境中可实现快速、可扩展的部署。
- LaMP 和 CPoLS 的端到端训练使所有层都能进行判别性学习,相比冻结或预训练的语言模型,其表示质量更高。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。