
Android CVE-2024-0044、43093、23706の脆弱性分析とPoCラボ環境
| 氏名 | Keyvan Arasteh |
|---|---|
| GitHub | @keyvanarasteh |
| メール | [email protected] |
| keyvanarasteh | |
| ウェブサイト | qline.tech |
| 氏名 | Baha Furkan Yıldız |
|---|---|
| 学籍番号 | 2520****1009 |
| 授業名 | 侵入テスト |
|---|---|
| 授業コード | BGT006 |
| 単位 | 3 AKTS |
このプロジェクトは、イスティニエ大学情報セキュリティ技術プログラムの侵入テスト(BGT006)コースの最終課題として開発されました。プロジェクトでは、Androidエコシステムに影響を与える3つの異なる最新の脆弱性(CVE-2024-0044、CVE-2024-43093、CVE-2024-23706)を詳細に調査し、隔離されたラボ環境を構築し、サイバー捜査の方法論で分析しました。
従来のAndroidセキュリティ分析は、多くの場合、理論的なドキュメントや静的画像のみで構成されています。このプロジェクトは、攻撃と防御のサイクルを動作するコードで組み合わせることで、以下の根本的な問題を解決します:
exploit_sim.py)とブルーチームのログ監視検出器(detector.py)をエンドツーエンドで接続し、完全な攻撃・防御PoC(Proof of Concept)を提供します。プロジェクトをクローンしたユーザーが数秒以内に実行して出力を確認できるよう、単一コマンドで動作するPoCランチャー(run_poc.bat / run_poc.sh)が追加されています。これらのスクリプトは、レッドチームのエクスプロイト手順をシミュレートし、ブルーチームの検出器がアラームを生成してreports/detection_results.jsonファイルに書き込むことを可能にします。詳細な実行手順については、セットアップと実行セクションを参照してください。
プロジェクトで開発されたsrc/detector.pyエンドポイントログ分析エージェントは、中間試験プロジェクトとして実装されたNetVanguard中央異常監視・アラームパネルに統合されています。エミュレータ上で発生した重大な脆弱性シグネチャがネットワーク経由でNetVanguardバックエンドエンジンに転送され、中央監視(SIEM)アーキテクチャがシミュレートされています。
脆弱性検知エージェント(src/detector.py)は、Androidデバイス上で実行されるエクスプロイト活動を検出するために設計された軽量(lightweight)なエンドポイントログ監視エンジンです。
adb connectコマンドでエミュレータに直接接続し、デバイスログをライブで監視します。adb logcat | python src/detector.pyアーキテクチャにより、他のCLIツールとパイプ接続できます。.log)を動的に1行ずつ監視します。.envファイルのDETECTION_KEYWORDS変数から供給されます。SIGSEGV)、パッケージインストールエラー(SIGABRT)、クラッシュしたセキュアアプリ(Process has died)などの重大なエクスプロイトシグネチャを捕捉すると、即座にターミナルとログに[TEHLIKE - ALARM]を生成します。Android-rce-analizi/
├── .github/
│ └── workflows/
│ └── detector_test.yml # GitHub Actions (CI/CD) Otomatik Test Yapılandırması
├── .gitattributes # GitHub dil istatistikleri ve dosya nitelikleri yapılandırması
├── README.md # Proje ana belgesi
├── ROADMAP.md # Proje yol haritası (Faz 0-5)
├── start_dashboard.bat # Windows için Web Dashboard başlatıcı
├── start_dashboard.sh # macOS/Linux için Web Dashboard başlatıcı
├── run_poc.bat # Windows için tek tıkla çalışan PoC simülatörü
├── run_poc.sh # macOS/Linux için tek tıkla çalışan PoC simülatörü
├── .gitignore # Git takip dışı dosyalar
├── .env.example # Ortam değişkenleri şablonu
├── Dockerfile # Docker yapılandırması
├── docker-compose.yml # Çoklu konteyner yapılandırması
├── LICENSE # Lisans dosyası
├── mitigation/ # Zafiyet azaltma ve düzeltme (patch) dosyaları
│ ├── cve_2024_0044_patch.diff
│ ├── cve_2024_23706_mitigation.md
│ └── cve_2024_43093_mitigation.md
├── src/ # Kaynak kodlar
│ ├── detector.py # Uç nokta log analiz ajanı (Gerçek zamanlı tespit motoru)
│ ├── exploit_sim.py # Kırmızı Takım (Red Team) zafiyet istismar simülatörü
│ └── test_detector.py # Ajan için yazılmış otomatik birim (unit) testleri
├── reports/ # Simüle edilmiş tarama ve tespit raporları
│ ├── nessus_scan.csv # Simüle edilmiş Nessus zafiyet tarama çıktısı
│ └── detection_results.json # Tespit motorunun anlık olarak kaydettiği log çıktıları
├── web/ # Web Dashboard arayüzü
│ ├── index.html # Ana dashboard HTML dosyası
│ ├── css/style.css # Arayüz stilleri
│ └── js/main.js # Arayüz dinamikleri ve terminal simülatörü
├── docs/ # Dokümantasyon
│ ├── assets/ # Görseller ve medya dosyaları (Demo GIF dahil)
│ ├── modules/ # Modül belgeleri
│ ├── references/ # Referans kaynakları
│ └── research/ # Derinlemesine araştırma belgeleri
│ ├── 01_zafiyet_analizi.md
│ ├── 02_teknik_mekanizma.md
│ ├── 03_saldirgan_perspektifi.md
│ ├── cve_2024_23706.md
│ ├── cve_2024_43093.md
│ ├── detector_test_output.md # Test rapor çıktısı
│ └── final_rapor.md # Ders teslim final raporu
└── honeypot/ # Honeypot ortam dosyaları (Emülatör kurulum rehberi)
このプロジェクトでは、脆弱性分析と防御シミュレーションは、4つの基本フェーズからなるサイバーセキュリティサイクルとして扱われています:
graph TD
A["1. Zafiyet Analizi & Statik İnceleme"] --> B["2. İzole Lab Ortamı Kurulumu"]
B --> C["3. İstismar Simülasyonu & Dinamik Loglama"]
C --> D["4. Korelasyon & Görsel Dashboard"]
SIGSEGVなど)は、src/detector.py脆弱性検知エージェントによってフィルタリングされ捕捉されました。web/インターフェースに反映されました。# 1. Repoyu klonlayın ve dizine gidin
git clone https://github.com/bfurkanyildiz/Android-rce-analizi.git
cd Android-rce-analizi
# 2. Ortam değişkenlerini hazırlayın (.env olmadan varsayılan ayarlar kullanılır)
cp .env.example .env
インストールやエミュレータ設定を一切必要とせず、攻撃・検知メカニズムをエンドツーエンドでテストするには:
run_poc.bat
bash run_poc.sh
Androidエミュレータを起動した状態で、リアルタイムのlogcatを取得するには:
# Ajanı başlatın (ADB üzerinden canlı logları dinlemeye başlar)
python src/detector.py
# Ayrı bir terminalden saldırı simülatörünü tetikleyin
python src/exploit_sim.py
すべての依存関係を隔離されたDockerコンテナで起動するには:
docker-compose up -d
ソフトウェア品質とCI/CD標準をテストするには:
python -m unittest src/test_detector.py
プロジェクトをクローン(git clone)したユーザーは誰でも、分析レポートとターミナルシミュレーションを含むリッチなWebインターフェースを自分のローカル環境で簡単に実行できます。
インターフェースを表示するには、以下のいずれかの方法を使用できます:
ローカルHTTPサーバーをバックグラウンドで起動し、インターフェースをデフォルトブラウザで自動的に開くには、お使いのOSに適したコマンドを実行してください:
start_dashboard.batファイルをダブルクリックするか、ターミナルから次のコマンドで実行できます:
start_dashboard.bat
bash start_dashboard.sh
chmod +x start_dashboard.sh
./start_dashboard.sh
ローカルサーバーを一切立てずに直接実行するには:
web/ディレクトリに移動します。index.htmlファイルをダブルクリックして、ブラウザで直接開きます。Pythonサーバーを手動で起動する場合:
python -m http.server 8080
その後、ブラウザでhttp://localhost:8080/web/index.htmlにアクセスしてください。
本プロジェクトは、サイバーセキュリティ標準に準拠したソフトウェアエンジニアリング(DevSecOps)の原則に基づいて管理されています。リポジトリへのpushまたはpull requestのたびに、GitHub Actionsは次のパイプラインを実行します:
ubuntu-latestとwindows-latestの両方のシステムでテストされ、クロスプラットフォームの互換性が検証されます。flake8ツールを使用して、Pythonのコーディング標準(PEP 8)が検査されます。banditツールを使用して、コード内で発生し得る重大な脆弱性パターンが自動的にスキャンされます(すべてのfalse-positiveケースは、サイバーセキュリティ標準に従って# nosecでマークされています)。exploit_sim.py | detector.pyパイプラインが実行され、エンドツーエンドのエクスプロイト・検知サイクルがシミュレートされます。detection_results.jsonが、自動的にzipファイルとしてActionsの出力にアップロードされます。
このプロジェクトは学術および教育目的のみです。すべてのテストは、管理されたラボ環境の隔離された仮想マシン上で実施されます。実際のデバイスや第三者システムへの攻撃行為は違法であり、このプロジェクトの範囲外です。
このプロジェクトはGNU General Public License v3.0の下でライセンスされています。
| 前提条件 | ネットワーク基礎、Linux CLI |
| 学期 | 2025-2026 春学期 |
| CVEコード | 脆弱性の種類 | CVSSv3スコア | 影響を受けるコンポーネント | 攻撃ベクトル |
|---|
| CVE-2024-0044 | Run-as UID Bypass (LPE & RCE) | 8.8(高) | Android System Server | ローカル(ADB / 悪意のあるアプリ) |
| CVE-2024-43093 | SQLite & DocumentProvider Bypass | 7.8(高) | Android SQLite Library | ローカル(メディア/ファイルアクセス) |
| CVE-2024-23706 | Package Manager Bypass | 7.8(高) | Android Package Manager | ローカル(アプリインストール) |
| 技術 | 用途 |
|---|
| Python 3.x | 検知エンジン、攻撃シミュレーション |
| Android SDK / ADB | エミュレータ管理、デバイス通信 |
| Docker | 隔離ラボ環境のコンテナ化 |
| Flask | Web監視パネル |
| Logcat | Androidシステムログ分析 |