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

DECAF meets The Sleuth Kit(TSK)

Ren Kimura
February 26, 2016

DECAF meets The Sleuth Kit(TSK)

OSS Spring 16 Tokyo

Ren Kimura

February 26, 2016
Tweet

More Decks by Ren Kimura

Other Decks in Research

Transcript

  1. whoami • るくす と申します • twitter: @RKX1209 • 神戸大学 工学部

    B3 • sandbox開発,マルウェア解析など • セキュリティキャンプ'15 チューター
  2. Agenda • DECAFの紹介 - DECAFとは - QEMUのしくみ • The Sleuth

    Kitの紹介 - The Sleuth Kit(TSK)とは - マルウェアフォレンジック • TSK on DECAF
  3. Agenda • DECAFの紹介 - DECAFとは - QEMUのしくみ • The Sleuth

    Kitの紹介 - The Sleuth Kit(TSK)とは - マルウェアフォレンジック • TSK on DECAF
  4. DECAFとは • DECAFを用いたマルウェア解析 - マルウェアをゲストOS内に閉じ込める - マルウェアが用いそうなAPIにフックをセット - APIを呼ぶとDECAF側に通知&プラグイン内の関 数を呼び出す

    • もう少し進んだ解析(今回は説明しません) - DECAFのデータ伝搬機構によるテイント解析 - マルウェアによる仮想マシン検出対策など
  5. DECAFとは • ゲストOSセマンティクス復元 • QEMUからESPレジスタの値を取得 • $ESP & 0xfffff000(下位12bitをmask) •

    これでLinuxのthread_info構造体のアドレスが得 られる • thread_infoからtask_struct構造体のアドレスを 得る • task_structのアドレス ↔ バージョンの対応DBを検 索し、バージョンを特定する
  6. Agenda • DECAFの紹介 - DECAFとは - QEMUのしくみ • The Sleuth

    Kitの紹介 - The Sleuth Kit(TSK)とは - マルウェアフォレンジック • TSK on DECAF
  7. Agenda • DECAFの紹介 - DECAFとは - QEMUのしくみ • The Sleuth

    Kitの紹介 - The Sleuth Kit(TSK)とは - マルウェアフォレンジック • TSK on DECAF
  8. The Sleuth Kit(TSK)とは • フォレンジック? • 正確にはディジタルフォレンジックを指す • コンピュータやネットワークのログやディスクから証 拠を探す

    • 警察が犯罪者のディジタルデータ(PC,スマホなど) から、証拠立件を行う際にもフォレンジックが行われ る - 某遠隔操作事件でもスラックスペースが話題に • フォレンジックはマルウェア解析者も行う
  9. Agenda • DECAFの紹介 - DECAFとは - QEMUのしくみ • The Sleuth

    Kitの紹介 - The Sleuth Kit(TSK)とは - マルウェアフォレンジック • TSK on DECAF
  10. マルウェアフォレンジック • マルウェアをディスクイメージから探し出す • 多くのマルウェアは自身を隠蔽する手法を持ってい る • 有名な手法はNTFSのADS(Alternate Data Stream)を用いた物

    - 最近流行りのPoison Ivyの亜種などもこの手法 を利用している • echo 'I am malware' > test.txt:stream • cmd.exeやファイルエクスプローラーでは見つけら れない
  11. Agenda • DECAFの紹介 - DECAFとは - QEMUのしくみ • The Sleuth

    Kitの紹介 - The Sleuth Kit(TSK)とは - マルウェアフォレンジック • TSK on DECAF
  12. TSK on DECAF • TSK APIをDECAFから使えるようにする • 実はTSK自体は既にDECAFに載っている - ただしqcowのサポートが少し不完全

    - まれにDECAFプラグインからうまく扱えない事が • DECAFはTSKに独自のqcowサポートコードを追 加している tsk_img_open_sing(snapshot, QEMU_IMG, 0);
  13. TSK on DECAF • TSKに新しくqcowサポートコードを加えた • 以前のQEMU_IMGに加 え、TSK_IMG_TYPE_QCOW_QCOWという定数 を追加 •

    TSK内のqcow(open/read/write)コードをlibqcow ライブラリを利用した物に変更 → うまく動いた! tsk_img_open_sing(snapshot, TSK_IMG_TYPE_QCOW_QCOW, 0);
  14. おわりに • DECAFという既存のOSS sandboxから、TSKを使 えるようにしました • マルウェア解析者もこれからはsandboxを実装して いく時代 • DECAF以外にも様々なフレームワークがある

    - ex. Panda, PEMU, PinOS, Unicorn... • 解析専門でも実装力は必要 • セキュリティ技術者もどんどんOSSへ貢献していき ましょう