2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

完全イベント駆動型セキュリティトリガー(C# + .NET + ETW)

Posted at

今回は個人開発で遊んだプロジェクト「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) を利用してファイルイベントをフックし、以下のように動作します。

⚙️ 処理の流れ

  1. ファイルの作成・変更・削除をリアルタイムで検知
  2. 検知時のみ、指定されたスキャンエンジン(例:MpCmdRun.exe)を強制実行
  3. スキャン終了後、即アイドル状態に戻る
  4. 「脅威あり」の場合:
      - 該当プロセスを終了
      - ファイルを隔離
      - 別エンジンで再スキャン
      - 必要であれば削除 → ログ保存まで自動処理

設定ファイル(Config.json)にスキャンエンジンのパスを2つ指定するだけで、任意の組み合わせが利用可能です。


🔹 スキャンエンジンについて

本モジュール自体はスキャンエンジンを自作しておらず、外部の既存エンジンを呼び出す設計です。
今回はテスト用として Windows Defender を使用しましたが、ClamAVやESET、任意のCLIベースのスキャナにも適用可能です。


🔹 おわりに

このモジュールは構造的にはほぼ完成しており、今後はスケーラブルな形で引き継ぎ・譲渡を検討しています。
これからh、教育AIなどに注力していく予定です。

🔄 今後の展開可能性

  • OEM提供向けモジュール化
  • SaaS型の法人向け軽量EDR
  • 既存AVソフトとのバンドル構成

ご興味のある方は、ぜひコメント欄やLinkedInからご連絡ください。
デモ動画や技術構成の詳細も共有可能です!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?