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
120
Coverage Visualizerの紹介
ただのツールの紹介
#Fuzzing
#Binary Ninja
msymt
March 23, 2023
Tweet
Share
More Decks by msymt
See All by msymt
ファジングツールAFLが ターゲットに入力を送る方法 公開版v2
msymt
0
1.1k
セキュリティ・キャンプ交友会2022春 オンライン版 LT
msymt
0
190
パタヘネの誤りを報告した話
msymt
0
510
Other Decks in Programming
See All in Programming
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
220
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
900
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
使ってみよう Azure AI Document Intelligence
kosmosebi
2
330
大規模UIKitベースアプリへのTCAの段階的導入/gradual-adoption-of-tca-in-a-large-scale-uikit-based-app
takehilo
1
190
AmperとFleetを使ったAndroidアプリ
yoppie
0
220
Git Lint
bkuhlmann
4
750
Java 22 Overview
kishida
1
190
単体テストを書かない技術 #phpcon_odawara
o0h
PRO
27
8.3k
Let's learn code review
riofujimon
2
530
Code Reviews
bkuhlmann
4
890
Featured
See All Featured
Designing for humans not robots
tammielis
248
25k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
18
6.9k
Building Applications with DynamoDB
mza
88
5.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
Ruby is Unlike a Banana
tanoku
96
10k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Creatively Recalculating Your Daily Design Routine
revolveconf
210
11k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
Making the Leap to Tech Lead
cromwellryan
124
8.5k
What's in a price? How to price your products and services
michaelherold
237
11k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
241
1.2M
Atom: Resistance is Futile
akmur
259
25k
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