0% found this document useful (0 votes)
69 views56 pages

Future of Binary Exploitation Trends

This document discusses the future of security and exploitation. It notes that security technologies are improving, making memory corruption exploits harder to produce for most systems in the next 10-20 years. Implementation and logic flaws will still exist. Bug hunting will require more automation through fuzzing and static analysis. Finding bugs will become more difficult and time-consuming as systems grow more complex.

Uploaded by

Lev Olshvang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
0% found this document useful (0 votes)
69 views56 pages

Future of Binary Exploitation Trends

This document discusses the future of security and exploitation. It notes that security technologies are improving, making memory corruption exploits harder to produce for most systems in the next 10-20 years. Implementation and logic flaws will still exist. Bug hunting will require more automation through fuzzing and static analysis. Finding bugs will become more difficult and time-consuming as systems grow more complex.

Uploaded by

Lev Olshvang
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.

The Future of Security

and Exploitation
Modern Binary Exploitation
CSCI 4968 - Spring 2015
Markus Gaasedelen

MBE - 05/12/2015 Future of Security & Exploitation 1


DEFCON Quals
• May 15/16/17
– Starts 8pm Friday, May 15th
– Sage 3101 Friday, Sage 4101 Saturday/Sunday

• Extra Credit
– Letter grade raise on a Lab
– OR +10% on the final project

• To get the extra credit


– Solve one challenge (that’s not a sanity check)
– OR Play 10 hours on Saturday and/or Sunday

MBE - 05/12/2015 Future of Security & Exploitation 2


Lecture Overview
• Security
– Security Today
– Security Tomorrow
• Exploitation
– Exploitation Today
– Exploitation Tomorrow

MBE - 05/12/2015 Future of Security & Exploitation 3


CVE Statistics – May 2015

[Link]

MBE - 05/12/2015 Future of Security & Exploitation 4


Security Trends
• As you know, security and mitigation
technologies are no doubt getting better
– Why the spike in 2014?

MBE - 05/12/2015 Future of Security & Exploitation 5


CVE Statistics – May 2015

[Link]

MBE - 05/12/2015 Future of Security & Exploitation 6


June 2013

MBE - 05/12/2015 Future of Security & Exploitation 7


Security Trends
• As you know, security and mitigation
technologies are no doubt getting better
– Why the spike in 2014?

• Possibly a result of the Snowden revelations


– The fallout raised global awareness and interest in
security/privacy. ‘Cyber’ in the news ever since

MBE - 05/12/2015 Future of Security & Exploitation 8


Unsustainable Complexity
• Exploits are getting more and more complex
– More bugs
– More time
– More money

MBE - 05/12/2015 Future of Security & Exploitation 9


Unsustainable Complexity

$$$$$
Exploit Complexity

$
2015 Years 20??

MBE - 05/12/2015 Future of Security & Exploitation 10


Unsustainable Complexity
• Exploits are getting more and more complex
– More bugs
– More time
– More money

• At what point do hobbyists have to draw the


line? Companies? Contractors? Nation States?

MBE - 05/12/2015 Future of Security & Exploitation 11


Unsustainable Complexity

$$$$$

nation states
Exploit Complexity

sec firms
the hobbyist

$
2015 Years 20??

MBE - 05/12/2015 Future of Security & Exploitation 12


The Security Mindset
• Systems and applications will never be
perfectly secure. Period.

MBE - 05/12/2015 Future of Security & Exploitation 13


The Security Mindset
• Systems and applications will never be
perfectly secure. Period.

• They just have to be hard enough to break


that nobody can afford it anymore

MBE - 05/12/2015 Future of Security & Exploitation 14


The Weakest Link - Humans

[Link]

MBE - 05/12/2015 Future of Security & Exploitation 15


Lecture Overview
• Security
– Security Today
– Security Tomorrow
• Exploitation
– Exploitation Today
– Exploitation Tomorrow

MBE - 05/12/2015 Future of Security & Exploitation 16


The Future of Security
• The entry bar for binary exploitation is rising
faster and faster
– It’s starting to outpace individuals and hobbyists
interest, ability, and dedication to enter the field

MBE - 05/12/2015 Future of Security & Exploitation 17


Unsustainable Complexity

$$$$$
Exploit Complexity

the hobbyist

$
2015 2020? Years 20??

MBE - 05/12/2015 Future of Security & Exploitation 18


The Future of Security
• Memory corruption based exploits will no
longer be feasible to produce for the average
desktop or server

MBE - 05/12/2015 Future of Security & Exploitation 19


The Future of Security
• Memory corruption based exploits will no
longer be feasible to produce for the average
desktop or server
– In the immediate 10-20 years (?)
• Embedded devices are further behind

MBE - 05/12/2015 Future of Security & Exploitation 20


The Future of Security
• Implementation & logic flaws will probably
always exist
– You can’t really fix stupid

MBE - 05/12/2015 Future of Security & Exploitation 21


The Future of Security
• Implementation & logic flaws will probably
always exist
– You can’t really fix stupid

• What we will see and discover more of:


– Sponsored backdoors, ‘cheating’
– Hardware backdoors, flaws, supply chain trust
– Crypto backdoors, subtle design flaws

MBE - 05/12/2015 Future of Security & Exploitation 22


Lecture Overview
• Security
– Security Today
– Security Tomorrow
• Exploitation
– Exploitation Today
– Exploitation Tomorrow

MBE - 05/12/2015 Future of Security & Exploitation 23


This Course
• You spent hours looking for bugs

• You spent hours reversing in IDA

• You spent hours debugging with GDB

• You spent hours writing python

MBE - 05/12/2015 Future of Security & Exploitation 24


This Course
• You spent hours looking for bugs

• You spent hours reversing in IDA

• You spent hours debugging with GDB

• You spent hours writing python

MBE - 05/12/2015 Future of Security & Exploitation 25


Bug Hunting
• Looking for bugs with or without source is the
most time consuming part of the process

MBE - 05/12/2015 Future of Security & Exploitation 26


Bug Hunting
• Looking for bugs with or without source is the
most time consuming part of the process

• How can we find these bugs faster?

MBE - 05/12/2015 Future of Security & Exploitation 27


Bug Hunting
• Looking for bugs with or without source is the
most time consuming part of the process

• How can we find these bugs faster?


– Automation

MBE - 05/12/2015 Future of Security & Exploitation 28


Static Code Analyzers
• Source code analyzers can help find bugs
statically, but they can also miss a lot
– Very hard to detect many real UAF’s statically

MBE - 05/12/2015 Future of Security & Exploitation 29


Static Code Analyzers
• Source code analyzers can help find bugs
statically, but they can also miss a lot
– Very hard to detect many real UAF’s statically

• Coverity is popular with the kids nowadays


– integrates straight with GitHub

MBE - 05/12/2015 Future of Security & Exploitation 30


Coverity

MBE - 05/12/2015 Future of Security & Exploitation 31


Static Code Analyzers
• Source code analyzers can help find bugs
statically, but they can also miss a lot
– Very hard to detect many real UAF’s statically

• Coverity is popular with the kids nowadays


– integrates straight with GitHub

• Tons of good options for C/C++ Code


– [Link]

MBE - 05/12/2015 Future of Security & Exploitation 32


Fuzzing
• Fuzzing – The act of mangling data and
throwing it at a target application to see if it
mishandles it in some fashion

• Fuzzing has probably been the source of over


95% of the bugs from the past 10 years
– The fuzzing era is starting to wind down

MBE - 05/12/2015 Future of Security & Exploitation 33


Fuzzing
• Remember these labs?
– 7C
– 7A
– 9C
– 9A
–…

• Since the scope of the labs is so small, it would


have been easy to fuzz them

MBE - 05/12/2015 Future of Security & Exploitation 34


Instant Bugs

MBE - 05/12/2015 Future of Security & Exploitation 35


American Fuzzy Lop (AFL)
• A ‘security-oriented’ fuzzer that inserts and
utilizes instrumentation that it inserts at
compile time
– Requires source code to be super effective

MBE - 05/12/2015 Future of Security & Exploitation 36


American Fuzzy Lop (AFL)

MBE - 05/12/2015 Future of Security & Exploitation 37


American Fuzzy Lop (AFL)
• A ‘security-oriented’ fuzzer that inserts and
utilizes instrumentation that it inserts at
compile time
– Requires target source code to be super effective

• Great for file format fuzzing!


– Generally not that useful for CTF fuzzing :/

• [Link]

MBE - 05/12/2015 Future of Security & Exploitation 38


Fundamentals of Modern Bugs
• As the bugs get more refined and complex,
fuzzing will only take us so far

MBE - 05/12/2015 Future of Security & Exploitation 39


Fundamentals of Modern Bugs
• As the bugs get more refined and complex,
fuzzing will only take us so far

• Many modern bugs have to be ‘forced’ by


requiring very specific conditions
– like some sort of crazy edge cases

MBE - 05/12/2015 Future of Security & Exploitation 40


QIRA
• A ‘timeless debugger’ – By GeoHot
– Observe a binary at any point of its execution
state for a given input
– You can move forwards and backwards in time

MBE - 05/12/2015 Future of Security & Exploitation 41


QIRA

MBE - 05/12/2015 Future of Security & Exploitation 42


QIRA
• A ‘timeless debugger’ – By GeoHot
– Observe a binary at any point of its execution
state for a given input
– You can move forwards and backwards in time

• Super basic taint sort of functionality


– Helps visualize r/w of specific memory addresses

• [Link]

MBE - 05/12/2015 Future of Security & Exploitation 43


PANDA
• An ‘open-source Platform for Architecture-
Neutral Dynamic Analysis’ – By MITLL

MBE - 05/12/2015 Future of Security & Exploitation 44


PANDA

MBE - 05/12/2015 Future of Security & Exploitation 45


PANDA
• An ‘open-source Platform for Architecture-
Neutral Dynamic Analysis’ – By MITLL

• Built on top of QEMU, allows instrumentation,


analysis, and replay of an entire system

MBE - 05/12/2015 Future of Security & Exploitation 46


PANDA

MBE - 05/12/2015 Future of Security & Exploitation 47


PANDA
• An ‘open-source Platform for Architecture-
Neutral Dynamic Analysis’ – By MITLL

• Built on top of QEMU, allows instrumentation,


analysis, and replay of an entire system

• Awesome plugin infrastructure


– Utilizes LLVM Intermediate Representation to make
one size fits all (CPU’s) analysis plugins

• [Link]
MBE - 05/12/2015 Future of Security & Exploitation 48
Advanced Concepts Today
• Taint Analysis
– Tracing the impact of user input throughout the
binary, and how it influences execution
– PANDA, QIRA

• Symbolic Execution + SAT/SMT Solving


– Proving that specific conditions can exist in execution
to manifest difficult bugs
– Z3, SMT-LIB

• Machine Learning

MBE - 05/12/2015 Future of Security & Exploitation 49


Lecture Overview
• Security
– Security Today
– Security Tomorrow
• Exploitation
– Exploitation Today
– Exploitation Tomorrow

MBE - 05/12/2015 Future of Security & Exploitation 50


DARPA’s Cyber Grand Challenge

MBE - 05/12/2015 Future of Security & Exploitation 51


DARPA’s Cyber Grand Challenge

[Link]
MBE - 05/12/2015 Future of Security & Exploitation 52
About CGC
• A challenge set forth by DARPA

• Can we develop a completely autonomous


system that is capable of…
– finding vulnerabilities (whitebox and blackbox)
– patching said vulnerabilities
– writing exploits for said vulnerabilities

• [Link]

MBE - 05/12/2015 Future of Security & Exploitation 53


Some CGC Competitors

MBE - 05/12/2015 Future of Security & Exploitation 54


Exploitation of Tomorrow
• The ‘Cyber Reasoning Systems’ being
developed by CGC competitors are quickly
pushing the envelope of bug discovery and
exploitation

MBE - 05/12/2015 Future of Security & Exploitation 55


Exploitation of Tomorrow
• The ‘Cyber Reasoning Systems’ being
developed by CGC competitors are quickly
pushing the envelope of bug discovery and
exploitation

• The technology behind them is likely to be


some smart fuzzers guided by taint analysis,
constraint solvers, and more

MBE - 05/12/2015 Future of Security & Exploitation 56

You might also like