组合:用于机器学习的自动二值数据集构建

💡 原文中文,约1400字,阅读约需4分钟。
📝

内容提要

EMBER 数据集为反恶意 Windows 可执行文件的静态检测提供了标记的基准数据,包含 90 万个训练样本和 20 万个测试样本。研究探讨了利用自然语言处理和深度学习技术分析二进制代码的方法,并提出多种模型和数据集以提升检测性能。

🔎

延伸解读

EMBER 数据集的构成与用途

EMBER 数据集包含 110 万个 Windows 可执行文件,其中 90 万用于训练(30 万恶意、30 万良性、30 万未标记),20 万用于测试(10 万恶意、10 万良性)。该数据集提供特征提取代码和基线模型 MalConv 的性能比较,为静态恶意软件检测的机器学习研究提供了可复现的基准。

自然语言处理在二进制分析中的角色

文章汇总的多项研究显示,自然语言处理技术被用于二进制代码分析,例如利用预训练源代码模型对反编译函数进行自动摘要(BinT5)、通过对比学习对齐二进制代码与自然语言解释以生成嵌入表示,以及将自然语言处理思想应用于大规模代码相似性比较。这些方法旨在提升逆向工程和恶意软件检测的自动化水平。

数据集质量与评估方法

一项研究指出,嵌入距离相关性(EDC)测试能有效评估数据集质量,并发现所收集的数据集及一些现有开源数据集质量较低。这提示研究者在利用公开数据集训练模型时,需关注数据质量对性能的潜在影响,并采用合适的评估手段进行验证。

相关数据集与工具概览

除 EMBER 外,文章还提及 SOREL-20M 数据集(包含近 2000 万恶意软件样本及元数据)和 JABBERWOCK 工具(可将 JavaScript 自动转换为 WebAssembly 以生成恶意网站检测样本,4.5 秒内生成数据集且 F1 达 99%)。这些资源为恶意软件检测研究提供了更多数据与工具选择。

❓

Q&A

EMBER 数据集包含多少个训练样本和测试样本?

EMBER 数据集包含 90 万个训练样本和 20 万个测试样本。

EMBER 数据集中的恶意样本和良性样本各有多少?

数据集中有 300K 个恶意样本和 300K 个良性样本。

研究中使用了哪些技术来分析二进制代码?

研究探讨了利用自然语言处理和深度学习技术分析二进制代码的方法。

MalConv 模型在研究中有什么作用?

MalConv 模型用于提供基线性能比较结果,以提升检测性能。

研究中提到的 CAPYBARA 数据集有什么特点?

CAPYBARA 数据集包含多种编译器优化的数据,用于反编译二进制文件的函数自动摘要。

如何提高二进制代码在迁移学习中的性能?

通过对齐二进制代码和自然语言解释来生成更好的嵌入表示,提高迁移学习性能。

🏷️

标签

➡️

继续阅读