遇见数据集

j-klawson/security-gym-v4

收藏
Hugging Face2026-05-04 更新2026-05-31 收录
官方服务:

资源简介:

Security-Gym数据集(v4)是一个用于网络安全持续学习研究的带真实标签的Linux服务器日志和eBPF内核事件流数据集。它设计用于与security-gym Gymnasium环境配合使用,包含多个实验流,如7天暴力破解测试、30天重攻击率基准测试、90天eBPF消融流等,以及Zenodo上提供的365天长时稳定性流。数据集基于SQLite数据库,使用Zstandard压缩,事件表包含时间戳、来源、原始行、解析字段、恶意标签、攻击活动ID、攻击类型、MITRE ATT&CK阶段、严重性等字段。事件来源包括认证日志、系统日志、Web访问日志、eBPF进程/网络/文件事件等。攻击类型涵盖暴力破解、凭证填充、发现、Web利用和执行等,并遵循MITRE ATT&CK框架。数据通过时间窗口和源IP匹配进行标注,适用于流式持续强化学习、在线表示学习和技术验证,但不适用于生产SOC工具或零日攻击评估。数据来源于个人服务器和实验环境,已去除PII信息,采用Apache-2.0许可证。

许可证:Apache-2.0 数据集名称:"Security-Gym 数据集(v4):面向持续学习的标注Linux日志与eBPF流" 任务类别: - 强化学习 - 令牌分类 语言: - 英语 标签: - 网络安全 - 入侵检测 - eBPF - MITRE-ATT&CK - 持续学习 - 流处理 - 日志分析 - Linux - 安全信息和事件管理(SIEM) - 强化学习环境 规模类别: - 1000万<n<1亿 标注创建者: - 机器生成 语言创建者: - 公开采集 多语言属性:单语言 源数据集: - 原创 paperswithcode_id:security-gym 配置项: - 配置名称:exp_7d_brute_v4 数据文件: - 拆分:训练集 路径:exp_7d_brute_v4.db.zst - 配置名称:exp_30d_heavy_v4 数据文件: - 拆分:训练集 路径:exp_30d_heavy_v4.db.zst - 配置名称:exp01_90d_v4 数据文件: - 拆分:训练集 路径:exp01_90d_v4.db.zst 查看器:false # Security-Gym 数据集(v4) 面向网络安全持续学习研究的带真实标注的Linux服务器日志与eBPF内核事件流数据集,专为搭配[security-gym](https://github.com/j-klawson/security-gym) Gymnasium环境使用而设计。 本Hugging Face镜像托管了四个组合实验流中的三个(冒烟测试流、默认基准流与消融实验流,压缩后总大小约190 MB)。包含365天长时序稳定性流(压缩后12.7 GB)与底层基础数据库的完整版本托管于Zenodo: - **概念DOI**(始终指向最新版本):[10.5281/zenodo.18901541](https://doi.org/10.5281/zenodo.18901541) - **v4版本DOI**(固定以保证可复现性):[10.5281/zenodo.19482383](https://doi.org/10.5281/zenodo.19482383) ## 配套论文 > Lawson, K. (2026). *Security-Gym: 基于高保真Linux遥测数据评估时序一致智能体*,发表于NeurIPS 2026评估与数据集专题。 在报告基于Security-Gym流的实验结果时,请引用v4版本数据集的DOI。 ## 本镜像托管的文件 | 文件 | 压缩后大小 | 解压后大小 | 事件总数 | 恶意事件数 | 攻击活动类型 | 持续时长 | |------|-----------|-------------|--------|-----------|-----------|----------| | `exp_7d_brute_v4.db.zst` | 8.5 MB | 1.9 GB | 4,891,541 | 25,980 | 仅SSH暴力破解 | 7天 | | `exp_30d_heavy_v4.db.zst` | 64 MB | 8.5 GB | 21,511,208 | 609,520 | 混合攻击,高攻击频率 | 30天 | | `exp01_90d_v4.db.zst` | 116 MB | 25 GB | 63,212,997 | 549,787 | 混合攻击,中等攻击频率 | 90天 | ## 仅托管于Zenodo的文件(因体积过大未在此镜像中提供) | 文件 | 压缩后大小 | 解压后大小 | 事件总数 | 恶意事件数 | 攻击活动类型 | 持续时长 | |------|-----------|-------------|--------|-----------|-----------|----------| | `exp_365d_realistic_v4.db.zst` | 12.7 GB | 101 GB | 257,654,256 | 1,857,178 | 混合攻击,真实攻击频率 | 365天 | | `benign_v4.db.zst` | 434 MB | 5.8 GB | 11,159,241 | 0 | (纯良性流量) | — | | `campaigns_v2.db.zst` | 4.2 MB | 41 MB | 60,468 | 30,436 | (基础攻击活动库) | — | 365天流为长时序稳定性评估目标(详见配套论文第6.1节)。如需开展长时序评估,请从Zenodo下载该数据集;本镜像托管的三个流分别对应标准30天预测基准、90天eBPF消融实验与7天冒烟测试。 ## 快速入门 bash pip install security-gym huggingface_hub python from huggingface_hub import hf_hub_download import zstandard, sqlite3 path = hf_hub_download( repo_id="j-klawson/security-gym-v4", filename="exp_30d_heavy_v4.db.zst", repo_type="dataset", ) # 解压至本地文件 with open(path, "rb") as f, open("exp_30d_heavy_v4.db", "wb") as out: zstandard.ZstdDecompressor().copy_stream(f, out) # 通过Gymnasium环境流式处理事件 import gymnasium as gym env = gym.make("SecurityLogStream-Hybrid-v0", db_path="exp_30d_heavy_v4.db") obs, info = env.reset() for _ in range(1000): obs, reward, terminated, truncated, info = env.step(env.action_space.sample()) ## 数据模式 所有流均为采用Zstandard压缩的SQLite数据库,仅包含一张`events`表: sql CREATE TABLE events ( id INTEGER PRIMARY KEY AUTOINCREMENT, timestamp TEXT NOT NULL, -- ISO 8601 格式 UTC 时间戳 source TEXT NOT NULL, -- 事件来源(详见下文) raw_line TEXT NOT NULL, -- 原始日志行或eBPF事件文本 parsed TEXT, -- JSON格式解析字段 is_malicious INTEGER, -- 0=良性,1=恶意 campaign_id TEXT, -- 攻击活动标识符 attack_type TEXT, -- 详见攻击类型列表 attack_stage TEXT, -- MITRE ATT&CK攻击阶段 severity INTEGER, -- 严重等级1-5 session_id TEXT, src_ip TEXT, username TEXT, service TEXT ); ### 事件来源 - `auth_log` — SSH认证、PAM会话日志 - `syslog` — 系统守护进程日志 - `web_access` — nginx/apache访问日志(组合日志格式) - `web_error` — nginx/apache错误日志 - `journal` — systemd日志条目(JSON格式) - `ebpf_process` — 内核进程执行/退出事件(包含父进程ID与父进程名) - `ebpf_network` — 内核连接/接收事件(包含用户ID) - `ebpf_file` — 内核文件打开/删除事件 ### 攻击类型 | 攻击类型 | MITRE ATT&CK编号 | 描述 | |------|--------------|-------------| | `brute_force` | T1110.001 | SSH密码暴力破解(使用paramiko工具) | | `credential_stuffing` | T1110.004 | 使用唯一凭证对SSH进行凭证填充攻击 | | `discovery` | T1046 | SYN端口扫描(使用scapy工具) | | `web_exploit` | T1190 | Log4Shell(CVE-2021-44228)JNDI注入攻击;Redis Lua沙箱逃逸攻击(CVE-2022-0543) | | `execution` | T1059.004 | 认证后Unix shell命令执行 | ## 数据集构建方法 本数据集通过`StreamComposer`工具由`benign_v4.db`与`campaigns_v2.db`组合构建,采用泊松分布调度攻击注入,并对eBPF事件进行24.2%的下采样(模拟单台高负载服务器)。各攻击活动流遵循与MITRE ATT&CK对齐的分布: - **`exp_7d_brute_v4`**:仅暴力破解攻击(每日1.0次活动) - **`exp_30d_heavy_v4`**:各攻击类型均匀分布,包含发现、暴力破解、Web漏洞利用、凭证填充、命令执行(每日10.0次活动) - **`exp01_90d_v4`**(消融实验流):发现攻击0.35、暴力破解0.30、Web漏洞利用0.20、凭证填充0.10、命令执行0.05(每日3.0次活动) - **`exp_365d_realistic_v4`**(仅Zenodo托管):发现攻击0.30、暴力破解0.30、凭证填充0.20、Web漏洞利用0.15、命令执行0.05(每日2.5次活动) 所有数据集均通过`scripts/validate_labels.py`执行九项验证检查(标注一致性、原始行抽样检查、攻击活动边界、攻击类型交叉验证、目标数组一致性、攻击类型分布、时序顺序、无未标注事件、会话连贯性)。 ## 标注方法 每个攻击活动均由活动编排器在目标虚拟机上执行,并记录每个攻击阶段的开始时间、结束时间与攻击源IP。`CampaignLabeler`工具通过**时间窗口+源IP匹配**的方式对采集到的事件进行标注:若某事件的时间戳落在某攻击阶段的时间窗口内,且其`src_ip`字段匹配该阶段的任一攻击源IP,则该事件被标记为恶意。无`src_ip`字段的事件(如攻击窗口内的syslog守护进程日志)仅通过时间窗口进行匹配。eBPF内核事件采用相同的标注规则。 恶意事件包含五项真实标注字段:`is_malicious=1`、`campaign_id`、`attack_type`、`attack_stage`与`severity`(1至5级)。良性事件的`is_malicious=0`,其余字段均为NULL。 ## 预期用途 - 面向网络安全防御的流式持续强化学习研究 - 从原始文本与结构化内核事件流中进行在线表征学习 - 流式深度强化学习技术验证(如LMS、ObGD、EMA归一化、稀疏初始化) - 观测抑制环境下的奖励函数设计 - 对非平稳数据上的检测方法(学习型与规则型)进行对比评估 ## 非预期用途 - 生产级SOC(安全运营中心)工具 - 企业基础设施建模 - 零日漏洞泛化能力评估(所有攻击模块均为已知TTPs) - 替代真实世界部署验证 - 多主机横向移动研究(仅支持单目标主机) 本数据集内的攻击模块仅针对专用实验室虚拟机(`isildur`),**严禁将其用于攻击第三方基础设施**。 ## 数据来源与个人可识别信息(PII)处理 - **良性流量**:4台运行标准服务的个人Linux服务器,共7,915,858条日志事件。通过不区分大小写的替换将主机名、域名与服务器IP统一替换为标准化目标标识(`isildur`、`192.168.2.201`)。 - **良性eBPF流量**:从3台Debian 13服务器(hypervisor、公共Web服务器、GPU实验室服务器)采集的24小时数据,共3,243,383条内核事件。 - **攻击流量**:在1台配置有易受攻击服务的专用Debian 11虚拟机上执行10次脚本化攻击活动(包含OpenSSH、Log4j、Redis CVE-2022-0543漏洞),通过时间窗口+源IP匹配的方式标注了60,468条恶意事件。 - **eBPF内核事件**:通过BCC跟踪点采集(`sys_enter_execve`、`sched_process_exit`、`sys_enter_connect`、`sys_enter_accept4`、`sys_enter_openat`、`sys_enter_unlinkat`)。 - **恶意流量过滤**:在纳入良性基线前,已从真实服务器的流量中过滤掉攻击流量。为避免污染良性基线,已将检测到的恶意IP产生的网络事件从良性基线中移除。 - **无第三方PII**:所有数据均来自数据集作者拥有或运营的基础设施,未包含任何个人用户数据。 ## 引用格式 bibtex @dataset{lawson_security_gym_dataset_2026, author = {Lawson, Keith}, title = {Security-Gym 数据集:面向持续学习研究的标注Linux日志与eBPF流}, version = {4.0}, year = {2026}, doi = {10.5281/zenodo.19482383}, url = {https://doi.org/10.5281/zenodo.19482383}, license = {Apache-2.0} } ## 许可证 Apache-2.0。详见[LICENSE](https://github.com/j-klawson/security-gym/blob/main/LICENSE)。

提供机构:
j-klawson
二维码
社区交流群
二维码
科研交流群
商业服务