JSAC 2018とは
2018年1月25日、JPCERT コーディネーションセンター (JPCERT/CC) は、「Japan Security Analyst Conference」(JSAC) を東京にて初開催しました。セキュリティインシデントに日々対応する現場のセキュリティ従事者が、高度化するサイバー攻撃に対抗するための情報を持ち寄り、互いに共有することで技術力や知見を向上させる「場」を提供することを目的とした技術情報共有カンファレンスです。
選考を通過したセキュリティ業界を牽引する技術者たちによる10のセッションが行われ、マルウェア解析技術、フォレンジック解析技術、インシデント調査分析事例等の発表が行われました。事前募集の300名を上回る480名の参加者で会議は盛況となり、実務レベルのセキュリティ技術者が本カンファレンスに高い関心を持っていることがうかがえました。
講演の概要
本カンファレンスは、JPCERT/CC 理事・最高技術責任者の真鍋敬士氏による開会の挨拶、同分析センター マネージャー 竹田春樹氏による2017年に発生した主なインシデントについての振り返りとともに始まりました。
特に興味深かった発表としては、SecureWorks Japan株式会社の中津留勇氏による「Himawari」と呼ばれるマルウェアの暗号処理の詳細解析、明治大学総合数理学部 小池倫太郎氏およびトレンドマイクロ株式会社中島将太氏によるExploit Kitの調査報告、マクニカネットワークス株式会社 柳下元氏および同 竹内寛氏によるBlackBox BinderとWinntiに関する調査結果等が挙げられます。弊社の石丸傑も、2015年8月以降の「Blue Termite」の活動の調査とEmdiviの最新版に関する解析結果について発表を行いました。
講演資料は、一部の講演を除き、JPCERT/CCのWebサイトにて公開されています。詳細についてはそちらをご参照ください。
フォレンジックアナリストとして
JSAC2018で発表のあったフォレンジック解析技術に関する2つの講演、株式会社インターネットイニシアティブ 小林稔氏によるVolume Shadowcopy Service (以下、VSS)の復元、株式会社サイバーディフェンス研究所 山崎輝氏によるUSNジャーナルの復元は、それぞれ自作フォレンジック調査用ツールを公開しており、講演を聞く限り実務を行う上で有効性の高いツールの発表でした。
私も業務上フォレンジック調査を行うことが多々あることから、この機会に実際に使用してみた結果と個人的な感想を以下に紹介します。
vss_carver.py
小林氏作成の、削除されたVSSスナップショットのカービングツールです。最近のランサムウェアはVSSスナップショットを削除するものがあり、JSAC2018冒頭の「2017年振り返り」でも言及のあった標的型攻撃で利用されたランサムウェア「oni.exe」にも実装されていました。今回はこの「oni.exe」に対してツールの有用性を検証しました。
ツールを使用する上で必要なものはPython for Windows。vshadowmount.exe用に、ファイルシステムをマウントするためのライブラリであるDokany 0.7.4 。Dokanyインストール時に、「Microsoft Visual Studio 2013 の Visual C++ 再頒布可能パッケージ」も必要となりますのでこれも用意します。
vss_carver.pyを使用してみたところWindows7 18GBのディスクに対してvss_carver.pyによるカービングは15分程度でした。実際の稼働PC等によって時間は変動すると思われます。次に取得したCatalog, Storeファイルを用い、vshadowmount.exe でマウントし、VSSボリューム(VSHADOW (X:))を開いてみました。
vss_carver.pyによって利用したイメージからは2つのVSSが復元できました。VSS2のファイルツリーでは、見たところランサムウェアに削除されたデスクトップのファイルが復元されている様子でしたが、中身を確認してみると、小さなテキストファイルなどはそのまま復元できましたが、画像ファイルは復元できたものと、壊れた状態のものとが混在する結果となりました。手動でvssadminコマンドから削除を行った場合では画像が正しく復元できていたので、ランサムウェアによる何らかの影響が考えられます。
次にVSS1を開いてみたところ、そちらはOSインストール時に残されていたファイル、desktop.iniなどがそのまま残っており、復元に成功しているようでした。
このように複数世代のVSSスナップショットを合わせて復元できれば、ランサムウェアの被害にあったPCも復旧の可能性が見込めます。その場合に、vss_carver.pyは試してみる価値があります。
bulk_extractor_rec
サイバーディフェンス研究所 山崎氏作成の「Bulk Extractor with Record Carving」を試してみました。Active Directoryを運用していたサーバーで被害にあった想定のディスクイメージで、実施しました。
開発ページにあるように、ハイバネーションファイルの圧縮データ内も含め各種レコードをカービングする、ほぼそのままのコマンドオプションで試してみました。
bulk_extractor.exe -x all -e hiberfile -e ntfsindx -e ntfslogfile -e ntfsmft -e ntfsusn -o output ad.vmdk |
約20〜30分ほどで終了した模様ですが、スライドやbulk_extractor実行後のコメントにあるように、SSDなどのI/O周りの改善や、ディスクイメージのサイズによって時間は異なると思われます。今回は Windows 2008 R2のサーバーで試しましたが、UsnJrnl-Jは約620MB、USN_Journalのアウトプットフォルダは約320MBでした。
USN Analytics では、上記で取得したファイルをもとに、csvファイルにパースしたレコードを出力してくれます。テスト用のディスクイメージからは、2013年、2017年などのcsvファイルと複数の result csv ファイルが出力され、総レコード数は約2,020,000でした。利用したディスクイメージを他のツールで同様にUSN Journalをパースしたものと比較すると、他のツールでは見つけられていなかった、OS稼働時の2013年時点の記録をいくつか掘り起こすことを確認できました。また、USN Analyticsのレコード結果にある、構築されたファイルパスや、リネーム/移動の情報が書き込まれているのは、見やすく便利だと感じました。フォルダ名パスに「¥」が付くのも追跡しやすいと感じました。他のUSN Journalの追跡ツールは見づらいことが多いのですが、bulk_extractor_recの結果を利用した、usn_analyticsはそれらを補ってくれます。
小林氏、山崎氏のツールを使用することで、フォレンジック実務者の業務に大きな改善が見込まれると思います。
JSAC2018に参加してみて
「最初のプレゼンが難しすぎて、これがずっと続くなら帰ろうかと思った」という声が聞こえるほど、講演内容は実務で日々解析や調査を行っていなければついていけないような内容が多かったと感じました。しかし、そういった技術的困難を乗り越え、さらに知見を実務で利用できなければ、目の前で起こりうる被害を食い止められないのではないでしょうか。
日本のセキュリティを「守る」技術者たちに求められているものは、知識を追求するだけでなく、それを実務で使えるところまで突き詰めることです。今回のカンファレンスでは、実務レベルでどのように調査を行うかといった知見の共有や有用なツールの紹介が多く、セキュリティ従事者にとってはすぐに実践できる内容の講演が多かった印象です。
もしあなたがセキュリティを守る側の技術者で、本当に「守る」ためのセキュリティ技術を学ぶのであれば、ぜひJSAC 2019へ参加し技術の共有を目指してみてはいかがでしょうか。
懇親会での話も合わせて振り返ると、今回の講演以上にセキュリティのレベルを高みに持っていける人や、本気で実務に取り組んでいる人たちにこそ参加してもらい議論してほしい、という開催の意図をよく噛み締めて、今後も自らの技術力向上に努め「Save the world」を目指して進んでいかなくてはと思う1日でした。