Top Banner
Exploits and Mitigations Memory Corruption Techniques Sameer Patil CysInfo
16

Exploits & Mitigations - Memory Corruption Techniques

Jan 15, 2017

Download

Software

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Exploits & Mitigations - Memory Corruption Techniques

Exploits and MitigationsMemory Corruption Techniques

Sameer PatilCysInfo

Page 2: Exploits & Mitigations - Memory Corruption Techniques

Topics to cover

• Stack bof, DEP• ROP attacks and Mitigations• Heap Spray• Abusing vptrs• Use After Free• Flash exploitations• Heap Memory Management• Mitigations

Page 3: Exploits & Mitigations - Memory Corruption Techniques

Virtual Memory Mapping

Page 4: Exploits & Mitigations - Memory Corruption Techniques

Stack BOF

• EIP overwrite• Mitigation-> DEP

Page 5: Exploits & Mitigations - Memory Corruption Techniques

ROP Attack

• Defeat DEP• Shifting the stack location• Chain of small gadgets

Original

Stack

Attacker

Controlled

area

Stack Pivot

Page 6: Exploits & Mitigations - Memory Corruption Techniques

ROP Attack

CODE

0x02010000:pop eaxret...

0x02010020:pop ebxret...

0x02010030:add eax, ebxret...

ACTION

eax = 1

ebx = 2

eax = eax + ebx

Page 7: Exploits & Mitigations - Memory Corruption Techniques

ROP Mitigations

• ASLR• Stack limit check during API call (caller check)• API call using retn instruction• SimExecFlow

Page 8: Exploits & Mitigations - Memory Corruption Techniques

Heap Spray

• Introduced by skylined• Overwrite EIP• Payload-> NOP + shellcode

Page 9: Exploits & Mitigations - Memory Corruption Techniques

Virtual Functions and vptrs

Page 10: Exploits & Mitigations - Memory Corruption Techniques

Abusing vptrs

Page 11: Exploits & Mitigations - Memory Corruption Techniques

Use after Free

• Dangling pointer• Addref() to keep count of direct references• Vulnerability- Replace object with another

object

Page 12: Exploits & Mitigations - Memory Corruption Techniques

Flash Exploitation (CVE-2014-1776)

ROP chain

Page 13: Exploits & Mitigations - Memory Corruption Techniques

Heap Memory Management

• Front-End Allocators– LookAside Lists– Low Fragmentation Heap

• Back End Allocator– FreeLists

Page 14: Exploits & Mitigations - Memory Corruption Techniques

Mitigations

• Isolated Heap• MemoryProtect• Vector and bytearray objects hardening• ROP mitigations

Page 16: Exploits & Mitigations - Memory Corruption Techniques

Thank You!