Toggle Menu

<-- Back to schedule

Fuzz all the things!

Project: N/A

This presentation was inspired by two un-related incidents.

Firstly, in late 2014, the presenter received two separate bug reports of stack or heap overflows in well known and widely deployed pieces of Open Source software for which he was the maintainer. In both cases these bugs were found using the latest fuzzing tools, one of them being American Fuzzy Lop (AFL). Using AFL the presenter then found and fixed numerous other bugs in these two projects.

Then, in early 2015, as part of the Snowden relevations, the SSH protocol and/or common implementations like OpenSSH were briefly suspected of containing a flaw that was known only to the NSA. Fortunately this suspicion quickly fell out of favour but how can we know for sure that the NSA doesn't have an exploit for OpenSSH?

This open question led the presenter to try to figure out how to fuzz encrypted network protolcols like SSH. For OpenSSH, it turns out to be rather difficult but that is mainly a design flaw in OpenSSH itself. Software written to communicate over an encypted tunnel could easily be designed to make fuzzing relatively easy. The result is software that is more secure and robust.

This presentation will cover:

* What is fuzzing?
* What makes American Fuzzy Lop and the LLVM Fuzzer so much better than previous fuzzers?
* How do the GGC and Clang compiler's sanitizer options assist in the fuzzing process?
* Using American Fuzzy Lop as a file input fuzzer.
* Fuzzing network protocols (even encypted ones like SSH) with the LLVM Fuzzer.
* Integrating fuzzing into your standard development process.

Erik de Castro Lopo

Erik has been using Linux since 1995, released his first Free Software project (libsndfile) in 1998 and has contributed to numerous FOSS projects in C, C++, Python, Ocaml and Haskell.


Geelong 2016

Our Emperor Penguin Sponsors

Geelong

About Geelong

Geelong is Victoria's second largest city, located on Corio Bay, and within a short drive from popular beach-front communities on the Bellarine Peninsula as well as being the gateway to the famous Great Ocean Road

More Info »

linux.conf.au

linux.conf.au

linux.conf.au is widely regarded by delegates as one of the best community run Linux conferences worldwide and is the largest Linux and Open Source Software conference in the Asia-Pacific.

Read More »

Sponsorship

Sponsorship

Our Sponsors help make linux.conf.au become the awesome conference everyone comes back to year after year. Come see who's on board this year, or find out how to get in contact with us

Sponsorship »