動的解析
サンドボックスでの挙動
「動的解析」はCoddyKit上の無料Ethical Hacking Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはEthical Hacking Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ethical Hacking Academyコースには全4レッスンが含まれています。
動的解析とは
動的解析では、制御された環境でマルウェアを実行し、作成されたファイル、レジストリの変更、生成されたプロセス、ネットワーク通信などの動作を観察します。
パッキングによって静的解析から隠されている動作も含め、サンプルが実際に何をするかを明らかにできます。
安全なサンドボックスの構築
マルウェアは、クリーンなスナップショットに戻せる、隔離されたサンドボックス(仮想マシン)でのみ実行してください。
ホストオンリーのネットワークや偽のネットワークを使用し、マルウェアがインターネットや実際のシステムに接続できないようにします。本番ネットワークに接続されたマシンで解析してはいけません。
スナップショット
サンプルを実行する前に、クリーンなVMのスナップショットを取得してください。解析後にその状態へ戻せば、マルウェアによる変更をすべて消去できます。
これにより、毎回同じ初期状態からサンプルを実行できます。
ファイルシステムとレジストリの監視
Procmon(Process Monitor)は、ファイル、レジストリ、プロセスの活動をリアルタイムで記録します。サンプルのプロセス名でフィルターすると、そのプロセスが触れた対象を正確に確認できます。
ドロップされたファイル、作成されたレジストリキー、永続化の仕組みが明らかになります。
プロセスの監視
Process ExplorerとProcess Hackerを使うと、実行中のプロセス、親子関係、注入されたスレッドを確認できます。
マルウェアは、隠れるために子プロセスを生成したり、explorer.exeのような正規プロセスへコードを注入したりすることがあります。
ネットワーク通信の取得
Wiresharkで通信をキャプチャし、INetSimまたはFakeNet-NGでインターネットサービスをシミュレートします。マルウェアにはサーバーに接続できたように見せながら、リクエストを安全に記録できます。
これにより、コマンドアンドコントロールのドメイン、ビーコン、情報窃取の試みが明らかになります。
侵害の痕跡
動的解析から、次のIndicators of Compromise(IOC)を収集します。
- ファイルハッシュとドロップされたファイル名
- 永続化に使われるレジストリキー
- C2のドメインとIPアドレス
- ミューテックス名
IOCは、脅威の検出とブロックに役立ちます。
永続化の仕組み
マルウェアが再起動後も活動を続ける方法を確認してください。一般的な方法には次のようなものがあります。
- レジストリのRunキー
- スケジュールされたタスク
- サービス
- スタートアップフォルダーのエントリ
永続化に使われる場所は、価値の高いIOCであり、削除対象でもあります。
HKCU\Software\Microsoft\Windows\CurrentVersion\Run解析回避のテクニック
高度なマルウェアはサンドボックスを検知し、実行を拒否します。VMの痕跡、稼働時間の短さ、CPUコア数の少なさ、デバッガーの存在などを確認することがあります。
実行を遅延させたり、ユーザー操作を要求したりするものもあります。こうした回避テクニックを認識することも、動的解析の一部です。
自動サンドボックス
Cuckoo Sandboxなどのツールやオンラインサービス(Any.Run、Hybrid Analysis)は、実行と解析を自動化し、動作レポートを作成します。
トリアージを効率化できますが、特に解析回避を行うサンプルでは、自動化が見逃すものを手動解析で発見できます。
静的解析と動的解析の組み合わせ
静的解析と動的解析は互いを補完します。静的解析では機能や手がかりが明らかになり、動的解析では実際に実行される内容を確認できます。
アナリストは通常、この2つを行き来します。静的に見つけた文字列を動的に観察する対象の手がかりにし、観察した動作を逆アセンブラーで読むコードへと結び付けます。
クイックチェック
マルウェアを実行する前に必要な、安全上の重要な手順を思い出してください。
まとめ
これで、マルウェアの動的解析について理解できました。
- クリーンなスナップショットとシミュレートされたネットワークを備えた隔離されたVMでサンプルを実行します。
- Procmon、Process Explorer、Wireshark + INetSimで監視します。
- IOCを収集し、永続化の仕組みを特定します。
- 解析回避のテクニックに注意します。
次は逆アセンブルによって、コードそのものを読み取ります。
よくある質問
「動的解析」レッスンは無料ですか?
はい。「動的解析」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ethical Hacking Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ethical Hacking Academyコースには全4レッスンが含まれています。
「動的解析」で何を学びますか?
サンドボックスでの挙動 ブラウザで直接実行するハンズオンコードでEthical Hacking Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ethical Hacking Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのEthical Hacking Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「動的解析」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このEthical Hacking Academyレッスンでコードを書いて実行できますか?
はい。すべてのEthical Hacking Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。