エンジニアまで道半ば

興味を持った技術についての備忘録

マルウェア解析について -環境構築編-

はじめに

マルウェア解析のための環境構築には、 物理環境と仮想環境(サンドボックス環境)の2種類の方法がある。

動的解析を行う場合はマルウェアを実際に動作させるため、どちらの環境でも学内ネットワークや社内ネットワークから隔離して行わなければならない。

物理環境

解析用に新しくハードウェアやネットワーク機器を用意する方法である。昨今のマルウェアは仮想環境を検知して自身を消去したりダミーの動作をしたりするものが多いが、物理環境ではそれらの仮想環境検知を回避できるため、難しいことを一つ考えなくて済む。ただし、元の感染前の状態に戻すのに手間がかかる。

仮想環境

仮想化ソフトウェア(VMware WorkstationやVirtualBox, KVM, QEMU, Hyper-Vなど)を使用して、物理環境をエミュレートする方法である。スナップショット機能により、感染状態からの復旧が速い。

スナップショット

特定時点におけるVMディスクファイルをコピーしたもので、Windowsの復元ポイントによく似ている。スナップショットを作成すると、元のVMディスクファイルへの書き込みができなくなり、すべての新しい書き込みがVMのスナップショット版に対して行われることにより、元のVMディスクファイルが保持される。

VMware環境で仮想マシンのスナップショットを活用する

ここで、仮想環境上のOS(ゲストOS)に感染したマルウェアが、仮想環境を動作させているOS(ホストOS)に影響を及ぼさないのかと疑問に思うかもしれない。それについては次項に示す。


以下に物理環境と仮想環境の長所と短所を示す。現在のところ、仮想環境の利便性の方が高く主流である。

各解析プロセスの長所と短所
 
長所
短所
物理環境
  • 感染端末として完全に再現できる
  • 仮想環境対策の対策を考える必要がない
  • 感染した環境を元の状態に復旧するのに時間がかかる
  • 新しく機器を用意するためのコストがかかる
仮想環境
  • スナップショットにより復旧が速い
  • 無料の仮想化ソフトウェアを使えば費用は格段に安くなる
  • 解析環境対策への対策が必要になる
  • 仮想マシンを動作させるために、ある程度PCのスペックが必要(特にRAM)

仮想マシンの仕組み

まず、仮想マシンにはホスト型とハイパーバイザー型の2種類がある。詳しくは下記を参照。

ホスト型とハイパーバイザー型の違いは何?VMware vSphere Hypervisor の概要

ここで、ホスト型においてゲストOSは仮想化ソフトウェアによって、ホストOSから分離して稼働していることがわかる。これにより、一般的にはゲストOS上のマルウェアはホストOSに影響を及ぼすことができない。ただし、過去にはVENOMといったホストOSにアクセスできてしまう仮想化ソフトウェアの脆弱性が存在しており、ソフトウェアを最新の状態に保つことが重要となる。

仮想マシンに使用するOS

SyncerのOSのシェアの統計情報からも世界ではWindowsのシェアが圧倒的に多く、攻撃者は利益をより多く得るために、Windows用のマルウェアを作成する傾向が強い。そのため、動的解析を行う場合はWindowsを使用することが主である。Windows仮想マシンを作成する場合は、OSのイメージを購入するか、グレーだが、Microsoft Edgeのテスト用のディスクイメージを使用する方法がある。

大学ではよくMicrosoft ImagineでWindowsのISOファイルを入手できるが、これを仮想マシンに使うことは規約に違反するため、注意しなければならない。

動的解析を行わない場合は、Kali LinuxBackBoxといった様々なセキュリティツールが積まれたプラットフォームを用いると良い。