Bitscout:リモートからデジタルフォレンジックを実施可能な無料ツール

2017年8月24日

マルウェアリサーチャーであるということは、世界各地で大量に発生するマルウェアやサイバー攻撃と日々格闘することです。1日に発見される新しいマルウェアの数は、過去10年間で信じられないほど増加しました。発見される1日あたりのマルウェア検体は、実に何十万というレベルです。もっとも、珍しくて危険なマルウェアも中にはありますが、全部が全部そうではありません。また、複数のマルウェアツール、悪意あるインフラ、オペレーターから送られてくるインタラクティブなコマンドなど、いくつかの要素が揃って初めて、巨大な脅威となります。

そのため、私たちはマルウェアだけに注目するのではなく、攻撃者グループを追跡し、攻撃活動や個々のインシデントを注視するようになりました。この仕事の難易度は上昇するばかりです。干し草の山々の中から1本の針を見つけるようなものですし、時には遠く離れた場所まで調査しに行くこともあります。こうした調査を行うための方法はいくつかありますが、一番確実なのは、警察機関で採用されている本格的なデジタルフォレンジックです。しかし、この手法は時間がかかり、熟練のエキスパートが現場で作業できるかどうかに大きく左右されるうえ、物理的な移動を伴うのが普通です。この状況を改善したい、と私たちが考えたのは当然のことでした。意外にも、これまで誰も解決策を提供していません。少なくとも、私たちが求める基準を満たすものはありませんでした。

さて、今回のトピックである私のBitscoutプロジェクトは、何年も前に趣味として始まりました。LiveCDを作ったりカスタマイズしたりして遊んでいたのですが、しばらくして、アフリカのある国でPCに不正アクセスした攻撃者の痕跡を探すことになったとき、役に立てるかもしれないと思いました。そこで、最低限の機能を備えたシンプルなLiveCDをLinux上で作成し、VPNクライアントとSSHサーバーもあらかじめ設定しておき、システムの所有者にインターネット経由で共有しました。所有者はCDを焼き、そのCDから感染PCを立ち上げます。これが、魔法のようにうまくいきました。インターネット経由で接続したリモートコンピューターを、私の席から完全にコントロールできるようになったのです。遅い回線でしたが、幸い、私が使っていたのは通信負荷の高いリモートデスクトップ接続ではなく、低速なモデム回線でこの作業をするにはテキストターミナルで十分でした。私はシステムの所有者を手助けして感染システムのディスクイメージをフォレンジック用データとして取得し、マルウェアや関連ファイルの場所を特定し、マルウェアドロッパーやスピアフィッシングメールなどの貴重な情報を採取することができました。

その後、同じような依頼を何度も受けるようになりました。インターポールに協力したときも、使ったのは同じ手法です。物理的なディスクを取得した場所に捜査官が出向き、現地警察機関の許可を得て、私たちが当該サイト上で重要な証拠を – ただちに – 探せるようにしてくれました。これなら私たちは移動時間を減らせますし、警察機関はサイバー攻撃の重要な痕跡を短期間で発見できるようになります。

Bitscoutの起動プロセス

その後も、新しい活用シーンが現れはじめました。

  1. (ルートキットに)感染したPCを手動で修復
  2. リモートセッションを共有してユーザー向けトレーニングを実施し、分析をスピードアップ
  3. 以前、あるお客様の元に出向いたとき、ディスクイメージの取得に使う高価なエンタープライズ向けSASディスクコントローラーが手元になかったのですが、LiveCDを使って元のサーバーハードウェアからディスクを複製することができました。肌寒いサーバールームで進捗を監視する必要もなく!

また、Linuxのコマンドラインに不慣れな人にも使いやすいように、このツールをシンプルなものにしました。ただし、ディスクサイズを小さくするため、GUIツールやX11サーバーは採用しないことにしました。自然な流れとして落ち着いたのが、矢印キーだけで簡単に操作できるTUI(テキストユーザーインターフェイス)です。

Bitscout 2.0の一般ユーザー向けのメインウィンドウ

とはいえ、会ったこともない人と作業をするとなると、当然ながら「信頼」の問題が生じます。少し想像していただければわかると思いますが、離れた場所にいる会ったことのないエキスパートに、重要な自社システムへのアクセスを許可するでしょうか?1人のエキスパートとしての立場から言うと、許可をいただければ喜んでお手伝いします。しかし逆の立場なら、私は疑心暗鬼になって、自分でプロセスをコントロールしたいと考えるでしょう。これはごく自然なことであり、旧バージョンのLiveCDではこの点に悩まされました。

信頼に関する問題は、ハードウェアに対するエキスパートのアクセスを制限し、エキスパートの作業をすべて監視、記録できれば、解決できるかもしれません。この考えに基づいて開発し、先日リリースしたのがBitscoutの新バージョンであるBitscout 2.0です。離れた場所にいるエキスパートにroot権限が付与されるのは、仮想の非特権コンテナの中だけです。エキスパートは所有者が許可したディスクドライブにだけアクセスし、ソフトウェアを追加でインストールしたり、システムファイルを変更したりすることが許されます。システムの所有者からすれば、ホストシステムやハードディスク上のデータに勝手にアクセスされる危険はありません。すべての作業はRAM内で実行されるため、システムをシャットダウンすれば消えてなくなります。さらに、リモートセッションはすべて記録され、コンテナの外部に保存されます。こうすることで適切に分離が行われますし、学習目的でフォレンジックのプロセスを再現する場合や証拠の存在を証明する場合にも利用可能です。

これだけではありません。Bitscout 2.0はオープンソースのツールをベースにしているだけでなく、実際にそれ自体がオープンソースのツールであり、独自のLiveCD、すなわち自分だけのBitscoutシステムを作成することが可能です。このツールは基本的にスクリプトの集合体であり、検証、カスタマイズ、改善を誰でも行えるようになっています。

Bitscout 2.0は、Github(https://github.com/vitaly-kamluk/bitscout)にて公開されています。