Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Mobile-Intrusion-Detection-System — 无监督深度自编码器,用于标记异常移动流量:通过 mitmproxy 从一台真实 iOS 设备拦截了 25,000 多条 HTTP/HTTPS 流量,通过阈值调优将标记流量从 1,100 条降至 103 条,并配有 Streamlit 监控仪表板。 | Kitploit
工具/GitLabGitLab/yashubitra/mobile-intrusion-detection-system
防御工具数据包嗅探与分析网络安全移动安全机器学习入侵检测异常检测日志分析

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitLab
yashubitra/mobile-intrusion-detection-system

Mobile-Intrusion-Detection-System

无监督深度自编码器,用于标记异常移动流量:通过 mitmproxy 从一台真实 iOS 设备拦截了 25,000 多条 HTTP/HTTPS 流量,通过阈值调优将标记流量从 1,100 条降至 103 条,并配有 Streamlit 监控仪表板。

查看仓库网站
191年前尚未审核

移动入侵检测系统

本项目实现了一个移动入侵检测系统,用于处理从移动设备捕获的网络流量,执行特征工程,并使用基于自编码器的深度学习模型来检测异常网络流。系统利用外部威胁情报和白名单数据来减少误报并提高检测准确率。

目录

  • 功能特性
  • 架构概览
  • 安装与环境配置
  • 使用方法
    • 训练模式
    • 预测模式
    • 仪表盘模式
  • 数据来源与外部参考
  • 结论与未来工作
  • 参考文献
  • 许可证

功能特性

  • 网络流捕获: 使用 MITMProxy 捕获来自移动设备的 HTTP 流。
  • 流处理与归档: 通过将 flows.mitm 重命名为 flows_1.mitm 来归档先前的流捕获,以避免覆盖,然后处理新的捕获数据。
  • 特征工程: 从捕获的流中提取、缩放并向量化特征(使用 TF-IDF)。
  • 异常检测: 在历史数据上训练自编码器模型,以学习正常行为,并基于重构误差标记异常流。
  • 白名单过滤: 使用来自 Majestic Million 和 Top 1M domains(Kaggle)等来源的数据进行白名单过滤,以过滤掉良性异常。
  • 预测模式: 处理新捕获的数据,应用训练好的模型,并输出异常及指标。
  • 仪表盘模式: 提供交互式仪表盘(使用 Streamlit 和 Plotly 构建),用于结果的可视化与分析。

架构概览

  1. 流捕获与归档

    • MITMProxy 捕获来自移动设备的网络流。
    • 在开始新捕获之前,将现有的捕获文件(flows.mitm)重命名为 flows_1.mitm,以避免覆盖。
    • 随后将捕获的流转换为 CSV 和 JSON 格式。
  2. 特征工程

    • 从处理后的流中提取特征。
    • 使用缩放器对数据进行缩放,并使用 TF-IDF 进行向量化。
    • 将工程化后的特征保存到 CSV 文件中,用于模型训练和预测。
  3. 模型训练与预测

    • 训练模式: 处理历史数据以训练自编码器模型。保存模型产物,例如训练好的模型和缩放器。
    • 预测模式: 处理新捕获的数据,使用训练好的模型运行预测,并应用白名单过滤以减少误报。
  4. 可视化与仪表盘(可选)

    • 交互式仪表盘显示损失曲线、重构误差分布、异常计数等指标。

安装与环境配置

  1. 克隆仓库

    git clone https://github.com/yourusername/Mobile-Intrusion-Detection-System.git
    cd Mobile-Intrusion-Detection-System
    
  2. 创建并激活虚拟环境

    python3 -m venv venv
    source venv/bin/activate
    
  3. 安装所需软件包

    pip install tensorflow pandas numpy scikit-learn matplotlib plotly streamlit
    

使用方法

训练模式

运行训练流水线以处理历史数据、执行特征工程并训练自编码器模型:

./run_project.sh train

此命令执行以下步骤:

  • 处理捕获的网络流。
  • 归档先前的捕获文件(即,将 flows.mitm 重命名为 flows_1.mitm)。
  • 构建并缩放特征。
  • 训练自编码器模型并对其进行评估。
  • 将模型、缩放器和运行摘要保存在 results/ 目录中(包括 run_log.json)。

预测模式

在运行预测之前,现有的 flows_1.mitm 文件会被归档(带有时间戳)以保留先前的捕获数据。然后,捕获并处理新的流:

./run_project.sh predict

此命令执行以下步骤:

  • 将当前的 flows_1.mitm 文件按时间戳进行归档。
  • 处理新捕获的流并将其转换为 CSV 和 JSON 格式。
  • 将新的 CSV 文件复制到预期位置并执行特征工程。
  • 加载已训练好的 scaler 和模型。
  • 对新数据运行预测并应用白名单过滤。
  • 输出预测结果并将其保存在 results/ 目录中,同时更新 run_log.json。

仪表盘模式

要可视化结果和性能指标,请使用 Streamlit 运行仪表盘模式:

./run_project.sh dashboard

仪表盘显示:

  • 训练和验证损失曲线。
  • 重建误差分布及设定的阈值。
  • 多次运行中的异常计数。
  • 白名单过滤前后唯一 URL 数量的对比。
  • 用于进一步分析的其他交互式图表和汇总表。

数据来源与外部参考

  • 白名单数据:
    • Majestic Million Report
    • Top 1M Domains Dataset (Kaggle)

结论与未来工作

移动入侵检测系统展示了对来自移动设备的网络流数据的有效处理,并利用基于自编码器的方法进行异常检测。白名单过滤的集成显著减少了误报;然而,预测阶段暴露出了一些挑战——特别是在区分良性的 Google 搜索相关流量与真正的恶意活动方面。这表明需要进一步改进异常检测逻辑,尤其是在白名单过滤阶段。未来的工作将侧重于改进过滤算法、纳入更多威胁情报来源,并扩展仪表盘功能以获得更深入的洞察。

参考文献

  • Majestic Million Report
  • Top 1M Domains Dataset (Kaggle)
  • MITMProxy
  • TensorFlow
  • Scikit-Learn
  • Plotly
  • Streamlit

许可证

本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。

下载工具