ようやく某Webアプリ脆弱性調査が一段落。実際に開発している側に見つかった脆弱性と対処方法について説明し、「よし、修正すっぞ」と思わせられただけでも大収穫かも……。
今回はちょっと実験色が入り、実機に対してではなく、仮想環境(VMware Server)上のWebアプリに対して検査するという手法を採ってみました。
具体的には「調査対象(実機)のディスクイメージを取得(※1)」→「仮想環境上に展開・再現」→「仮想環境上の調査対象に対して調査を実施」という感じ。
---
(メリット)
いくら調査でデータ等ブッ壊しても、スナップショット機能(※2)のお陰で安心して調査できる
同じく、実機への影響を最小限に抑えつつ(※3)調査できる
(デメリット)
予め仮想環境用のOS・アプリのライセンスを用意しておく必要がある(今回はクリアしていますヨ、当然ながら)
ディスクイメージを取得するために、一時的ではあるが、実機の停止・再起動が発生する(ディスクイメージ取得中は、当然ながらサービス提供は停止状態になる)
仮想環境上へ展開・再現するのが、意外と面倒
仕様上実機と構成が異なる(※4)ため、OS・アプリ側に起因する脆弱性については調査した結果が実機で調査した結果と異なる可能性が高い
---
今回一番ネックだったのが「仮想環境上への展開・再現」だったりします。
最初はVMWare Converter(Starter Edition)を使って、ディスクイメージを自動的にVMWare用に変換してやろうと目論んでいたんですが、イザ使ってみると「フォーマットが未対応」だとか抜かしやがるし……公式Site上でも対応していると謳っているにも関わらず(涙)。
今回は検査対象のOSがWindows系だったので「修復セットアップ」を活用して仮想環境へのすり合わせ(※5)を実施……これに気付くまでが長かった。orz
結果としては、なかなか良い感じ……デメリット部分を如何に回避するか、という方策さえ整えば、なかなか面白い事が出来そうかも。
---
(※1)今回は某S社の某Nというツールをベースにしたツールを活用
(※2)今回は使わなかったんですが、調査開始前にスナップショットを取得しておけば、簡単に元通り~っと(念のためディスクイメージそのものもバックアップしていましたが)。
(※3)調査によるシステムへの負荷や停止が避けられるという意味でもそうですが、それ以上に何時でも(自分達にとって都合の良い時間で)調査できるというのが大きいです。
(※4)そもそもハード構成から変化するので。
(※5)取得したイメージをそのまま展開後起動しようとしても、ドライバのアンマッチ等によりブルーバックが発生します。修復セットアップを行うと、この辺のハードに密接に絡む部分などがキレイサッパリ初期化される(でも保存されているデータは、ディスクフォーマットが行われない関係でほぼ残る)のですヨ。
今回はちょっと実験色が入り、実機に対してではなく、仮想環境(VMware Server)上のWebアプリに対して検査するという手法を採ってみました。
具体的には「調査対象(実機)のディスクイメージを取得(※1)」→「仮想環境上に展開・再現」→「仮想環境上の調査対象に対して調査を実施」という感じ。
---
(メリット)
(デメリット)
---
今回一番ネックだったのが「仮想環境上への展開・再現」だったりします。
最初はVMWare Converter(Starter Edition)を使って、ディスクイメージを自動的にVMWare用に変換してやろうと目論んでいたんですが、イザ使ってみると「フォーマットが未対応」だとか抜かしやがるし……公式Site上でも対応していると謳っているにも関わらず(涙)。
今回は検査対象のOSがWindows系だったので「修復セットアップ」を活用して仮想環境へのすり合わせ(※5)を実施……これに気付くまでが長かった。orz
結果としては、なかなか良い感じ……デメリット部分を如何に回避するか、という方策さえ整えば、なかなか面白い事が出来そうかも。
---
(※1)今回は某S社の某Nというツールをベースにしたツールを活用
(※2)今回は使わなかったんですが、調査開始前にスナップショットを取得しておけば、簡単に元通り~っと(念のためディスクイメージそのものもバックアップしていましたが)。
(※3)調査によるシステムへの負荷や停止が避けられるという意味でもそうですが、それ以上に何時でも(自分達にとって都合の良い時間で)調査できるというのが大きいです。
(※4)そもそもハード構成から変化するので。
(※5)取得したイメージをそのまま展開後起動しようとしても、ドライバのアンマッチ等によりブルーバックが発生します。修復セットアップを行うと、この辺のハードに密接に絡む部分などがキレイサッパリ初期化される(でも保存されているデータは、ディスクフォーマットが行われない関係でほぼ残る)のですヨ。