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
Coverage Visualizerの紹介
Search
msymt
March 23, 2023
Programming
200
0
Share
Coverage Visualizerの紹介
ただのツールの紹介
#Fuzzing
#Binary Ninja
msymt
March 23, 2023
More Decks by msymt
See All by msymt
ファジングツールAFLが ターゲットに入力を送る方法 公開版v2
msymt
0
1.4k
セキュリティ・キャンプ交友会2022春 オンライン版 LT
msymt
0
240
パタヘネの誤りを報告した話
msymt
0
700
Other Decks in Programming
See All in Programming
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
660
AI-DLC 入門 〜AIコーディングの本質は「コード」ではなく「構造」〜 / Introduction to AI-DLC: The Essence of AI Coding Is Not “Code” but “Structure”
seike460
PRO
0
170
Symfonyの特性(設計思想)を手軽に活かす特性(trait)
ickx
0
110
存在論的プログラミング: 時間と存在を記述する
koriym
5
750
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
230
夢の無限スパゲッティ製造機 -実装篇- #phpstudy
o0h
PRO
0
190
ファインチューニングせずメインコンペを解く方法
pokutuna
0
250
OTP を自動で入力する裏技
megabitsenmzq
0
130
Feature Toggle は捨てやすく使おう
gennei
0
400
Codex CLI でつくる、Issue から merge までの開発フロー
amata1219
0
280
実践ハーネスエンジニアリング #MOSHTech
kajitack
7
5.4k
モダンOBSプラグイン開発
umireon
0
190
Featured
See All Featured
Everyday Curiosity
cassininazir
0
180
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
150
How GitHub (no longer) Works
holman
316
150k
Become a Pro
speakerdeck
PRO
31
5.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Raft: Consensus for Rubyists
vanstee
141
7.4k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
170
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
260
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
170
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
200
Exploring anti-patterns in Rails
aemeredith
3
300
Claude Code のすすめ
schroneko
67
220k
Transcript
Coverage Visualizerの紹介 MsY(@py65criz) 1
修士研究で起きた悩み 2 • 実験:QEMU上のバイナリに対してファジング • 評価のために,実行トレースを記録 • 視覚的にどのコードブロック,関数を通ったかを知りたい ◦ 例:深さの比較(大雑把に)
• Coverage Visualizerを使って解決 https://ricercasecurity.blogspot.com/2022/09/
ツールの選定 3 Coverage Visualizer リバエン ツール 対応トレース 形式 メリット デメリット
gaasedelen/lighthouse Binary Ninja PIN Frida DynamoRIO 命令・BB単位 Module+offset UIが綺麗※1, coverage overviewが 便利 有料(学割可)※2 IDA Pro 有料※2 0ffffffffh/dragondance Ghidra Pin DynamoRIO 無料※2 グラフの 色付け機能のみ ※1主観 ※2リバエンツールの値段 命令・BB単位のログしか取れない, Binary Ninjaのライセンスを所持 →lighthouseを採用
lighthouse:IDA Proのキャプチャ(READMEより) 4
lighthouse:IDA Proのキャプチャ(READMEより) 5 通った命令を色付け 通った命令を色付け 通った命令を色付け
lighthouse: Coverage Overview 6 • 基本ブロック・命令単位で カバレッジを提示 • 表をクリックすれば, 対応する関数にジャンプ
• 項目ごとのソート可
lighthouse 7 トレースツール以外のログ形式の対応 0x14000419c 0x1400041a0 0x1400045dc 0x1400045e1 0x1400045e2 ... boombox+3a06
boombox+3a09 boombox+3a0f boombox+3a15 ... 命令,基本ブロック単位 Module + オフセット 研究で活用
おわりに 8 • lighthouseの「Coverage Overview」機能で 関数を選び,通ったブロックを効率的に調べられた ◦ dragondanceにはない機能(あんたが作れ) • 結果:通過したブロックの深さに,明確な差は見られなかった
◦ →深さに対する有効性は見送り
おまけ:dragondance 9 • 統計なし • 通ったブロックは見れる • Ghidara v10でインストール可能 ◦
正常に動作するか不明 https://youtu.be/3c6gm_ZrcX8