不安から生まれた手作りネットワーク監視ツール – マルウェア騒動からの副産物
こんなことまでしてました
こちらの記事が本文となりますが、実はこんな物を作りましたというネタです
開発の経緯
11月1日から2日にかけての続報を待つ間に私は一つの決断をしました。
検出出来ないなら自分でマルウェアの活動を監視するツールを作ることでした!
最初は単純な発想からスタートしました。
怪しいプロセスを探すためのツールをC#で作ろうと考えたのです。
開発にはClaudeの支援を受けながら進めていきました。
しかしプロセスの監視だけでは不十分だと気付きました。
マルウェアの本質的な脅威は外部との通信にあります。
情報の抜き取りやC&Cサーバーとの通信を検知する必要があったのです。
マルウェアの行動パターンを分析
効果的な監視ツールを作るために私はまずマルウェアの典型的な行動パターンを分析しました。
特に注目したのは不審な通信パターンです。
- 定期的な小さなパケット送信による情報漏洩
- 深夜など通常業務時間外での不自然な通信
- 既知の不正なC&Cサーバーとの通信試行
またファイルシステムへのアクセスパターンにも着目しました。
- システム全体への大規模なファイルスキャン
- ランサムウェアに特徴的な短時間での暗号化処理
- 重要なシステムファイルへの改変試行
実装した主要機能
これらの観点を元に以下のような機能を実装していきました。
1. ネットワーク通信の監視機能
- TCPの確立された接続状態(Established)の常時監視
- リモートエンドポイント(IPアドレスとポート)の追跡
- 通信を発生させているプロセスの特定と記録
2. 定期的な通信の検出機能
- 通信パターンの詳細な分析処理
- 周期的に発生する通信の自動検出システム
- 通信間隔の正確な計算と可視化表示
3. 高度な除外機能
- 主要ブラウザ(Chrome、Firefox、Edge)の通信除外
- 一般的なWebポート(80、443、8080)の監視除外設定
- ユーザー定義による柔軟な除外プロセスの設定
4. 詳細なログ機能
- リアルタイムでの通信状況の可視化表示
- 手動および自動でのログ保存システム
- 日時情報を含む詳細なログファイルの出力
- 異常通信の検知数カウンター表示
使いやすさを重視したUI
機能面だけでなく直感的な操作を実現するUIにもこだわりました。
- シンプルな監視開始・停止ボタン
- ワンタッチでのログクリア機能
- 直感的な除外設定画面
- 自動保存機能による監視記録の維持
- ハッカー風の黒背景に緑文字のログ表示
- 定期的な通信一覧のリスト表示
運用してみての発見
実際に動作させてみると通信の実態が鮮明に見えてきました。
全ての通信が可視化され驚くほど詳細な情報が得られたのです。
本当に正確かなんてのは分かりませんがこんな通信が走っているのかというのがよく分かりました。
怪しいIPアドレスに飛んでいたら即座に検索をかけて問題が無いかを確認してました。
内部通信やシステムプロセスを装った不正な通信も検出できるように工夫しました。
ログの保存機能により通信の履歴を後から分析することも可能です。
結果として私のPCでは不審な通信パターンは検出されませんでした。
この事実は大きな安心材料となりました。
開発を通じての気づき
このツールは感染PCで作成したため新環境への移行は断念しましたが貴重な学びとなりました。
パフォーマンスやエラー処理は考慮されていない試作版レベルのツールです。
それでも通信の可視化による安全性の確認という目的は達成できました。
この経験を通じてセキュリティツールの仕組みを少しだけ理解することができました。
役に立つソフトウェアかというとそうでもないのですが、
自分が安心したいが為に作り出した謎ソフトはほんの少しだけ達成感と安らぎをもたらしてくれました。
コメント