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
190
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
670
Other Decks in Programming
See All in Programming
Six and a half ridiculous things to do with Quarkus
hollycummins
0
160
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
160
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
290
Catch Up: Go Style Guide Update
andpad
0
210
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
0
250
NixOS + Kubernetesで構築する自宅サーバーのすべて
ichi_h3
0
560
CSC509 Lecture 05
javiergs
PRO
0
300
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
2
150
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
2
810
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
290
Software Architecture
hschwentner
6
2.3k
Your Perfect Project Setup for Angular @BASTA! 2025 in Mainz
manfredsteyer
PRO
0
160
Featured
See All Featured
Building Adaptive Systems
keathley
43
2.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
620
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Fireside Chat
paigeccino
40
3.7k
How to Ace a Technical Interview
jacobian
280
24k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
GraphQLとの向き合い方2022年版
quramy
49
14k
Typedesign – Prime Four
hannesfritz
42
2.8k
Speed Design
sergeychernyshev
32
1.2k
Making Projects Easy
brettharned
119
6.4k
A designer walks into a library…
pauljervisheath
209
24k
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