Yuntoiz/malware-analysis-static

GitHub: Yuntoiz/malware-analysis-static

一个游戏化的 Web 训练平台,教授 SOC 分析师在不执行恶意软件的情况下进行 PE 文件静态分析。

Stars: 0 | Forks: 0

# GamifiedSOC — 静态恶意软件分析训练平台 一个游戏化的 Web 应用程序,通过交互式训练模块、案件调查和分级挑战评估,教授静态 PE(Portable Executable)恶意软件分析。 ## 项目概述 GamifiedSOC 是一个基于浏览器的训练平台,旨在教授 SOC(Security Operations Centre,安全运营中心)分析师如何在不执行 PE 文件的情况下对其进行静态分析。该平台利用游戏化机制 —— XP、等级、连续签到、徽章和限时挑战 —— 在提供符合教育学原理的网络安全内容的同时,保持用户的参与度。 ## 本地运行 ``` # Clone 仓库 git clone # 安装依赖 npm install # 启动 development server npm run dev ``` 应用程序将在 `http://localhost:8080` 上可用。 ## 技术栈 | 层级 | 技术 | 理由 | |-------|-----------|-----------| | **Framework** | React 18 + TypeScript | 基于组件的架构,具备类型安全,利于维护 | | **Build Tool** | Vite | 快速 HMR 和优化的生产构建 | | **Styling** | Tailwind CSS + shadcn/ui | 实用优先的 CSS,配合可访问、可组合的 UI 原语 | | **Animation** | Framer Motion | React 的声明式动画库;用于过渡和微交互 | | **3D / WebGL** | Three.js | 为欢迎屏幕上的 LiquidEther 背景效果提供支持 | | **Routing** | React Router v6 | 客户端路由,包含受保护路由守卫 | | **State** | React Context + TanStack Query | Context 用于认证/进度;TanStack Query 用于服务器状态缓存 | | **Backend** | Supabase (PostgreSQL + Auth + Edge Functions) | 开源 Firebase 替代品,提供认证、数据库和无服务器函数 | | **Testing** | Vitest + jsdom | 兼容 Vite 的单元/集成测试框架 | ## 架构与设计决策 ### 游戏化框架 游戏化设计借鉴了教育游戏设计中既定的框架: - **XP & Levelling** — 提供与正确答案和挑战完成情况挂钩的可见进度指标。 - **Streak System** — 鼓励每日参与;连续的正确答案会倍增 XP 奖励。 - **Tiered Evidence Model** — 挑战分为三个深度递增的层级,灵感源自布鲁姆分类法(回忆 → 分析 → 评估)。 - **Automation Bias Detection** — 平台故意引入 AI “Sentinel” 判定,以测试分析师是否盲目信任自动化工具,从而强化批判性思维。 ### 训练内容结构 每个训练模块遵循 **Briefing → Learn → Challenge** 流程: 1. **Triage Phase** — 分析师工作站模拟,学生在此与 PE 元数据交互。 2. **Learn Phase** — 结构化课程,包含关键知识点,以终端美学的 UI 呈现。 3. **Challenge Phase** — 限时多选题、排序、匹配和填空题。 ### 数据集 该平台使用源自 **EMBER 2024**(Endgame Malware BEnchmark for Research)数据集的元数据。不包含真实的恶意软件二进制文件 —— 仅使用提取的特征向量(熵值、导入表、节区头、字符串指标)用于教学展示。 ## 灵感与来源 ### 学术来源 - Anderson, H.S. & Roth, P. (2018). *EMBER: An Open Dataset for Training Static PE Malware Machine Learning Models*. arXiv:1804.04637. - Sikorski, M. & Honig, A. (2012). *Practical Malware Analysis*. No Starch Press — 静态和动态分析技术的权威教科书。 - Bloom, B.S. (1956). *Taxonomy of Educational Objectives* — 为分级证据/挑战模型提供了参考。 ### 平台灵感 - **KC7 Cyber** (https://kc7cyber.com) — Microsoft 支持的网络安全训练游戏,使用 KQL 查询;启发了叙事驱动、基于任务的教学法。 - **TryHackMe** (https://tryhackme.com) — 游戏化网络安全实验室;启发了房间/模块结构和 XP 进度系统。 - **LetsDefend** (https://letsdefend.io) — SOC 分析师训练,包含模拟告警分流;启发了工作站模拟和判定提交流程。 - **PicoCTF** (https://picoctf.org) — 面向初学者的 CTF 风格挑战;为渐进式难度曲线提供了参考。 ### 设计与 UX 灵感 - 终端/黑客美学源自网络安全工具界面(Ghidra, IDA Pro, PE-bear)。 - “Shift Report”完成总结模仿了真实的 SOC 换班交接文档。 - 徽章系统灵感源自 Duolingo 和 Khan Academy 等平台的成就机制。 ### 技术参考 - Microsoft PE Format specification (https://learn.microsoft.com/en-us/windows/win32/debug/pe-format) - YARA documentation (https://yara.readthedocs.io) — 用于 YARA 规则编写模块。 - MITRE ATT&CK Framework (https://attack.mitre.org) — 挑战反馈中显示的技术映射。 ## 项目结构 ``` src/ ├── assets/ # Static images (room thumbnails, avatars, logos) ├── components/ # Reusable UI components │ ├── artifacts/ # Analysis tool panels (HexViewer, SectionMap, etc.) │ ├── diagrams/ # Visual diagrams (PE structure) │ ├── ui/ # shadcn/ui primitives │ └── workstation/ # Analysis workstation simulation ├── data/ # Static training content (lessons, questions, samples) ├── hooks/ # Custom React hooks (auth, progress, theme, etc.) ├── integrations/ # Backend client configuration ├── pages/ # Route-level page components └── test/ # Test configuration and specs ``` ## 许可证 本项目作为学术论文的一部分开发。所有训练内容均为原创或源自公开可用的数据集和规范。
标签:CSV导出, DAST, DNS 反向解析, DNS 解析, Framer Motion, PE文件分析, React, SOC分析师, Supabase, Syscalls, Tailwind CSS, Three.js, TypeScript, Vite, 三级挑战, 云安全监控, 交互式教学, 在线教育平台, 安全插件, 安全教育, 实战演练, 恶意软件分析, 案例调查, 测试用例, 游戏化学习, 漏洞修复, 网络安全培训, 自动化攻击, 静态分析