著者: Vedant Karande & Kiran Kumari
コース: ネットワーク&システムセキュリティ (SIL7165) - インド工科大学デリー校
KOOBE-Guardは、Linuxローダブルカーネルモジュール(LKM)として開発された動的侵入防止システム(IPS)であり、壊滅的なヒープベースの脆弱性、特にCVE-2024-1086二重解放脆弱性を積極的に緩和することを目的としています[cite: 1]。
現代のオペレーティングシステムは、メモリサブシステムがメモリを完璧に割り当て、解放することを暗黙的に信頼しています[cite: 1]。Linuxカーネルのnf_tablesのような複雑なサブシステムに論理エラーが含まれると、メモリ管理の不具合が発生し、権限のない攻撃者がHeap Feng Shuiとオーバーラップ割り当てを介してローカル権限昇格(LPE)を達成することを可能にします[cite: 1]。KOOBE-Guardは、重量級かつ受動的なシャドウメモリ防御から、リアルタイムの能動的時間的ギャップ追跡へと移行することで、これを無効化します[cite: 1]。
KASANのような従来の緩和ツールは、巨大なシャドウメモリマッピングに依存し、200%〜300%のCPUオーバーヘッドと壊滅的なRAMの肥大化をもたらすため、本番環境では使用できません[cite: 1]。
KOOBE-Guardは以下の方法でエクスプロイトを捕捉します:
kfreeアロケータ経路に直接フックされます[cite: 1]。このモジュールは、解放されたメモリアドレスの正確なナノ秒タイムスタンプを記録します[cite: 1]。regs->di = 0)を強制的にNULLへ書き換えます[cite: 1]。これにより、安全なkfree(NULL)操作が強制され、SLUBフリーリストの破損を完全に防ぎます[cite: 1]。defense_module/: KOOBE-Guard LKMのソースコードとMakefileを含みます。evaluation_scripts/: 定量的なQEMUテストに使用されるBashスクリプト(benchmark.sh、hit_rate.sh)を含みます。docs/: 包括的なプロジェクトレポートとプレゼンテーションスライドを含みます。proofs/: システムアーキテクチャ図、実行スクリーンショット、ベンチマークグラフを含みます。exploit_poc/: 脆弱性状態を引き起こすために使用されるCVE-2024-1086用の武器化されたProof-of-Conceptにリンクするサブモジュールです。このフレームワークは、カスタムコンパイルされたLinux 6.6.0カーネルを実行する、深く隔離されたハードウェアアクセラレーションQEMU仮想ラボで厳密に評価されました[cite: 1]。
exploit_pocディレクトリにサブモジュールとしてリンクされています。元のリポジトリはこちら: Notselwyn/CVE-2024-1086。このプロジェクトはGPL-2.0ライセンスの下でライセンスされています。詳細については、LICENSEファイルを参照してください。