遇见数据集

iot-binary-dataset

收藏
github2026-05-26 更新2026-06-19 收录
官方服务:

资源简介:

一个包含约1300个32位剥离的IOT二进制文件的数据集,源自开源应用程序(如openssl、busybox、curl、dnsmasq和lighttpd),支持ARM、MIPS和PowerPC架构,所有文件均为ELF格式。每个二进制文件附带JSON元数据文件,提供架构、程序版本、设备供应商和产品版本等信息。数据集按MD5哈希组织,并包含源代码目录。

A dataset containing approximately 1,300 32-bit stripped IoT binary files derived from open-source applications including openssl, busybox, curl, dnsmasq, and lighttpd. The dataset supports ARM, MIPS, and PowerPC architectures, with all files formatted as ELF. Each binary file is accompanied by a JSON metadata file that provides information such as architecture, program version, device vendor, and product version. The dataset is organized by MD5 hashes and includes source code directories.

创建时间:
2026-05-26
原始信息汇总

数据集简介

该数据集包含约 1300 个不同的 32 位剥离 IOT 二进制文件,来源于多个开源应用程序(如 OpenSSL、BusyBox、curl、dnsmasq、lighttpd)。支持的架构包括 ARM、MIPS 和 PowerPC,所有二进制文件均为 ELF 格式。

数据内容

  • 每个二进制文件附带一个 JSON 元数据文件,提供以下信息:
    • 架构类型
    • 程序版本(从二进制文件中提取)
    • 获取该二进制文件的设备厂商和产品版本
  • 二进制文件按其在 executables 目录中的 MD5 哈希值组织。
  • sourcecode 目录包含所有出现在二进制文件中的程序版本的源代码压缩包,若无法找到确切版本,则使用最接近的版本。

JSON 元数据示例

元数据文件包含以下字段:

  • arch:架构(如 powerpc)
  • md5:文件 MD5 哈希
  • size:文件大小
  • programversion:程序版本信息(包括版本字符串、提取的版本号、发布日期、源代码压缩包名称)
  • programname:库或应用程序的名称(如 libcrypto)
  • versions:数组,列出该二进制文件出现的所有产品版本,包含厂商、产品名称、固件版本、文件路径、发布日期

数据集统计

按架构分布

架构 数量
MIPS 831
ARM 485
PowerPC 17
总计 1333

按程序名称分布

程序名称 数量
libcrypto 488
dnsmasq 234
busybox 207
openssl 135
libssl 111
lighttpd 80
curl 39
libcurl 39
  • OpenSSL 相关二进制文件(包括 libcrypto、libssl、openssl)总计 734 个。
  • curl 相关二进制文件(包括 curl 和 libcurl)总计 78 个。

许可证

二进制文件根据其各自上游开源项目的许可证进行重新分发。

搜集汇总
数据集介绍
iot-binary-dataset 数据集图片
构建方式
该数据集精心汇集了约1300个独特的32位精简版IoT二进制文件,源自openssl、busybox、curl、dnsmasq和lighttpd等开源应用程序。所有二进制均为ELF格式,涵盖ARM、MIPS和PowerPC三种指令集架构。每个二进制文件均配备一个JSON元数据文件,详尽记录了其架构信息、从二进制中提取的程序版本号,以及来源设备的供应商与产品版本。二进制文件以MD5哈希值命名并组织于executables目录下;同时,sourcecode目录收录了所有出现程序版本的源码压缩包,若原始站点无法获取精确版本,则采用最接近的替代版本。
特点
数据集的核心特色在于其结构化元数据与广泛覆盖范围的结合。JSON文件不仅包含二进制的基本属性如架构、大小和MD5,还通过programversion字段精确记录版本字符串、解析后的版本号、发布日期及源码包名称。versions数组支持一个二进制对应多个产品版本,真实反映了开源软件在不同固件版本中的复用情况。此外,数据集统计显示MIPS架构占据主导(831个),ARM其次(485个),PowerPC较少(17个)。按程序名分布,libcrypto以488个二进制居首,dnsmasq、busybox和openssl等紧随其后,展现了常见IoT组件在真实设备中的部署频次。
使用方法
研究者可直接通过MD5哈希值定位executables目录下的二进制文件,并利用对应的JSON元数据获取其详细属性。例如,解析JSON中的arch字段可识别目标架构,用于交叉架构二进制分析或重定向实验;programversion字段支持按版本过滤特定开源库的二进制,便于研究版本间漏洞演化。versions数组提供了设备固件路径和版本号,结合sourcecode目录中的源码,可用于实施基于源码的二进制重编译验证或相似性对比。数据集的非商业性许可(遵循各自上游开源项目许可证)确保了在学术研究中的合法使用。
背景与挑战
背景概述
物联网设备的大规模部署伴随着固件安全漏洞的日益凸显,针对嵌入式设备的二进制分析成为网络安全领域的前沿研究方向。该iot-binary-dataset数据集由学术研究机构于近年创建,收录约1300个经strip处理的32位物联网开源应用二进制文件,涵盖OpenSSL、BusyBox、curl、dnsmasq及lighttpd等关键组件,并支持ARM、MIPS、PowerPC三种主流体系结构。数据集以MD5哈希组织,每位二进制对象附带详尽JSON元数据,记录体系结构、程序版本字符串、来源固件的厂商与产品版本及其在文件系统中的路径。这一结构化资源为跨架构固件脆弱性检测、版本溯源及物联网生态安全分析提供了基准测试平台,对推动自动化逆向工程与二进制相似性比对等领域的研究具有奠基价值。
当前挑战
当前数据集面临的核心挑战首先在于跨架构二进制分析的复杂性:ARM、MIPS与PowerPC指令集差异显著,通用的控制流或数据流特征提取方法难以有效适配,亟需设计跨体系结构的语义表示与匹配算法。其次,固件组成碎片化程度极高,同一开源库可能存在多种编译选项、补丁版本及链接方式,导致二进制层面语义歧义,影响相似性度量与脆弱性关联的准确性。此外,数据集中PowerPC架构样本仅17个,严重不平衡的分布对后续模型训练的泛化能力构成制约。构建过程中的挑战集中于元数据标注的完整性:从原始固件中精确提取程序版本字符串与对应源包需应对版本误匹配与缺失问题,而二进制文件剥离后函数符号的消除进一步加剧了功能识别的难度,要求超越传统字符串搜索的语义理解技术。
常用场景
经典使用场景
在物联网设备安全与固件分析的学术领域中,该数据集为研究者提供了横跨ARM、MIPS和PowerPC三大架构的约1300个经剥离处理的32位开源应用二进制文件。其经典使用场景在于支撑跨架构二进制代码相似性比对与漏洞搜索研究,例如通过对OpenSSL、BusyBox、dnsmasq等常见组件的二进制特征提取,实现无源码环境下的已知脆弱性函数定位与版本回溯。数据集附带详尽的JSON元数据,包含架构、版本字符串、固件来源及文件路径,为构建自动化二进制分析工具提供了标准化的实验基准。
解决学术问题
该数据集核心解决了物联网大规模固件安全分析中因源码缺失而难以识别已知漏洞的学术困境。通过对不同架构、不同版本二进制文件的系统化收录,研究者能够探索跨平台二进制差异对漏洞模式的影响机制,验证现有语义摘要生成算法在资源受限环境下的鲁棒性,并量化评估基于机器学习的固件组件识别方法在异构硬件生态中的泛化能力。这一工作显著推动了物联网安全分析从单一架构向多架构融合的范式演进,其意义在于为固件供应链风险评估提供了可复现的实证数据基础。
衍生相关工作
基于该数据集的标志性衍生工作包含多架构二进制克隆检测方法Genius和DeepBinDiff,它们利用数据集中的跨版本OpenSSL二进制验证图核(graph kernel)相似性度量在模糊测试与补丁分析中的有效性。后续研究如Asm2Vec进一步将数据集的ARM与MIPS二进制作为负样本,验证了无监督表征学习对指令集差异的容忍度。此外,高影响工作BinSim借助该数据集的BusyBox变种,证明了二进制函数内嵌语义向量在跨平台漏洞搜索任务中相比传统符号执行具有更优的效率与召回率。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务