Advanced Fuzzing with Peach 2 презентация

Содержание

Слайд 1MICHAEL EDDINGTON
MIKE@LEVIATHANSECURITY.COM

Advanced Fuzzing with Peach 2


Слайд 2Agenda
Introduction to Peach 2

Data mutations

Peach State Machine

Peach Farm

Peach in The Middle


Слайд 3
Introduction to Peach 2


Слайд 4Peach 1
Framework for writing fuzzers

Instrumentation via wrapper APIs

No data definition layer

(DDL), just fuzzer

Steep learning curve

Complex fuzzers result in complex fuzzer code


Слайд 5Peach 2
Reduce creation time and simplify fuzzer generation

Fuzzer platform, not framework

Modeling

based approach

Fault detection

Lower learning curve

Слайд 6Modeling Based Fuzzing
Model types and data

Model state machine

Support models with data

sets

Mutate models with mutators

Слайд 7Model Data: Types
INT
INT
INT
Flags
INT
Len
STRING
DATA
INT
Len
INT
INT
INT
DATA


Слайд 8Model Data: Relationships
INT
INT
INT
Flags
INT
Len
STRING
DATA
INT
Len



INT
INT
INT
DATA



Слайд 9Model Data: State Model
Packet A
Packet B-1
Packet C-1
Packet C-2
Packet D
Packet
B-2







Слайд 10Benefits of Modeling
Easy reuse of definitions

Complex mutations can be applied to

a model

Improvements to data generation or mutation independent of model

Data read into definition as well as generated


Слайд 11Data Modeling
Define structure of data
Define relations in data
Reuse definitions

Block
Sequence
Choice
String
Number
Flags/Flag
Blob

Relation
Transformer


Слайд 12
State Modeling


Слайд 13Stream
Call
TCP, UDP, Files

Connect
Accept
Input
Output
Close

COM, RPC, SOAP

Call
Method
Parameters
Result
State Modeling


Слайд 14State Modeling: Stream
State Machine
1
2
3
4
5


Слайд 15State Modeling: Stream
State Machine
1
5


Слайд 16State Modeling: Stream
State Machine
1
2
3
4


Слайд 17State Modeling: Call
State Machine
1
2
3


Слайд 18
Data Mutations


Слайд 19Mutation: String
“?k1=v+1&k2=v2”
40,000+ variations


Слайд 20Mutation: Number



00


Interesting Edge Cases



FFFFFFFFFFFFFFFF






Слайд 21Mutation: Size Relation #1

Length:

Data:



Слайд 22Mutation: Size Relation #2

Length:

Data:





200 Bytes


Слайд 23Mutation: Size Relation #3

Data & Length:


Слайд 24Mutation: State
Packet A
Packet B-1
Packet C-1
Packet C-2
Packet D
Packet
B-2








Слайд 25Mutation: State
Packet A
Packet B-1
Packet D
Packet
B-2





Слайд 26Mutation: State
Packet A
Packet B-1
Packet D
Packet
B-2





Слайд 27Add Custom Mutators

Sling some Python

Add additional mutations

Specific mutations

Etc.


Слайд 28AND DATA COLLECTION
Fault Detection


Слайд 29



Agents & Monitors
Peach





Слайд 302 Tier Configuration
1
2
3
4
5
6


Слайд 31Monitors
Debuggers
Process Monitor
Memory Monitor
Network Capture
VM Control (snapshot, revert)
Networked Power Strips (cycle power)

Easy

to implement custom monitors

Слайд 32
Peach Development


Слайд 33Documented XML Schema


Слайд 34Peach Builder


Слайд 35Peach Shark


Слайд 36MASSIVELY PARALLEL FUZZING
Peach Farm


Слайд 37Peach Farm
Adam Cecchetti
Massively Parallel Fuzzing
Scales from 1 to 10,000

nodes
Choose your Virtual Platform/Hosting
EC2, Xen, VMWare, Etc
Utilizes Map/Reduce Algorithm
Map: Maps the fuzzing cases to indexes and results
Reduce: Reduces fuzzing results to interesting cases
Metric based : Time, size, diff, expected errors, OS faults, crashes

Слайд 38WHAT’S NEXT?
Peach in The Middle


Слайд 39Peach in The Middle
Client
Server
Peach


Controller
Agent
Data Model


Слайд 40HTTP://PEACHFUZZ.SF.NET

HTTP://PHED.ORG

MIKE@LEVIATHANSECURITY.COM
Q & A


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика