
PowerShell で構築された個人向け Windows SOC スイート — ネットワーク接続、リソース使用状況、スケジュールタスク、電源イベントを監視し、重要度分類とベースライン検出を備えています。
個人用セキュリティオペレーションセンター(SOC)で、Anwendungsentwicklung再訓練プログラムの一環としてゼロから構築されました。このスイートは、Windowsエンドポイントのネットワーク異常、リソーススパイク、プロセス実行、レジストリ変更、セキュリティイベントログアクティビティ、スケジュールタスク変更、DNSクエリ、および電源イベントを監視し、すべてを構造化ファイルに記録して、Pythonエンジンによる週次分析と相関を可能にします。

シングルページのFlaskダッシュボード。12個のコレクターと相関エンジンがアクティブ、ライブリソースモニター、送信接続フィード、コレクターイベントタイル、およびストリーミングエンジンアラート。
正式なIT再訓練と並行して実践的な学習プロジェクトとして構築されたこのスイートは、ベースライン収集、異常検出、重要度分類、ログ集約、およびクロスソース相関といった実際のSOCコンセプトを個人のWindowsマシンに適用しています。設計プロセスは最初から敵対的でした。各フェーズは、次のフェーズが構築される前にレッドチーム分析に対してストレステストされ、その結果から定義された48の相関ルールがPythonエンジンのアーキテクチャを推進しました。
開発は roadmap.md で追跡されています — 現在の状態、フェーズ9のフォレンジックエンジン計画、および長期的な強化目標。
ダッシュボードはFlaskサーバーとして実行され、コレクタープロセス検出のために管理者権限の昇格が必要です。クローン作成後、次の手順でショートカットを作成します:
C:\path\to\SOC を実際のインストールパスに置き換えてください。
3. 名前を付ける: SOC Dashboard
4. ショートカットを右クリック → プロパティ → 詳細設定 → 管理者として実行 にチェック
5. OK をクリック
ショートカットは Flask を起動し、準備が整うのを待ってからブラウザを自動的に開きます。Flask が既に実行中の場合は起動をスキップしてブラウザを直接開きます。管理者権限なしでショートカットを実行した場合、ステータスドットは灰色で表示されます。
ダッシュボードは、Auditor のブックエンド(朝の整合性チェック、夜のハッシュチェーン検証)が常に正しい順序で実行されるよう、クリーンな開始/停止シーケンスを強制します。

すべてのコレクターのハートビートが赤(ヘルスファイルがないか停止中)。Shutdown Dashboard ボタンは非表示 — End Day が実行されるまでダッシュボードはシャットダウンを許可しません。

Start Day は朝の Auditor ブックエンド(SHA256 ログ検証、アーカイブハッシュチェーン検証)を実行し、12 個すべてのコレクターと相関エンジンを起動します。各コレクターがレポートを送信するとハートビートが緑に変わります。

End Day はすべてのコレクターを順に停止し、夜間の Auditor ブックエンドを実行します。シーケンス実行中はコレクターのドットは緑のまま。ステータスラインには Running Auditor Evening… と表示されます。

夜間の監査が完了すると、すべてのコレクタードットが赤になり、ステータスラインは Evening audit complete. Safe to shut down. と表示され、Shutdown Dashboard ボタンが表示されます。クリックすると Flask プロセスがクリーンに終了します。

ブラウザタブは手動で閉じる必要があります(ブラウザは外部プロセスに閉じる API を公開していません)。
コレクターイベントタイルは、ソースごとに最も最近の重要度タグ付きイベントを表示します。Engine Alerts フィードは、Python エンジンからリアルタイムで相関された結果を、ルール番号、信頼度スコア、完全な証拠チェーン、SHA256 証拠ハッシュとともにストリーミングします。

例: Rule 35 (Raw Disk Read) が powershell.exe による \Device\HarddiskVolume3 への raw ハンドルオープンで発火、Rule 31 (DLL Load Anomaly) がユーザー書き込み可能パスからの Defender DLL の読み込みをフラグ付け。両方とも完全なプロセスプロベナンスとファイルハッシュ付き。
スイートは 3 層構造に従います。
収集層 — バックグラウンドで継続的に実行される PowerShell コレクター。各コレクターは特定のデータソースを監視し、構造化された重要度タグ付きのログエントリを書き込みます。すべて管理者権限が必要です。
分析層 — 収集されたログを解析し、週次サマリレポートを生成する PowerShell アナリストスクリプト。標準ユーザーとして実行します。
相関エンジン (フェーズ 7 — 完了) — すべてのコレクターログを取り込み、イベントを共通スキーマに正規化し、ルールベースおよびリスクスコアリングによる相関をすべてのデータストリーム全体で実行する Python エンジン。3 つのプログラム:
| プログラム | フェーズ | 役割 |
|---|---|---|
| Correlation Engine | 7 — 完了 | 取り込み、正規化、相関、アラート (SQLite 運用ストア) |
| SOC Dashboard | 8 — 完了 | ライブ可視化 — コレクター健全性、アラート、証拠チェーン (Flask) |
| Forensic Engine | 9 — 予定 | イベント後調査 — スーパータイムライン、プロセス系統、ビーコン分析、永続性監査、追記専用証拠データバンク |
| Forensic Dashboard | 9 — 予定 | 要約されたフォレンジック結論 — 色分けステータス、レポート生成、証拠ナビゲーション |
| フェーズ | スクリプト | ニックネーム | 機能 |
|---|---|---|---|
| 1 | Sentinel.ps1 | Network Watchdog | ジオロケーション、プロセスパス検証、累積転送量追跡付きのアウトバウンド TCP 接続 |
| 1 | Bulwark.ps1 | Night's Watch | インバウンドリッスンポート — ベースライン差分、新規/閉鎖ポート検出、ジオロケーション異常 |
| 1 | Steward.ps1 | Quartermaster | Windows パフォーマンスカウンターを使用したプロセスごとの CPU、RAM、ディスク I/O、8言語自動検出 |
| 1 | CityGuard.ps1 | City Guard | スケジュールタスクの追加、削除、変更 — アクションおよびトリガー変更の検出 |
| 1 | Watchman.ps1 | Watchman | 電源イベント — 起動、スリープ、ウェイク、予期しないシャットダウン、時間外アクティビティ |
| 2A | Registry_Warden.ps1 | — | レジストリ Run キー、RunOnce、サービスのベースラインと差分、SAM RID 整合性チェック |
| 2B | Harbinger.ps1 | — | WMI/CIM イベント駆動型プロセス作成モニター — 高リスクパス検出、親プロセストラッキング |
| 3 | Bloodhound.ps1 | — | DNS クエリモニター — Shannon エントロピーによる DGA 検出、TXT レコードフラグ付け、ICMP ボリュームスパイク検出 |
| 4 | Warden.ps1 | — | スイート監視 — SHA256 スクリプト FIM、ログサイズ回帰、コレクター健全性、メンテナンスフラグ、自己監視スケジュールタスク |
| 5 | SecEventLog.ps1 | — | Windows セキュリティイベントログ — ログオン異常、アカウント操作、特権昇格、サービスインストール、ブルートフォース検出 |
| 6 | DoH_Detector.ps1 | — | DNS-over-HTTPS 回避検出器 — ホワイトリストにないプロセスから既知の 28 個の DoH リゾルバ IP への TCP 接続 |
| 7 | SysmonWatcher.ps1 | — | Sysmon カーネルレベルイベントモニター — プロセスインジェクション、LSASS アクセス、raw ディスク読み取り、未署名ドライバロード、WMI 永続性、ブラウザデバッガアタッチメント (22 イベント ID) |
| スクリプト | ニックネーム | 機能 |
|---|---|---|
| Investigator.ps1 | Audit Reporter | Sentinel アウトバウンド接続ログの週次分析 |
| Crow.ps1 | Lord Commander | Bulwark インバウンドポートログの週次分析 |
| Ledger.ps1 | Maester | Steward リソースログの週次分析、RAM トレンド検出 |
| Castellan.ps1 | Castellan | CityGuard スケジュールタスクログの週次分析 |
| Auditor.ps1 | — | 朝/夜ブックエンド整合性監査 — SHA256 ログ検証、アーカイブハッシュチェーン検証 |
複数ラウンドのレッドチーム分析を通じて定義(Documentation 参照)。フェーズ 7 で実装。