five

Obfuscated Code Dataset

收藏
arXiv2025-04-02 更新2025-04-07 收录
下载链接:
https://github.com/rocohen/obfuscated-code-dataset
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集由Quarkslab等机构创建,包含两个复杂的数据集,由五个开源项目(zlib、lz4、minilua、sqlite和freetype)的C程序源代码构成,经过两种不同的混淆器(Tigress和OLLVM)处理,涵盖了控制和数据混淆类型。数据集基于不同的编译优化级别(-O0和-O2)进行分离,并采用两种数据分割策略来避免数据泄漏。该数据集用于研究混淆代码的检测问题,特别是在函数级别上的混淆检测。

This dataset was developed by Quarkslab and other institutions. It comprises two comprehensive datasets built from the C source code of five open-source projects: zlib, lz4, minilua, sqlite, and freetype. These datasets have been processed using two distinct obfuscators, Tigress and OLLVM, covering both control-flow and data obfuscation types. The datasets are stratified according to different compilation optimization levels (-O0 and -O2), and two data splitting strategies are employed to mitigate data leakage. This dataset is intended for research on obfuscated code detection, specifically function-level obfuscation detection.
提供机构:
Quarkslab, LAMSADE, CNRS, Universit´e Paris-Dauphine - PSL, Paris, France; LITIS, INSA Rouen Normandy, Rouen, France; CEREMADE, CNRS, Universit´e Paris-Dauphine - PSL, Paris, France
创建时间:
2025-04-02
搜集汇总
数据集介绍
main_image_url
构建方式
Obfuscated Code Dataset的构建基于五个开源项目(zlib、lz4、minilua、sqlite和freetype),这些项目通过两种不同的混淆器(Tigress和OLLVM)进行混淆处理,涵盖了控制流和数据混淆等多种混淆类型。为了避免数据泄露,研究者采用了两种数据分割策略:按函数分割(Dataset-1)和按二进制分割(Dataset-2),确保训练集、验证集和测试集的独立性。此外,数据集还区分了不同优化级别(-O0和-O2)的二进制文件,以控制混淆效果的稳定性。
特点
该数据集的特点在于其多样性和复杂性,涵盖了多种混淆技术和优化级别,能够全面反映真实世界中的混淆场景。数据集包含11种混淆类别和1种非混淆类别,类别分布不平衡,这在异常检测场景中较为罕见。此外,数据集通过两种分割策略(Dataset-1和Dataset-2)提供了不同的分类难度,Dataset-2更具挑战性,因为它要求模型在完全陌生的二进制文件中检测混淆。数据集的构建还特别注重避免编译器优化对混淆效果的干扰,确保了数据的可靠性。
使用方法
Obfuscated Code Dataset主要用于函数级别的混淆检测和分类任务。研究者可以通过提取控制流图(CFG)和相关特征,结合传统机器学习算法(如随机森林和梯度提升)或图神经网络(GNN)进行模型训练和评估。数据集特别适合用于验证GNN在捕捉函数语义方面的性能,尤其是在多分类任务中。此外,数据集还可用于实际恶意软件分析,帮助定位和识别混淆技术,为后续的反混淆操作提供支持。使用该数据集时,建议结合平衡准确率等指标进行评估,以应对类别不平衡问题。
背景与挑战
背景概述
Obfuscated Code Dataset是由Roxane Cohen、Robin David、Florian Yger和Fabrice Rossi等研究人员于2025年创建的一个专注于二进制代码混淆检测的数据集。该数据集由Quarkslab、LAMSADE、LITIS和CEREMADE等机构联合开发,旨在通过基于图的语义分析方法识别函数级别的混淆代码。数据集涵盖了多种混淆类型和混淆器,包括Tigress和OLLVM,并基于五个开源项目(zlib、lz4、minilua、sqlite和freetype)构建。该数据集的创建为二进制代码混淆检测领域提供了重要的研究资源,推动了图神经网络(GNN)在安全领域的应用。
当前挑战
Obfuscated Code Dataset面临的挑战主要包括两个方面:领域问题的挑战和构建过程的挑战。在领域问题方面,混淆代码检测需要区分不同混淆技术(如控制流混淆和数据混淆)对二进制代码的影响,同时避免编译器优化对混淆效果的干扰。构建过程中的挑战包括数据泄漏风险(如混淆被编译器优化抵消或跨项目共享函数)、数据集不平衡(11种混淆类别与1种非混淆类别),以及如何在真实场景中推广模型性能(如跨项目检测)。这些挑战要求研究者在特征提取、模型设计和数据划分策略上进行精细优化。
常用场景
经典使用场景
在二进制代码分析领域,Obfuscated Code Dataset被广泛用于评估和比较不同机器学习算法在识别混淆代码方面的性能。该数据集通过提供多种混淆技术(如控制流平坦化、不透明谓词等)处理的函数级二进制代码,为研究者提供了一个标准化的测试平台。特别是在图神经网络(GNN)的研究中,该数据集常被用于验证基于控制流图(CFG)的语义特征提取方法的有效性。
解决学术问题
该数据集解决了二进制代码混淆检测中的关键学术问题,包括如何从复杂的控制流图中提取有意义的语义特征,以及如何区分不同混淆技术对代码结构的影响。通过提供多种混淆技术处理的代码样本,该数据集使得研究者能够系统地评估不同机器学习算法在识别和分类混淆代码方面的性能,从而推动了图表示学习和二进制代码分析领域的交叉研究。
衍生相关工作
基于Obfuscated Code Dataset,研究者们开展了一系列经典工作。例如,有研究将图卷积网络(GCN)与长短期记忆网络(LSTM)结合,提升了混淆代码的分类精度;另有工作探索了基于Pcode中间表示的语义特征提取方法,为跨架构的混淆检测提供了新思路。这些衍生研究进一步推动了二进制代码分析和图神经网络在安全领域的应用。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作