• No results found

protocol fuzzing past, present, future

N/A
N/A
Protected

Academic year: 2021

Share "protocol fuzzing past, present, future"

Copied!
28
0
0

Loading.... (view fulltext now)

Full text

(1)

protocol fuzzing

past, present, future

luiz eduardo

senior systems & security engineer

(2)

2 hack in the box 07 - kuala lumpur

agenda

• history of fuzzing • protocol fuzzing • fuzzable or not? • non-sense fuzzing

• session-based fuzzing / stateful-based fuzzing

• tools | techniques • challenges • getting creative • packet fun • predictions • resources

(3)

fuzzing history

• “born” @ university of madison in 1989 by professor barton miller and his crew

• why ?

• buzz word in the past few years

• sorta “hope” to find 0 days

• not just a http thing

• file format fuzzing

• application fuzzing

(4)

4 hack in the box 07 - kuala lumpur

(possible definition)/ terms/ keywords/ etc

• malformed / semi-malformed/ invalid input

• random • target • exception-handling • mutations • instrumentation • art / creativity • agents • negative-testing

changed the mentality of: “but.. … that packet doesn’t follow the rfc spec” or

(5)
(6)

6 hack in the box 07 - kuala lumpur

“mainstreaming” fuzzing

• numerous bugs found in the past few years

• some of them make the news

• others probably not …

(7)

corporate fuzzing

• again, nothing new…. but … if you don’t fuzz, someone else will

• fuzzing became a “common practice” (regardless if it’s done correctly or not)

(8)

8 hack in the box 07 - kuala lumpur

so… protocol fuzzing

• protocol abuse

• test robustness of the target

• from instability to crashes (or to remote code execution)

(9)

ohhh

(10)

10 hack in the box 07 - kuala lumpur

what to break in a protocol?

• structure • state • semantics • Buffer Overflow • Integer Overflow • Invalid Message • Format String • Fragmented Field • Invalid Header • Null Character • Wrong Encoding • Invalid Index • Invalid String • Recursion • Truncated • Underflow • Missing Field • Mixed Case • Out of Order • Self-Reference

• Too Many Fields

(11)

what protocols to fuzz?

• all of them, of course

• but… what’s the buzz? what’s new? what’s not mature?

• sip • scada • ipv6 • wireless • bluetooth • videogames

(12)

12 hack in the box 07 - kuala lumpur

(13)

session-based fuzzing

(14)

14 hack in the box 07 - kuala lumpur

stateful-based fuzzing

• one step above establishing a session

• “on-the-fly” fuzzing

(15)

techniques

• random

• database

(16)

16 hack in the box 07 - kuala lumpur

some of the challenges

• fault isolation

• the “bug behind the bug”

• “slow” protocol implementations

(17)

tools

• human

• spike / written in c/ block-based approach

• protos / java / different fuzzers

• peach / python / “written while drinking beer at ph-neutral”

• antiparser / python/ fuzzer and fault injection tool

• dfuz / c

(18)

18 hack in the box 07 - kuala lumpur

commercial

• bestorm • codenomicom • hydra • mu security • thread-x

(19)

getting creative

• use different fuzzing tools

• use the same fuzzing tool (parallel fuzzing)

• use a framework to integrate other stuff (traffic gen, nmap, exploitation tools, etc)

• “ “ “ to integrate agents for monitoring

(20)

20 hack in the box 07 - kuala lumpur

(21)
(22)

22 hack in the box 07 - kuala lumpur

(23)
(24)

24 hack in the box 07 - kuala lumpur

(25)

(con)fuzzing state of the security community

• “bad” security in depth implementations (dos?)

• again…. lots of security is based on known attacks

• critical infrastructure (?)

• roi

• fuzzing is just one of the tools, but certainly has helped changing the way people think

(26)

26 hack in the box 07 - kuala lumpur

predictions / crazy thoughts

• most people already got fuzzing

• more intelligence has to be incoporated to protocol fuzzing

– protocol/ application “adaptation”

– offline protocol fuzzing/ protocol correlation

– redundant system testing

– fuzzing through tunnels

– proxy-fuzzing (not a-la spike proxy)

– fuzz through/ on/ with non-standard media types (traffic shapers, etc)

• creativity is key : use the brain, for anything

• better integration with other tools

(27)

resources

• fuzzing mailing list by gadi evron

http://www.whitestar.linuxbox.org/mailman/listinfo/fuzzing

• book: fuzzing: brute force vulnerability discovery: pedram et al

http://fuzzing.org

• http://labs.musecurity.com

• http://www.hacksafe.com.au/blog/2006/08/21/fuzz-testing-tools-and-techniques/

• http://www.immunitysec.com/downloads/advantages_of_block_based_analysis.pd

(28)

28 hack in the box 07 - kuala lumpur

questions?

References

Related documents

• No systematic approach or mechanism to identify, document and disseminate innovations across development projects, programmes and actors in the region. Need to develop

In chapter § 4, and specifically in § 4.3, we identify the number of nodes and density per graph, the number of distinct labels and graphs in the dataset and the size of the query

The purpose of this qualitative multiple case study was to explore strategies the leaders of ICT companies use to integrate a diverse workforce following cross-border M&As

I write it because there is some lie that I want to expose, some fact to which I want to draw attention and my initial concern is to get a hearing” (p.. The Russian Revolution in

Pareto fronts obtained using Ditlevsen’s bounds in the reliability analysis phase present very well distribution and no difference exists between the Pareto front computed

Source: Beer Marketer’s Insights, Brewers Association, Nielsen Company, and Demeter Group estimates.. Beer

Note that substances that are accepted for classification into subclasses 1.1–1.6 are those that pass the threshold tests as given in the technical specifications above for

In their new role as organisational linch-pin and mediator between external and internal units, procurement personnel must both develop an understanding of technical areas such