+ All Categories
Home > Documents > TaintScope

TaintScope

Date post: 13-Jan-2016
Category:
Upload: thu
View: 46 times
Download: 2 times
Share this document with a friend
Description:
TaintScope. Presented by: Hector M Lugo-Cordero, MS CAP 6135 April 12, 2011. Acknowledgements. Authors: Tielei Wang, Tao Wei, Guofei Gu, Wei Zou Paper Title: TaintScope: A Checksum-Aware Directed Fuzzing Tool for Automatic Software Vulnerability Detection - PowerPoint PPT Presentation
Popular Tags:
26
TaintScope Presented by: Hector M Lugo-Cordero, MS CAP 6135 April 12, 2011
Transcript
Page 1: TaintScope

TaintScope

Presented by: Hector M Lugo-Cordero, MS

CAP 6135April 12, 2011

Page 2: TaintScope

2

Acknowledgements

• Authors: Tielei Wang, Tao Wei, Guofei Gu, Wei Zou

• Paper Title: TaintScope: A Checksum-Aware Directed Fuzzing Tool for Automatic Software Vulnerability Detection

• In Proceedings of the 31st IEEE Symposium on Security & Privacy, Oakland, CA, May 2010.

• Awarded Best Student Paper

Page 3: TaintScope

3

• Fuzz Testing

• TaintScope

• Performance

• Conclusions

OutlineOutline

Page 4: TaintScope

4

• Fuzz Testing

• TaintScope

• Performance

• Conclusions

OutlineOutline

Page 5: TaintScope

5

Fuzz Testing

• Attempt to crash or hang a program by feeding it malformed inputs

• Blackbox fuzzing– Generational– Mutation

Page 6: TaintScope

6

Fuzz Testing: Motivation

• Nobody is perfect

• Programs may be very large and dificult to test

• Find bugs to fix

• Exploit programs for malware

Page 7: TaintScope

7

Fuzz Testing: Challenges

• Random fuzzing has to cover a huge sample space– E.g. audio signal of 4s, 32k bytes

• 2256,000 possible values

• Symbolic fuzzing can’t bypass checksum instructions

Page 8: TaintScope

8

• Fuzz Testing

• TaintScope

• Performance

• Conclusions

OutlineOutline

Page 9: TaintScope

9

TaintScope

• Fuzzer that can bypass checksum– independent of the algorithm

• Concentrates on data flow dependence

• Uses IDA Pro Disassembler

• Works like a classifier

Page 10: TaintScope

10

TaintScope: How it Works

• Identify hot bytes in input– Bytes that affect API functions

• Memory management• String operations

– Input bytes are tainted with unique id

• Identify possible checksum points

Page 11: TaintScope

11

TaintScope: How it Works

• Well-formed inputs take a true/false path

• Malformed inputs take a false/true path

• Intersection yields the check points

• TaintScope creates bypass rules

Page 12: TaintScope

12

TaintScope: How it Works

• Fuzzer runs with bypass rules and mutates only hot bytes

• Crashes and hangs are recorded

Page 13: TaintScope

13

TaintScope: How it Works

• Crashed samples are repaired for replay– Checksum are corrected

• Type of vulnerability can be analyzed

Page 14: TaintScope

14

• Fuzz Testing

• TaintScope

• Performance

• Conclusions

OutlineOutline

Page 15: TaintScope

15

Performance: Hot Bytes

Page 16: TaintScope

16

Performance: Checksum

Page 17: TaintScope

17

Performance: Vulnerabilities

Page 18: TaintScope

18

What is accomplished?

• TaintScope has found vulnerabilities in popular programs (e.g. MS Paint, Adobe Acrobat, and more)

• Vendors have patched the software

• Vulnerabilities have been published in– Secunia– Common Vulnerabilities and Exposure

Page 19: TaintScope

19

MW Paint Search

Page 20: TaintScope

20

Adobe Acrobat Search

Page 21: TaintScope

21

• Fuzz Testing

• TaintScope

• Performance

• Conclusions

OutlineOutline

Page 22: TaintScope

22

Conclusions

• Fuzzer able to bypass checksum

• Works with Linux/Windows binaries

• 100% inputs cause crash or hang

• Low input samples

• Tested on many well-known applications and formats

Page 23: TaintScope

23

Weakness

• Doesn’t talk about code coverage

• Needs to run the program several times to find information of interest

• Can’t detect correctly checksums where data is encrypted with key-based algorithm

Page 24: TaintScope

24

Improvements

• Consider incorporating a tool like HyperNEAT – can learn search space patterns – work with encryption (e.g. DES S-Boxes)

• Dynamic update to reduce number of runs needed to build hot bytes/checksum information

Page 25: TaintScope

25

References

1. Tielei Wang’s website: http://sites.google.com/site/tieleiwang/

2. Month of Kernel Bugs: http://projects.info-pull.com/mokb/

3. Month Browsers Bug: http://browserfun.blogspot.com/4. Secunia: http://secunia.com/5. Comon Vulnerabilities and Exposure: http://

cve.mitre.org/6. IDA Disassembler: http://www.hex-rays.com/idapro/7. Google Images: http://images.google.com

Page 26: TaintScope

26

QUESTIONS


Recommended