Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DECAF meets The Sleuth Kit(TSK)
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ren Kimura
February 26, 2016
Research
3.3k
2
Share
DECAF meets The Sleuth Kit(TSK)
OSS Spring 16 Tokyo
Ren Kimura
February 26, 2016
More Decks by Ren Kimura
See All by Ren Kimura
脅威解析概論
rkx1209
0
240
Ideas for defeating Anti-Deep-Fakes
rkx1209
0
120
セキュリティベンチャーのリスク管理
rkx1209
0
160
ファジング+トリアージ技術を用いた脆弱性解析自動化
rkx1209
0
130
Introduction to Fuzzing
rkx1209
6
4.4k
ARM TrustZone エクスプロイト入門
rkx1209
7
8.6k
The Game is Over. Nintendo switch has been totally compromised
rkx1209
9
5.3k
インサイドNintendo Switch
rkx1209
18
13k
More efficient remote debugging with Thin Hypervisor
rkx1209
3
2.7k
Other Decks in Research
See All in Research
AI Agentの精度改善に見るML開発との共通点 / commonalities in accuracy improvements in agentic era
shimacos
6
1.6k
Cross-Media Information Spaces and Architectures
signer
PRO
0
290
The Landscape of Agentic Reinforcement Learning for LLMs: A Survey
shunk031
4
930
IEEE AIxVR 2026 Keynote Talk: "Beyond Visibility: Understanding Scenes and Humans under Challenging Conditions with Diverse Sensing"
miso2024
0
180
2026年3月1日(日)福島「除染土」の公共利用をかんがえる
atsukomasano2026
0
590
R&Dチームを起ち上げる
shibuiwilliam
1
250
はじまりの クエスチョンブック —余暇と豊かさにあふれた社会とは?
culturaltransition
PRO
0
440
SoftMatcha 2: 1兆語規模コーパスの超高速かつ柔らかい検索
e869120_sub
6
3.3k
羽田新ルート運用6年の検証
1manken
0
150
typst の使い方:言語学を研究する学生のために
gitomochang
0
420
[BlackHatAsia2026] Hidden Telemetry: Uncovering TraceLogging ETW Providers You're Not Using (Yet)
asuna_jp
1
430
都市交通マスタープランとその後への期待@熊本商工会議所・熊本経済同友会
trafficbrain
0
210
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
180
Abbi's Birthday
coloredviolet
2
7.6k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
550
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Designing for Timeless Needs
cassininazir
1
220
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
140
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.4k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
340
Ethics towards AI in product and experience design
skipperchong
2
280
Transcript
DECAF meets The Sleuth Kit (TSK) OSC2016 Tokyo/Spring @RKX1209
whoami • るくす と申します • twitter: @RKX1209 • 神戸大学 工学部
B3 • sandbox開発,マルウェア解析など • セキュリティキャンプ'15 チューター
はじめに • 今回やったこと • DECAFというsandboxに、フォレンジックツール TSKを載せました • パッチ +436 -14
• 本家マージ済み(?)
None
Agenda • DECAFの紹介 - DECAFとは - QEMUのしくみ • The Sleuth
Kitの紹介 - The Sleuth Kit(TSK)とは - マルウェアフォレンジック • TSK on DECAF
Agenda • DECAFの紹介 - DECAFとは - QEMUのしくみ • The Sleuth
Kitの紹介 - The Sleuth Kit(TSK)とは - マルウェアフォレンジック • TSK on DECAF
DECAFとは • QEMUをベースにしたsandbox • sandboxはマルウェアを仮想環境などに閉じ込め 隔離するプログラム • 主にマルウェア解析,感染防止などに使用
DECAFとは • ゲストOS上で実行されるファイル(.exeなど)をホス ト側から解析可能 • ホスト側で拡張プラグインを開発し、ゲストOS上の API呼び出しなどをフックできる • Out-of-VM方式を採用したsandbox
DECAFとは • In-VM: ゲストOS内にエージェントを配置 - マルウェアに検出される(アンチ解析) • Out-of-VM: ホスト側(ハイパーバイザ)にエージェ ントを追加
DECAFとは • DECAFを用いたマルウェア解析 - マルウェアをゲストOS内に閉じ込める - マルウェアが用いそうなAPIにフックをセット - APIを呼ぶとDECAF側に通知&プラグイン内の関 数を呼び出す
• もう少し進んだ解析(今回は説明しません) - DECAFのデータ伝搬機構によるテイント解析 - マルウェアによる仮想マシン検出対策など
DECAFとは • セマンティックギャップ問題 - OSはメモリ上のどこにどのような情報を配置して いるか把握している(ex. WinAPI) - メモリのデータに意味(セマンティクス)を持ってい る
DECAFとは • セマンティックギャップ問題
DECAFとは • DECAFによるギャップ解消(VMI) • QEMUからメモリデータ,レジスタ値を読む • 読んだデータからゲストOSのセマンティクスを復元 する - どうやって?
- ゲストOSがLinuxの場合を例に見てみる
DECAFとは • ゲストOSセマンティクス復元 • QEMUからESPレジスタの値を取得 • $ESP & 0xfffff000(下位12bitをmask) •
これでLinuxのthread_info構造体のアドレスが得 られる • thread_infoからtask_struct構造体のアドレスを 得る • task_structのアドレス ↔ バージョンの対応DBを検 索し、バージョンを特定する
DECAFとは • 仮想マシンを通しレジスタ,メモリの値を読みだして いる Q. QEMUが持っている情報(ゲストのレジスタ値,メ モリ)をDECAFはどうやって横取りしている? Q. どのタイミングで横取りしている? A.
QEMUの動的バイナリ変換機能を利用して フックコードを途中で挿入している
Agenda • DECAFの紹介 - DECAFとは - QEMUのしくみ • The Sleuth
Kitの紹介 - The Sleuth Kit(TSK)とは - マルウェアフォレンジック • TSK on DECAF
QEMUのしくみ • 動的バイナリ変換(DynamicBinaryTranslation) • ゲストはホストと異なるアーキテクチャの物を動か せる
QEMUのしくみ • DECAFはフックコードを中間表現TCGに挿入 • 解析コードをターゲットに挿入する手法を DBI(Dynamic Binary Instrumentation)という • 中間表現レベルで挿入しているためアーキテクチャ
非依存 • APIがcallされるTCG命令の前後に、DECAFの関 数呼び出し命令を挿入する - APIフックの実現
QEMUのしくみ
Agenda • DECAFの紹介 - DECAFとは - QEMUのしくみ • The Sleuth
Kitの紹介 - The Sleuth Kit(TSK)とは - マルウェアフォレンジック • TSK on DECAF
The Sleuth Kit(TSK)とは • ファイルシステムフォレンジックツール • ファイルシステムの詳細な構造にアクセス可能 • TSKはコマンドラインツールだがAPIも持っている -(C,pythonなど様々なバインドがある)
• ディスクイメージの解析などに用いる
The Sleuth Kit(TSK)とは • フォレンジック? • 正確にはディジタルフォレンジックを指す • コンピュータやネットワークのログやディスクから証 拠を探す
• 警察が犯罪者のディジタルデータ(PC,スマホなど) から、証拠立件を行う際にもフォレンジックが行われ る - 某遠隔操作事件でもスラックスペースが話題に • フォレンジックはマルウェア解析者も行う
Agenda • DECAFの紹介 - DECAFとは - QEMUのしくみ • The Sleuth
Kitの紹介 - The Sleuth Kit(TSK)とは - マルウェアフォレンジック • TSK on DECAF
マルウェアフォレンジック • マルウェアをディスクイメージから探し出す • 多くのマルウェアは自身を隠蔽する手法を持ってい る • 有名な手法はNTFSのADS(Alternate Data Stream)を用いた物
- 最近流行りのPoison Ivyの亜種などもこの手法 を利用している • echo 'I am malware' > test.txt:stream • cmd.exeやファイルエクスプローラーでは見つけら れない
マルウェアフォレンジック • マルウェアによる検索妨害 • ADSを検出できるツールは多くある - しかし多くのツールはFindNextFileなどのWin APIを利用している • マルウェアはAPI呼び出しをフックし改竄できるた
め、この手法では限界がある • TSKはAPIではなくディスクイメージを直接パースす るためこの手の妨害は受けない
Agenda • DECAFの紹介 - DECAFとは - QEMUのしくみ • The Sleuth
Kitの紹介 - The Sleuth Kit(TSK)とは - マルウェアフォレンジック • TSK on DECAF
TSK on DECAF • TSK APIをDECAFから使えるようにする • 実はTSK自体は既にDECAFに載っている - ただしqcowのサポートが少し不完全
- まれにDECAFプラグインからうまく扱えない事が • DECAFはTSKに独自のqcowサポートコードを追 加している tsk_img_open_sing(snapshot, QEMU_IMG, 0);
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);
TSK on DECAF TSKを用いてゲストOSのファイル走査している図
おわりに • DECAFという既存のOSS sandboxから、TSKを使 えるようにしました • マルウェア解析者もこれからはsandboxを実装して いく時代 • DECAF以外にも様々なフレームワークがある
- ex. Panda, PEMU, PinOS, Unicorn... • 解析専門でも実装力は必要 • セキュリティ技術者もどんどんOSSへ貢献していき ましょう