
CVE-2017-0144 (EternalBlue/MS17-010) に対する補完的コントロールを提供する防御的な Windows セキュリティアプリケーション。SMB 監視、攻撃検知、自動ファイアウォール応答、構成監査、セキュリティレポートを通じて、レガシーおよびサポート対象外のシステムを保護します。
Windowsデスクトップ向けセキュリティアプリケーションです。**CVE-2017-0144(MS17-010 / EternalBlue)**に依然としてさらされているシステム、すなわち公式のMicrosoftセキュリティ更新プログラムを受け取れなくなったレガシーまたはサポート対象外のWindowsインストール環境に対して、防御的な補完的統制を提供します。
LegacyShieldは、根本的なSMBv1の脆弱性にパッチを適用するものではありません。 監視、ヒューリスティック検出、自動化された(一時的で元に戻せる)ファイアウォール緩和策、構造化ログ、専門的なレポートを通じて、攻撃対象領域を減らし、可視性を向上させます。公式のMS17-010更新プログラムの適用、またはサポートされているWindowsバージョンへのアップグレードが、最終的な是正手段であり続けます。
このプロジェクトには、エクスプロイトコード、概念実証用の攻撃コード、特権昇格の手法、またはいかなる種類の攻撃的ツールも含まれていません。
| 機能 | 概要 |
|---|---|
| システム評価 | Windowsバージョン、SMBv1の状態、ポート139/445の露出、ファイアウォール状態、ファイル共有、ネットワークプロファイルを読み取り専用で確認します(書き込みはしません)。0〜100のセキュリティスコアを生成します。 |
| SMB監視 | OSの接続テーブルを介してTCP 139/445をポーリングし、新しい受信接続を検出します。パケットキャプチャやペイロード検査は行いません。 |
| 検出エンジン | 設定可能なヒューリスティック:接続バースト、1分あたりの接続数、繰り返される失敗したネゴシエーション。 |
| 自動応答 | 問題のある送信元に対して、一時的でタグ付けされ、自動的に期限切れになる Windowsファイアウォールのブロックルールを作成します。自身が作成したルール以外には一切触れず、完全なロールバックをサポートします。 |
| ロギング | 構造化されたJSON/CSV/プレーンテキストのログに加え、重要度の高いイベントについてはWindowsイベントログにも記録します。 |
| レポート | エグゼクティブサマリー形式のセキュリティレポートをJSON、HTML、PDFとしてエクスポートできます。 |
| デスクトップUI | PySide6によるダッシュボード、サイドバーナビゲーション、システムトレイ通知。 |
| バックグラウンドサービス | オプションのpywin32ベースのWindowsサービスにより、GUIを閉じても保護が継続されます。 |
LegacyShield/
├── main.py # GUI entry point (+ install/uninstall/rollback CLI verbs)
├── legacyshield/
│ ├── core/ # Read-only system inspection, scoring, shared models
│ ├── modules/ # Config, detection engine, response engine, whitelist
│ ├── services/ # SMB monitor, firewall service, background Windows Service
│ ├── logging_/ # JSON/CSV/text log writers + Windows Event Log mirror
│ ├── reports/ # JSON/HTML/PDF report generator + HTML template
│ └── ui/ # PySide6 main window, sidebar, dashboard, pages, tray
├── config/default_config.json # Shipped default configuration
├── installer/ # PyInstaller spec, build script, manifest, Inno Setup script
├── tests/ # pytest suite incl. mocked-Windows-API tests
├── samples/ # Example config/log/report output
└── docs/ # Guides referenced below
完全な設計(UMLクラス図およびシーケンス図を含む)については、ARCHITECTURE.md を参照してください。
python -m venv .venv
.venv\Scripts\activate # Windows
pip install -r requirements-dev.txt
pytest tests/ -v
python main.py
GUI(
main.py)とWindowsサービス(legacyshield/services/background_service.py)には、Windowsとpywin32が必要です。core/modules/servicesのビジネスロジックはプラットフォームに依存せず、モック化されたWindows APIプロトコルを介して任意のOSでテストスイートが実行されます —tests/mocks/windows_mocks.pyを参照してください。
pip install -r requirements-dev.txt
python installer/build.py # runs tests, then PyInstaller -> dist/LegacyShield.exe
iscc installer/installer.iss # optional: Inno Setup -> dist/installer/LegacyShield-Setup-*.exe
これは、Windowsシステムプログラミング、監視/検出設計、セキュアなアプリケーションアーキテクチャを示す、防御的エンジニアリングのポートフォリオプロジェクトです。特定のライセンスは同梱されていません。配布前に、意図した用途に適したライセンスを追加してください。