Upgrade to Pro — share decks privately, control downloads, hide ads and more …

「青い空を見上げればいつもそこに白い猫」のススメ

 「青い空を見上げればいつもそこに白い猫」のススメ

便利な統合表層解析ツール「青い空を見上げればいつもそこに白い猫」の使い方を紹介します。

「青い空を見上げればいつもそこに白い猫」はうさぴょん氏が開発された、「うさみみハリケーン」の同梱ツールの 1つです。
公式サイト
http://hp.vector.co.jp/authors/VA028184/

am7cinnamon

March 27, 2021
Tweet

More Decks by am7cinnamon

Other Decks in Technology

Transcript

  1. 表層解析を究めろ!!
    「青い空を見上げればいつもそこに白い猫」
    のススメ
    しなもん

    View full-size slide

  2. 目 次
    ・「うさみみハリケーン」と「青い空を見上げればいつもそこに白い猫」
    ・青空白猫のメリット
    ・出会いは突然に……
    ・各機能解説
    - ファイル情報解析
    - 時刻情報・バージョン情報表示
    - バイナリデータ視覚化表示
    - バイナリエディタ
    - 文字列抽出
    - ハッシュ値等生成
    - ファイル・データ抽出
    - ステガノグラフィー解析
    - その他の機能
    ・青空白猫の限界
    ・代替ツール
    ・まとめ

    View full-size slide

  3. 「うさみみハリケーン」

    「青い空を見上げればいつもそこに白い猫」

    View full-size slide

  4. うさみみハリケーン
    ・うさぴょん氏が開発したプロセスメモリエディタ
    =プロセスメモリに格納されたバイナリデータを編集するためのソフトウェア
    ・公式サイト
    http://hp.vector.co.jp/authors/VA028184/
    ・本体も高機能だが、同梱・関連ツールにも有用なものが多い
    ・「青い空を見上げればいつもそこに白い猫」もそのひとつ
    うさみみハリケーンの画面

    View full-size slide

  5. うさみみハリケーン ファミリー
    etc.
    PEダンパー・PEエディタ
    「UMPE」
    式入力演算・進数変換ソフト
    「UMEC」
    簡易アセンブラ・逆アセンブラ
    「ロケットねこみみ」

    View full-size slide

  6. 余 談
    うさみみハリケーン
    ・某社でも使用しているらしい
    ※ https://www.mbsd.jp/solutions/malware/
    UMPE
    これも?

    View full-size slide

  7. 青い空を見上げればいつもそこに白い猫
    ・うさみみハリケーンの同梱ツールのひとつ
    ・うさみみハリケーンのサブ扱いのため知名度はいまひとつ……
    ・しかし、日常的なファイルチェックから本格的なプログラム解析まで、
    単品でも大いに役立つパワフルなツール
    ・以下、青空白猫
    青空白猫の画面

    View full-size slide

  8. 青空白猫のメリット

    View full-size slide

  9. 青空白猫のメリット
    ・インターフェース・公式ヘルプが日本語
    ・様々な解析機能が集約され、コレひとつで一通りの表層解析ができる
    単品ツールをいくつも立ち上げる必要がない
    - ファイルタイプ判定
    - バイナリエディタ
    - 文字列抽出
    - ハッシュ値取得
    - etc.
    ・ステガノグラフィー解析、ファイル・データ抽出などの個性的な機能

    View full-size slide

  10. 出会いは突然に……

    View full-size slide

  11. 出会いは突然に……
    うわっ
    なんか来た

    View full-size slide

  12. ファイルタイプは何だろう?
    検証環境でとりあえず解凍。
    PDF っぽい見た目だけど
    本当に PDF かな?
    TrIDNet で実ファイルタイプを
    確認してみるか……
    ※ 使用ツールは一例

    View full-size slide

  13. ネットで調べてみようかな?
    EXE ファイルだったのか。
    マルウェアの可能性が高いな。
    HashMyFiles でハッシュ値を
    計算して VirusTotal で
    調べよう。
    ※ 使用ツールは一例。また諸事情によりこの TrIDNet の画面はでっち上げ

    View full-size slide

  14. 文字列を見てみよう
    32/71、やっぱり
    マルウェアみたいだな。
    本格的に調べよう。
    BinText で文字列を抽出して……
    ※ 使用ツールは一例

    View full-size slide

  15. 今度はバイナリコードを……
    うーん、やっぱりバイナリの
    中身を直接見てみたいな。
    バイナリエディタは、えーと
    Sterling だったかな……
    ※ 使用ツールは一例

    View full-size slide

  16. そこで青空白猫の出番
    コレ一つでなんでもできる!!

    View full-size slide

  17. 機能解説

    View full-size slide

  18. ファイル情報解析
    ※ TrIDNet は TrID の GUI 版

    ・メイン画面上部に表示される
    ・デフォルトでは “TrID” 互換の判別能力を持つ

    View full-size slide

  19. ファイル情報解析
    ・直接実行可能な EXE ファイル等の場合、Windows API による
    16/32/64 bit の判別も行う
    ・さらに次の 2種類の判別エンジンを導入可能
    - “Detect It Easy” 互換のファイル形式/パッカー/コンパイラ判別エンジン
    - 日本独自のファイル形式に強い拡張子判別エンジン “WinEx32.dll”
    ・以上、最大 4種類のファイルタイプ判別能力を備えている
    TrID
    WinEx32.dll
    Detect It Easy
    Windows API
    全部導入して最強化した状態

    View full-size slide

  20. 時刻情報・バージョン情報表示
    ・メタデータを一覧で確認できる
    ・マルウェアの場合偽装していることも考えられる

    View full-size slide

  21. バイナリデータ視覚化表示
    ・鍛えられたバイナリアンはこれを見るだけでどんなファイルかある程度判断
    できるという……
    ・参考:目grep入門 +解説
    https://www.slideshare.net/murachue/grep-8132856

    View full-size slide

  22. バイナリエディタ
    ・シンプルなバイナリエディタ。バイナリファイルを閲覧・編集できる
    ・機能的には専用のバイナリエディタに見劣りするが、
    「なんとなくバイナリの中身が見たいな~」という用途では十分
    ・文字列抽出など、他の機能との連携が可能

    View full-size slide

  23. 文字列抽出
    ・いわゆる strings
    ・ASCII のほか、Unicode、Windows ANSI (≒SHIFT_JIS)、UTF-8にも対応
    ・まとめてコピーしたりファイルとして保存したりすることも可能

    View full-size slide

  24. ハッシュ値等生成
    ・よく使われる 3種類のハッシュ値はメイン画面下部に表示されている
    - MD5、SHA-1、SHA-256
    ・VirusTotalに投げたり検索エンジンで調べる用途ならこれで十分
    ・クリックのみでクリップボードにコピーされる。地味に便利

    View full-size slide

  25. ハッシュ値等生成
    ・専用画面からは 12種類のハッシュ値を生成できる
    ・また、3種類の類似性指標も生成できる
    - ssdeep: 有名な fuzzy hash。類似したファイルでは類似したハッシュ値が
    得られるよう工夫されているハッシュ関数
    - Entropy: バイナリデータの構成や状態を「乱雑さ」として数値表現したもの
    - impfuzzy: JPCERT/CC がマルウェア判別のために開発した手法※。
    マルウェア判別能力が高いとされる
    ※ https://blogs.jpcert.or.jp/ja/2016/05/impfuzzy.html

    View full-size slide

  26. ハッシュ値等生成
    ・ファイル分析とはあまり関係ないが、文字列のハッシュ値も生成できる※
    ※ 解析対象ファイルを指定していないとハッシュ生成画面を呼び出せないため、何でもいいので適当なファイルを読み込む必要がある

    View full-size slide

  27. ファイル・データ抽出
    ・対象ファイルに含まれる各種ファイル (PE、画像、音声、etc.) を簡単に検索・
    抽出できる
    ・使い方は様々だが、例えば「よくある ISO や IMG のマルウェアから
    PE を抽出する」のに便利
    PC ゲームから画像を見つけたところ

    View full-size slide

  28. ファイル・データ抽出
    ・ケーススタディ:ディスクイメージファイルからの PE (EXE) の抽出
    ・マルウェアと推測される ISO ファイル “RFQ 12345.iso” を入手した
    ・マウントすることで実行されるようだが、解析のために PE ファイルを
    取り出したい
    ここから EXE ファイルを取り出す

    View full-size slide

  29. ファイル・データ抽出
    ・白猫に “RFQ 12345.iso” を読み込んで、「ファイル・データ抽出」ボタン
    をポチっとな

    View full-size slide

  30. ファイル・データ抽出
    ・「ファイル・データ抽出」画面が出てくるので、「検索実行」ボタンを
    ポチっとな

    View full-size slide

  31. ファイル・データ抽出
    ・検索結果から “PE (32bit) exe” を選択し、「リスト選択項目を保存」
    ボタンをポチっとな
    ※埋め込み DLL などが複数見つかることもある。もちろんそれらも抽出可能

    View full-size slide

  32. ファイル・データ抽出
    ・元のファイルと同じ階層に抽出された EXE ファイルが保存される
    ・あとは抽出されたファイルを通常の PE マルウェアとして解析すればいい
    ・数回ポチポチするだけで時間もかからない※
    ※検体のサイズやマシンスペックにもよる

    View full-size slide

  33. ステガノグラフィー解析
    ・おそらく青空白猫の最も有名な機能
    ・画像ファイル※にデータを隠す「ステガノグラフィー」の解析ができる
    ・CTF ではこれで解ける問題が出題されることがあるので有用
    ・ステガノグラフィーについてはヘルプに詳しい解説があるので要参照

    ※ 一般的には画像ファイルに限らないが、青空白猫のステガノ解析機能で扱えるのは画像ファイルのみ

    View full-size slide

  34. ステガノグラフィー解析
    ・解析するだけでなく、自分でステガノ画像を生成することもできる
    ・一見何ともなさそうな画像に秘密のメッセージを隠すことが可能
    合成 解析
    おとり画像
    隠すメッセージ
    ステガノ画像 復元された
    隠しメッセージ
    ※ 秘密のメッセージを画像として埋め込む例を挙げているが、他にも様々な技法がある

    View full-size slide

  35. その他の機能
    ・ファイルサイズ変更・結合、YARA ルールでのスキャン、x86/x64
    逆アセンブルといった機能がある
    ・詳細はヘルプ参照

    View full-size slide

  36. 青空白猫の限界

    View full-size slide

  37. 青空白猫の限界
    ・機能によっては専用ツールに使い勝手が劣る場合がある
    ・あくまで汎用分析ツールなので、PE・office ファイルなど特定のファイル
    形式を詳細に分析するのはあまり得意ではない
    専用のツールを用意しよう
    ・(青空白猫に限った話ではないが) あくまで表層解析なので、何でもわかる
    わけではない
    「悪性ぽいかそうではないか」「もっと詳しく解析する必要があるかないか」
    の判断に使う
    ・名前が長い

    View full-size slide

  38. 参考:PE 分析ツール
    ・それぞれ特徴や得意なことがあるらしい。お好みで
    PE-bear PEstudio CFF Explorer
    Detect It Easy PPEE
    Exeinfo PE

    View full-size slide

  39. 代替ツール

    View full-size slide

  40. 代替ツール
    ・基本的な表層解析 (ファイルタイプ判定・ハッシュ値計算・文字列抽出・
    バイナリエディタ) を単独で完結させられるツールは他にあまりないのが現状
    あえて挙げれば……
    ・Detect It Easy:パッカー判定に強く日本語にも対応
    PE 分析ツールなので実行ファイル以外の判定にはあまり対応していない
    ・CyberChef:実は上記の 4種類の操作がすべて可能(エディタは微妙だが)
    ただ、表層解析目的での使いやすさという点では専用ツールに一歩譲る
    ブラウザだけで使えるので環境によっては役に立つ

    View full-size slide

  41. まとめ
    ・なんだかんだ言って表層解析は重要
    - 多くの場合、危険なファイルとそうでないファイルを区別するのに
    それほど時間はかけられない
    - 動的解析や静的解析を実施することになるにしろ、その手掛かりを短時間で
    できる限り集めておきたい
    ・時間が勝負の表層解析だからこそ、統合ツールでサクッと終わらせたい
    ・青空白猫を活用しよう!!

    View full-size slide

  42. 素材提供元
    ・PAKUTASO
    https://www.pakutaso.com/
    ・illust image
    https://illustimage.com/
    ・BEIZ images
    https://www.beiz.jp/
    ・いらすとや
    https://www.irasutoya.com/

    View full-size slide