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
0
180
Coverage Visualizerの紹介
ただのツールの紹介
#Fuzzing
#Binary Ninja
msymt
March 23, 2023
Tweet
Share
More Decks by msymt
See All by msymt
ファジングツールAFLが ターゲットに入力を送る方法 公開版v2
msymt
0
1.3k
セキュリティ・キャンプ交友会2022春 オンライン版 LT
msymt
0
230
パタヘネの誤りを報告した話
msymt
0
660
Other Decks in Programming
See All in Programming
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
410
そのAPI、誰のため? Androidライブラリ設計における利用者目線の実践テクニック
mkeeda
2
270
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
400
RDoc meets YARD
okuramasafumi
4
170
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.2k
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
110
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
510
速いWebフレームワークを作る
yusukebe
5
1.7k
さようなら Date。 ようこそTemporal! 3年間先行利用して得られた知見の共有
8beeeaaat
3
1.4k
知っているようで知らない"rails new"の世界 / The World of "rails new" You Think You Know but Don't
luccafort
PRO
1
100
CJK and Unicode From a PHP Committer
youkidearitai
PRO
0
110
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
280
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Code Reviewing Like a Champion
maltzj
525
40k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.5k
Agile that works and the tools we love
rasmusluckow
330
21k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Into the Great Unknown - MozCon
thekraken
40
2k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Thoughts on Productivity
jonyablonski
70
4.8k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
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