GurukiranShiv/Cybersecurity-Training-System

GitHub: GurukiranShiv/Cybersecurity-Training-System

一套结合 Java 培训应用和 Python 机器学习模块的网络安全教育实验室,通过实践帮助学习者掌握常见安全威胁的检测与防御技术。

Stars: 0 | Forks: 0

# 网络安全培训系统 一个模块化的网络安全培训实验室套件,旨在通过实践示例帮助学习者了解常见的安全威胁、攻击模式和防御分析技术。 本项目结合了基于 Java 的培训应用程序、基于 Python 的机器学习模块、钓鱼 URL 分析、恶意软件分类以及 SQL 注入实践材料。目标是提供一个实用的意识和培训环境,让用户可以在受控的教育设置中探索网络安全概念。 ## 项目概述 网络安全意识是降低组织风险的重要组成部分。许多安全事件都始于常见的攻击媒介,例如网络钓鱼、恶意文件、薄弱的应用程序安全性以及对用户输入的不当处理。本项目通过多个独立的模块演示了各种网络安全概念,可用于学习、培训和基础实验。 该系统包括: - 网络安全意识和培训模块 - 入侵检测系统学习组件 - 使用机器学习进行恶意软件检测 - 钓鱼网站 / URL 特征提取和预测 - SQL 注入实践材料 - 使用 NetBeans 构建的基于 Java 的培训应用程序 - 用于安全分类任务的 Python 脚本和数据集 ## 仓库结构 ``` Cybersecurity-Training-System/ │ ├── IDS_LMS/ # Java-based Learning Management System module ├── IDS_User/ # Java-based user-side IDS/training module ├── Left_over_food/ # Java web application module / supporting training app ├── ML-malware-detection/ # Machine learning malware detection scripts and datasets ├── PhishingWebsite/ # Phishing URL feature extraction and prediction module ├── ids_malware/ # Flask/Python malware detection module ├── sql_injection/ # SQL injection notebook and test outputs ├── files/ # Project abstract and documentation notes ├── final dbit malware/ # Combined/backup project components └── .gitignore # Git ignore rules ``` ## 主要模块 ### 1. IDS LMS 模块 `IDS_LMS` 包含一个基于 Java/NetBeans 的学习管理模块。旨在支持网络安全培训内容和学习工作流。 **目的:** - 提供结构化的学习界面 - 支持培训内容管理 - 帮助用户通过引导式系统理解安全概念 **使用技术:** - Java - NetBeans 项目结构 - Ant 构建文件 - `lib/` 文件夹中的支持库 ### 2. IDS 用户模块 `IDS_User` 代表培训系统的面向用户模块。学习者可以使用它来访问网络安全意识内容或与培训活动进行互动。 **目的:** - 提供用户端交互 - 支持学习者访问培训场景 - 与 LMS/管理类模块协同工作 **使用技术:** - Java - NetBeans - Ant 构建系统 ### 3. 恶意软件检测模块 该仓库包含两个侧重于恶意软件的领域:`ML-malware-detection` 和 `ids_malware`。 这些模块演示了如何使用机器学习根据提取的特征对文件进行分类。 **实现的概念:** - PE/ELF 文件特征提取 - 恶意软件与合法文件分类 - 基于数据集的训练 - 使用 pickle/joblib 进行模型序列化 - 使用机器学习算法进行分类器比较 **算法 / 使用技术:** - Decision Tree - Random Forest - Gradient Boosting - AdaBoost - Gaussian Naive Bayes - 使用基于树的模型进行特征选择 - 混淆矩阵评估 **使用技术:** - Python - pandas - NumPy - scikit-learn - pefile - pickle/joblib - `ids_malware` 中的 Flask 支持 ### 4. 钓鱼网站检测模块 `PhishingWebsite` 包含用于从 URL 中提取特征并分类 URL 是否具有潜在恶意或合法的 Python 脚本。 **实现的概念:** - URL 特征提取 - 数据集生成 - 模型训练 - URL 测试和预测 - 钓鱼检测工作流 **重要文件:** ``` PhishingWebsite/ ├── FeatureExtraction.py ├── Main.py ├── Trainer.py ├── UI.py ├── predict.py ├── training.py ├── WebURL_Feature.csv ├── url_features.csv └── clf.model / clf1.model ``` **使用技术:** - Python - CSV 数据集 - 机器学习模型文件 - URL 特征工程 ### 5. SQL 注入实践模块 `sql_injection` 包含与 SQL 注入学习相关的 notebook/测试材料。 **目的:** - 演示基于输入的 Web/数据库安全风险 - 帮助学习者在受控的实验室环境中了解 SQL 注入的工作原理 - 支持安全编码意识 **重要文件:** ``` sql_injection/ ├── Untitled.ipynb ├── output.txt └── test.txt ``` ## 功能 - 模块化的网络安全培训结构 - 基于 Java 的培训和 LMS 组件 - 基于 Python 的恶意软件检测工作流 - 钓鱼 URL 特征提取和预测 - SQL 注入实践材料 - 机器学习模型训练和预测示例 - 适合网络安全意识演示的教育结构 - 适用于作品集、学术项目解释和面试讨论 ## 技术栈 | 类别 | 技术 | |---|---| | 编程语言 | Java, Python, JavaScript | | Web / UI | Java Web 组件, HTML/CSS, JavaScript | | 机器学习 | scikit-learn, pandas, NumPy | | 恶意软件分析 | PE/ELF 特征提取, pefile | | 后端 / 应用支持 | Flask, Gunicorn, Jinja2 | | IDE / 构建工具 | NetBeans, Ant | | 数据库支持 | MySQL | | Notebook | Jupyter Notebook | ## 前置条件 在运行项目之前,请根据您要运行的模块安装所需的工具。 ### 对于 Java 模块 - JDK 8 或兼容的 Java 版本 - NetBeans IDE - 如果使用数据库支持的功能,则需要 MySQL Server - 模块 `lib/` 文件夹中所需的库 ### 对于 Python 模块 - Python 3.x - pip - 建议使用虚拟环境 对于较旧的依赖文件,使用 Python 3.6 或 3.7 可能会更好,因为项目中的某些包使用的是较旧的版本。 ## 安装和设置 ### 1. 克隆仓库 ``` git clone https://github.com/GurukiranShiv/Cybersecurity-Training-System.git cd Cybersecurity-Training-System ``` ### 2. 运行 Java / NetBeans 模块 在 NetBeans 中将以下文件夹作为现有项目打开: ``` IDS_LMS IDS_User Left_over_food ``` 然后: 1. 打开 NetBeans。 2. 选择 **File > Open Project**。 3. 选择所需的模块文件夹。 4. 如果 NetBeans 提示缺少库,请解决库问题。 5. 如果模块需要 MySQL,请配置数据库连接。 6. 构建并运行项目。 ### 3. 运行恶意软件检测模块 ``` cd ids_malware python -m venv venv venv\Scripts\activate # Windows pip install -r requirements.txt python predict.py ``` 对于 Linux/macOS: ``` source venv/bin/activate pip install -r requirements.txt python predict.py ``` ### 4. 运行钓鱼检测模块 ``` cd PhishingWebsite python Main.py ``` 该模块提取基于 URL 的特征,并使用训练/预测工作流对 URL 进行分类。 ### 5. 查看 SQL 注入实践文件 ``` cd sql_injection jupyter notebook ``` 打开 notebook 文件并查看 SQL 注入实践材料的测试/输出文件。 ## 推荐的作品集截图 在 `screenshots/` 文件夹中添加截图,并稍后将其包含在此 README 中。 推荐截图: 1. Java LMS/管理仪表板 2. 用户培训界面 3. 恶意软件检测预测输出 4. 钓鱼 URL 检测输出 5. SQL 注入 notebook/输出 6. 项目文件夹结构 7. 如果使用 MySQL,请提供数据库表 添加截图后的示例格式: ``` ![LMS Dashboard](https://raw.githubusercontent.com/GurukiranShiv/Cybersecurity-Training-System/main/screenshots/lms-dashboard.png) ![Malware Detection Output](https://raw.githubusercontent.com/GurukiranShiv/Cybersecurity-Training-System/main/screenshots/malware-output.png) ![Phishing Detection Output](https://raw.githubusercontent.com/GurukiranShiv/Cybersecurity-Training-System/main/screenshots/phishing-output.png) ``` ## 安全与道德使用 本仓库仅用于网络安全教育、意识和受控的实验室演示。 请勿在未经书面授权的情况下,使用本项目进行攻击、扫描、利用或测试系统。任何钓鱼、恶意软件或 SQL 注入示例只能在本地实验室环境中使用。 ## 我学到了什么 通过这个项目,我实践了: - 构建模块化的网络安全培训应用程序 - 了解钓鱼和恶意软件检测工作流 - 从 URL 和文件中提取与安全相关的特征 - 训练和比较机器学习分类器 - 使用基于 Java/NetBeans 的应用程序 - 了解 SQL 注入风险是如何在脆弱的输入中出现的 - 将网络安全概念组织到培训平台中 - 准备用于 GitHub 和作品集展示的项目 ## 作品集总结 **网络安全培训系统** 是一个多模块的安全意识和培训平台,演示了核心网络安全主题,包括入侵检测学习、钓鱼 URL 分析、恶意软件分类和 SQL 注入实践。该项目将基于 Java 的培训应用程序与基于 Python 的机器学习模块结合在一起,创建了一个实践的网络安全学习环境。 ## 未来改进 - 为所有模块添加统一的 Web 仪表板 - 添加适当的身份验证和基于角色的访问控制 - 改进数据库设置文档 - 添加截图和演示视频 - 添加带有明确来源信息的样本数据集 - 添加自动化测试用例 - 升级较旧的 Python 依赖项 - 添加 Docker 支持以便于设置 - 添加针对培训结果的报告生成功能 - 为故意包含漏洞的示例添加安全编码修复 ## 仓库规范建议 在专业地展示此项目之前,请考虑删除不必要的文件,例如: ``` __pycache__/ *.pyc desktop.ini .ipynb_checkpoints/ old backup folders installer files such as .exe files ``` 此外,请验证仓库中是否不包含真实的凭据、数据库密码、私钥、API 密钥或敏感的个人数据。 ## 作者 **Gurukiran Shivashankar** 网络安全研究生 | 专注于 SOC 分析师 / 网络安全分析师 GitHub: [GurukiranShiv](https://github.com/GurukiranShiv) ## 免责声明 本项目仅为学术学习、网络安全意识和受控的实验室培训而创建。对于本仓库中包含的任何代码、数据集或培训材料的滥用,作者概不负责。
标签:Apex, CISA项目, JS文件枚举, NoSQL, 域名枚举, 安全培训, 数据可视化, 机器学习, 网络安全, 逆向工具, 钓鱼检测, 隐私保护