
教師なし深層オートエンコーダーで異常なモバイルトラフィックを検出します。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
ダッシュボードには以下が表示されます:
Mobile Intrusion Detection Systemは、モバイルデバイスからのネットワークフローデータを効果的に処理し、異常検知にオートエンコーダベースのアプローチを活用することを実証しています。ホワイトリストフィルタリングの統合により誤検知が大幅に削減されますが、予測段階では課題が明らかになりました。特に、良性のGoogle検索関連フローと真に悪意のある活動を区別する点が課題です。これは、異常検知ロジック、特にホワイトリストフィルタリング段階のさらなる改良が必要であることを示しています。今後の課題は、フィルタリングアルゴリズムの改善、追加の脅威インテリジェンスソースの組み込み、より深い洞察のためのダッシュボード機能の拡張に焦点を当てます。
このプロジェクトはMITライセンスの下でライセンスされています。詳細はLICENSEファイルを参照してください。