LACのインターンに参加してきました
10/20(金)にLACのインターンシップに参加してきました!
今回のテーマは、「デジタルフォレンジック」。
感染後の事後処理、被害範囲の特定などはしたことがなかったため、とてもいい勉強になりました。
目次
会場
LACの本社で行われました。永田町駅を降りてすぐの平河町森タワーの2階です。このビルの屋上には足湯があり、皇居や国会議事堂を足湯に入ったまま見下ろすことができます。
疲れた時のリフレッシュに良さそう^^
デジタルフォレンジックとは
インシデント・レスポンスに対し、電磁的記録の証拠保全及び調査・分析を行うとともに、電磁的記録の改ざん・毀損などの分析、情報収集などを行う技術のこと。
警察で言うところの鑑識といったとこでしょう。フォレンジックエンジニアという職種もあるようです。(初めて聞いた…)
講義内容
講師の方は、サイバー救急センターの窪田さんでした。
主に、4つのことを行いました。
削除されたデータの復元
AccessData FTK Imagerを使い、削除されたデータの復元を行いました。
削除されたデータでも、痕跡が未割り当て領域に残っていたり、エントリが残っていれば復元することができます。
ファイル名などのメタ情報が取得できなくても、データが上書きされたいないのであれば、すぐに復元することができてしまいます。
完全に削除をしてしまっても、すぐであればデータが上書きされる可能性は低いので、復元が可能です。
フリーソフトですので、もしもの時のために…ぜひ入れておくといいかも!
プリフェッチファイルの確認
Windowsでは、プログラムを高速に起動するためにプリフェッチファイルというものが作成されます。
C:Windows¥Prefetch
というフォルダ配下に生成されます。
<プログラム名>-<ハッシュ値>.pf
こういった形でファイルが作られています。
起動するたびに更新されていくため、このフォルダ内のプリフェッチファイルを更新日時順にソートすると、いつプログラムが起動されたのかということと、プリグラムを起動した順番が分かります。
これだけだと、まだまだ情報が足りないため、
WinPrefetchViewというフリーのツールを使い、実行回数や最終実行日時、関連して読み込こまれたファイルの情報を表示できます。
レジストリの調査
システムの設定情報のデータベースとしてレジストリがあります。この情報を読むことで、自動実行の登録痕跡や、USBの挿入に関する情報を得ることができます。
今回は、自動実行登録調査ツールとして、Autorunsを使用しました。
これにより、自動実行に勝手に登録されたマルウェアを探すことができます。
実習として4問出され、マルウェアを実際に全て特定することはできたのですが、実際にどのような挙動をするかまではしっかりと特定することができませんでした。
マルウェアかどうかを見抜くポイントとしては、
- マルウェアが保存されやすいファイルパスが登録されていないかを見る
- プロパティの内容の矛盾を見つける
- プログラムの引数にも注意する
といった感じでした。
タイムスタンプについて
Windowsのファイル管理システムとしてNTFSが使われていますが、タイムスタンプが8種類もあることに驚きました。
プロパティを開くときに出てくるタイムスタンプは$SI属性のタイムスタンプで、
- 作成日時
- 最終更新日時
- 最終アクセス日時
- エントリ更新日時
の4つの種類があります。また、$FN属性として、同じ4種類があり、全部で8種類あります。
タイムスタンプの調査ツールとして、FTEを使いました。
また、時刻の改ざんをするツールとしてChange Timestampを使用しました。このツールを使うと、ファイルのプロパティに表示される時刻を変えることができます。
ただし、変えることができるのは$SI属性のみで、先ほど使ったFTEを使うと、$FN属性のタイムスタンプは変わっていないことが分かります。
フォレンジックをする上で、時系列の概念はとても大切なので、改ざんされていることを考え、前もって改ざんされていない情報を使うことが大切になってきます。
代替データストリームについて
ファイルに対して、通常目に見える部分のデータ領域とは別のデータ領域を持たせる技術のことで、マルウェアの潜伏先として利用されることもあります。
エクスプローラーや通常のdirコマンドでは見つけることはできず、dirにrオプションをつけることで見ることができます。
今回使ったツール
- AccessData FTK Imager
- WinPrefetchView
- Autoruns
- FTE
- Change Timestamp
感想
セキュリティキャンプやHardningなど、セキュリティのイベントにはいつも協賛や後援として名を連ねている企業のインターンシップに参加でき、とても楽しめたので、いい経験になったと思います。
JSOCというセキュリティ監視サービスの心臓を見ることが出来たのもとてもいい経験になったと思います。2交代制で24時間監視…大変そうだけどやりがいがありそう!
フォレンジックエンジニアという言葉があることすら知らなかったのですが、このお仕事は日々勉強という言葉が一番ピッタリくるなと思いました。OSからシステムファイル、言語の構造とロジックに関する知識、脆弱性診断に対する知識など、幅広い知識が求められます。私も普段MacかLinuxしか使っていないため、Windowsでの調査はなかなか苦戦しました。
知識だけでなく、経験がものもいう仕事でもあり、目grepではないですが、一瞬見ただけでここが怪しいと分かってくるとおっしゃられていました。
実際にハンズオン形式で実習ができたことが何よりも楽しかったです。最後に講義内容と全く関係のないミニCTFをやりましたが、なかなか解けず…悔しいです。
終わりに
地方に住んでいると、勉強会やインターンシップを含めこういった勉強はなかなかすることが出来ません。ましては、セキュリティを主体で頑張っている企業もあるのかどうか…
LACの関係者の皆様こういった機会を与えていただき、本当にありがとうございました。
これがマルウェアだ!と分かった時には、少し嬉しかったです^^