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
170
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
210
パタヘネの誤りを報告した話
msymt
0
620
Other Decks in Programming
See All in Programming
Modern Angular:Renovation for Your Applications @angularDays 2025 Munich
manfredsteyer
PRO
0
100
令和トラベルにおけるコンテンツ生成AIアプリケーション開発の実践
ippo012
1
250
RubyKaigiで手に入れた HHKB Studioのための HIDRawドライバ
iberianpig
0
190
複数ドメインに散らばってしまった画像…! 運用中のPHPアプリに後からCDNを導入する…!
suguruooki
0
420
WordPress Playground for Developers
iambherulal
0
120
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
5
1.3k
なぜselectはselectではないのか
taiyow
2
280
AI時代のプログラミング教育 / programming education in ai era
kishida
22
20k
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
190
CTFのWebにおける⾼難易度問題について
hamayanhamayan
1
930
イベントソーシングによってインピーダンスミスマッチから解放された話
tkawae
1
310
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
2
730
Featured
See All Featured
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
31
4.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.2k
How to Ace a Technical Interview
jacobian
276
23k
Designing for Performance
lara
605
69k
Adopting Sorbet at Scale
ufuk
75
9.3k
Designing Experiences People Love
moore
140
23k
Thoughts on Productivity
jonyablonski
69
4.5k
A Philosophy of Restraint
colly
203
16k
Optimising Largest Contentful Paint
csswizardry
34
3.2k
Building an army of robots
kneath
304
45k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Into the Great Unknown - MozCon
thekraken
35
1.7k
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