セキュリティ事故対応における“オープンソース”活用法指南:初動対応用データ保全ツール「CDIR Collector」解説(前編)(3/3 ページ)
本稿では、セキュリティインシデントへの初動対応に役立つツール「CDIR Collector」の活用方法について、実際に企業の現場でインシデント対応に携わる筆者が、自身の経験談を交えつつ解説します。
CDIR Collectorのコンセプト
CDIR Collectorは、「一般ユーザーを含む初動対応者が簡単に使えて、インシデント対応に有用なデータをそのままの状態で保全する」というコンセプトで開発しています。初動対応向けのツールはWebなどで探してみるとそれなりにあることが分かります。しかし、筆者が調べた限りでは、国産では有償製品しか見当たらず、誰でも手軽に使えるツールはないようです。
英語ベースのツールであれば、無償で使えるフリーツールやオープンソースのツールが存在しますが、ユーザーによっては英語に抵抗があるでしょう。このような背景から、日本語環境での動作を優先したオープンソースのソフトウェアの開発に至りました。
なお、「DumpIt」というメモリを保全するためのフリーツールがあります。USBメモリなどにDumpIt.exeプログラムを入れておいて、保全したいPCに接続し、DumpIt.exeをダブルクリックして実行し、「y」と入力するだけで、USBメモリ上に物理メモリを保存するというツールです。
CDIR CollectorはDumpItの手軽さに倣い、ユーザーはダブルクリックと最低限の入力操作でデータの保全を行えるようにしています。また、メモリだけでなくディスク上のデータも保全対象としています。
2016年9月時点のバージョン1.1では、対象OSはWindowsのみで、かつVista以上のバージョンに対応しています。実行する際には対象PCの管理者権限が必要となります。CDIR Collectorで取得可能なデータは以下の通りです。
- メモリ
- MFT
- Change Journal
- イベントログ
- プリフェッチ
- レジストリ
今後のバージョンでは、LinuxやMac OS Xにも対応していきたいと考えています。
事後調査の観点で考えると、インシデント発覚後、できるだけ早い段階でメモリ、ディスクの全領域が保全されていることが望ましいといえますが、ディスクの全領域の保全はかなりの時間を要するため、そもそもの被害を最小限に抑えるというインシデント対応の目的としばしば相反します。そこで、CDIR Collectorは調査に有用なデータをピックアップして保全できるようにしています。
保全対象データと揮発性
稼働中のPCなどのデータを保全する際には、「揮発性」のことを考える必要があります。RFC 3227では「Guidelines for Evidence Collection and Archiving」というタイトルで、インシデント対応時のデータの保全に関するガイドラインがありますが、このガイドラインの中で「揮発性に考慮して保全するべき」という趣旨の記述があります。これは、「コンピュータ上で扱うさまざまなデータは、その性質、用途によって変更する度合が異なるため、変化しやすいデータもしくは変化しやすい特性を持つ媒体上にあるデータから順に保全していくべき」ということです。
例えばメモリは電源を落とすとデータが消失するという性質から、揮発性の高い媒体といえますし、メモリ上のデータ自体も頻繁に変更されていくため、早い段階で保全しておくべきデータです。
一方HDDやSSDは、電源供給がなくてもデータが記憶され続けます。また、HDDやSSD上のデータの変更頻度はメモリに比べると低いといえますが、データによって変更頻度に差があるため、頻度の高いデータから順に保全することが望ましいでしょう。とはいえ、変更頻度が高くても調査の役に立たないデータの優先度は落ちるべきですし、初動対応の段階では取得する必要がないデータもあるでしょう。
このような背景を踏まえて、CDIR Collectorではデータの揮発性とデータの有用度合いを勘案し、保全対象のデータを選定、取得順を決定しています。
保全形式
初動対応をうたうプロダクトによっては、現在の状態を分かりやすく整理、加工した結果を取得します。例えばネットワークの通信状況、稼働プロセスの一覧情報、ディスク内のファイル、フォルダの一覧情報などが表やグラフで出力されるようなイメージです。
このような情報は、現状をいち早く把握することには適していますが、オリジナルデータそのものを保全しておらず、独自のデータ形式や構造になっていたり、システムの構築に時間がかかったりするなどの制約があり、インシデント対応が長期化するケースや、外部のベンダーに依頼する場合に支障が出る可能性があります。
CDIR Collectorは保全を目的としたツールであり、PC上の現状のデータをそのまま(AS-IS)の状態で取得します。前述のようなプロダクトとは目的が異なるため、両方のツールを併用することもできます。また、時間は多少かかりますが、保全したデータを解析することにより、現状把握のための情報を得ることができます。
「保全」や「フォレンジック」などのキーワードが出てくると、「データが同一であることやデータの一貫性をどのように記録・保証するか」という点が話題に上ることがあります。これについて現状のCDIR Collectorでは、プログラム実行開始、終了時の時間と、保全したファイルのハッシュ値をログ(ファイル名collector-log.txt)として残しています。
CDIR Collectorの使用に当たって
CDIR Collectorはオープンソースとして公開しており、自己責任での利用を前提としています。バグ、問合せなどの報告は、今回ダウンロードリンク先として紹介したGitHubのサイトのIssueなどに投稿していただければ、可能な範囲で対応します。後編となる次回は、CDIR CollectorのカスタマイズやUSBメモリ以外を使った保全方法を中心に紹介し、保全したデータを解析するためのツールも取り上げたいと思います。
著者プロフィル
山崎 輝(やまざき てる)
株式会社サイバーディフェンス研究所
CSIRTのインシデントハンドリング業務をきっかけにデジタルフォレンジックに興味を持つようになり、以降デジタルフォレンジックに関わる業務に携わっている。現在は、主にインシデントの被害PCの調査、トレーニング講師、ツールの開発などに従事している。
Copyright © ITmedia, Inc. All Rights Reserved.