
🛡️ Spring4Shell ファイアウォール防御 – サイバーセキュリティインシデントシミュレーション
このプロジェクトは、2025年8月にForageを通じて完了したサイバーセキュリティ職務シミュレーションの一環です。Spring4Shell(CVE-2022-22965)の脆弱性を伴う実際のインシデントをシミュレートし、カスタムファイアウォールが悪用の試みをどのように検出・緩和できるかを示しています。
📌 プロジェクト概要
このシミュレーションの目標は、脆弱なWebアプリケーションのエンドポイントを標的とする悪意のあるトラフィックを特定してブロックすることでした。受信リクエストを監視・フィルタリングし、既知のエクスプロイトパターンを検出してリアルタイムで阻止するカスタムのPythonベースHTTPファイアウォールを開発しました。
🧰 主な機能
🔍 脅威検出: HTTP POSTデータを分析し、不審なキーとペイロードを検出します。
🔐 ファイアウォール防御: パターンベースのルールを使用して悪意のあるリクエストをブロックします。
💣 エクスプロイト防止: Runtime.getRuntime()および類似のシグネチャを介したリモートコード実行の試みを検出します。
📈 ロギングとモニタリング: ブロックされた試みとブロック理由をターミナルに表示します。
🖼️ デモ
最初のスクリーンショットでは、不審なPOSTリクエストがRuntime.getRuntime()を含むペイロードを注入してSpring4Shellの脆弱性を悪用しようとしています。カスタムファイアウォールはこのパターンを即座に検出し、リクエストをブロックして403 Forbiddenレスポンスを返します。これにより、潜在的なリモートコード実行(RCE)の試みを効果的に阻止します。

対照的に、2番目のスクリーンショットでは、無害なデータ(username=test)を含む安全なPOSTリクエストがサーバーに送信されています。ファイアウォールはこれを安全と認識し、リクエストを通過させて標準の200 OKレスポンスを返します。これは、ファイアウォールが通常のアクティビティと悪意のあるアクティビティを正確に区別できることを示しています。

🧪 使用技術
Python(ファイアウォール実装)
http.server モジュール(脆弱なサーバーのシミュレーション用)
curl(POSTリクエストのシミュレーション用)
カスタムシグネチャ検出ロジック
📋 実施内容
JSPエンドポイントを標的としたシミュレートされたSpring4Shell攻撃を分析しました。
POSTデータ内の不審なペイロードを特定しました。
悪意のあるリクエストを検出・ブロックするカスタムファイアウォール(firewall_server.py)を作成しました。
攻撃をシミュレートしてファイアウォールを検証しました(スクリーンショット参照)。
詳細な事後分析を用いてインシデントを文書化しました。
📜 証明書
RNhbu8QnDzthwynEf_M6JGAwZ52SMusMEcK_cKqCaSyzkPoWXRdg5_1754434963290_completion_certificate.pdf