无监督深度自编码器,用于标记异常移动流量:通过 mitmproxy 从一台真实 iOS 设备拦截了 25,000 多条 HTTP/HTTPS 流量,通过阈值调优将标记流量从 1,100 条降至 103 条,并配有 Streamlit 监控仪表板。
本项目实现了一个移动入侵检测系统,用于处理从移动设备捕获的网络流量,执行特征工程,并使用基于自编码器的深度学习模型来检测异常网络流。系统利用外部威胁情报和白名单数据来减少误报并提高检测准确率。
flows.mitm 重命名为 flows_1.mitm 来归档先前的流捕获,以避免覆盖,然后处理新的捕获数据。流捕获与归档
flows.mitm)重命名为 flows_1.mitm,以避免覆盖。特征工程
模型训练与预测
可视化与仪表盘(可选)
克隆仓库
git clone https://github.com/yourusername/Mobile-Intrusion-Detection-System.git
cd Mobile-Intrusion-Detection-System
创建并激活虚拟环境
python3 -m venv venv
source venv/bin/activate
安装所需软件包
pip install tensorflow pandas numpy scikit-learn matplotlib plotly streamlit
运行训练流水线以处理历史数据、执行特征工程并训练自编码器模型:
./run_project.sh train
此命令执行以下步骤:
在运行预测之前,现有的 flows_1.mitm 文件会被归档(带有时间戳)以保留先前的捕获数据。然后,捕获并处理新的流:
./run_project.sh predict
此命令执行以下步骤:
要可视化结果和性能指标,请使用 Streamlit 运行仪表盘模式:
./run_project.sh dashboard
仪表盘显示:
移动入侵检测系统展示了对来自移动设备的网络流数据的有效处理,并利用基于自编码器的方法进行异常检测。白名单过滤的集成显著减少了误报;然而,预测阶段暴露出了一些挑战——特别是在区分良性的 Google 搜索相关流量与真正的恶意活动方面。这表明需要进一步改进异常检测逻辑,尤其是在白名单过滤阶段。未来的工作将侧重于改进过滤算法、纳入更多威胁情报来源,并扩展仪表盘功能以获得更深入的洞察。
本项目采用 MIT 许可证。详情请参阅 LICENSE 文件。