今回は個人開発で遊んだプロジェクト「SilentGuard」の紹介です。
完全イベント駆動型の軽量セキュリティトリガーモジュールで、ファイル操作の瞬間だけ反応します。
🔹 開発のきっかけ
きっかけはとても単純で、
「2種類のスキャンエンジンでダブルチェックできたら、面白くない?」
という思いつきからスタートしました。
セキュリティの専門教育を受けたことはありませんが、構造として可能では?と思って試作を始めました。
🔹 SilentGuardとは?
SilentGuardは「ファイル生成・変更・削除」などのシステムイベントをトリガーとしてのみ動作するモジュールです。
常時監視はせず、「必要な瞬間だけ」反応するため、非常に軽量かつ高速です。
🔧 使用技術・特徴
項目 | 内容 |
---|---|
言語 | C# |
ライブラリ | .NET標準 + ETW(外部OSSゼロ) |
CPU使用率 | 0%〜0.1% |
メモリ使用量 | アイドル時:5MB台 |
ファイルサイズ |
.cs 単体:約13KB / ビルド後 .exe :約144KB |
コード量 | 約350行(改行含む) |
🔹 仕組みと構造
SilentGuardは、WindowsのETW(Event Tracing for Windows) を利用してファイルイベントをフックし、以下のように動作します。
⚙️ 処理の流れ
- ファイルの作成・変更・削除をリアルタイムで検知
- 検知時のみ、指定されたスキャンエンジン(例:
MpCmdRun.exe
)を強制実行 - スキャン終了後、即アイドル状態に戻る
- 「脅威あり」の場合:
- 該当プロセスを終了
- ファイルを隔離
- 別エンジンで再スキャン
- 必要であれば削除 → ログ保存まで自動処理
設定ファイル(
Config.json
)にスキャンエンジンのパスを2つ指定するだけで、任意の組み合わせが利用可能です。
🔹 スキャンエンジンについて
本モジュール自体はスキャンエンジンを自作しておらず、外部の既存エンジンを呼び出す設計です。
今回はテスト用として Windows Defender を使用しましたが、ClamAVやESET、任意のCLIベースのスキャナにも適用可能です。
🔹 おわりに
このモジュールは構造的にはほぼ完成しており、今後はスケーラブルな形で引き継ぎ・譲渡を検討しています。
これからh、教育AIなどに注力していく予定です。
🔄 今後の展開可能性
- OEM提供向けモジュール化
- SaaS型の法人向け軽量EDR
- 既存AVソフトとのバンドル構成
ご興味のある方は、ぜひコメント欄やLinkedInからご連絡ください。
デモ動画や技術構成の詳細も共有可能です!