SlideShare a Scribd company logo
Internet Explorer
Memory Protection
A Brief Overview
Agenda
• Introduction to Use-After-Free (UaF) vulnerabilities
• Exploiting UaF vulnerabilities
• UaF exploit mitigation through MemoryProtector
Why Focus on UaF ?
http://blog.tempest.com.br/breno-cunha/perspectives-on-exploit-development-and-cyber-attacks.html
UaF: An
Example
Dangling Pointer Dereference
B1 B2
Object
UaF: An Example
Vftable Intact
UaF: A Browser Example
MS13-080
UaF: A Browser Example
Light Page Heap overwrites free’d chunks with 0xf0
https://msdn.microsoft.com/en-us/library/ms220938%28v=vs.90%29.aspx
UaF: Exploitation
UaF: Exploitation
UaF: Exploitation – Object Re-use
Object
B1
B2
Function 1
Function 2
Function …
Vftable
Objectdelete b1 [Object Freed]
0x414141fill(16) [Re-use memory block]
0x414141
B2
b2->hello()
UaF: Exploitation - Browser
Fundamental Mitigations
• Non-executable Data Pages [NX]
– PageExec [PaX/Grsecurity]
– DEP [Windows]
– W ^ X [OpenBSD]
– […]
• Address Space Layout Randomization (ASLR)
Environment Specific Mitigations
• Windows
– SafeSEH, SEHOP
– Stack Protection
– Vftable Guard
– Control Flow Guard
– […]
• Internet Explorer
– Enhanced Protected Mode (EPM)
– Nozzle & Bubble
– Isolated Heap
– Memory Protector
– […]
Internet Explorer: Memory Protector
• Manage De-allocation / Free of important
DOM objects
– Overwrite the free’d object with NULL content
– Queue for “free” in a per-thread wait-list instead
of immediate free at heap manager level.
– Real/Heap free is executed during certain
conditions.
– Ensure no reference to object in thread stack
before actual free at heap manager level
This prevents immediate re-use of free’d objects
Internet Explorer: Memory Protector
• MemoryProtection::CMemoryProtector
– ProtectedFree
– MarkBlocks
– ReclaimUnmarkedBlocks
Application Free
HeapFree
Application Free
CMemoryProtector::
ProtectedFree
HeapFree
Before
With MemoryProtector
Internet Explorer: Memory Protector
• Protected Free
– Maintains a per-thread wait-list of freed memory.
– On certain bytes threshold, perform mark & sweep:
• Mark each with a reference (pointer) in thread stack
• Perform Heap Manager level free for each unmarked block
• Memory Reclamation / Unprotected Free
– During main thread’s message dispatch callback
• Long lived Use-after-Free vulnerabilities are still exploitable!
Questions ?
http://www.twitter.com/abh1sek
http://www.3slabs.com
https://github.com/abhisek/RandomCode/tree/master/Misc/ie_memprotector_nullblr
References
• http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/Efficacy-of-
MemoryProtection-against-use-after-free/ba-p/6556134#.VSeGDxOUenD
• https://www.corelan.be/index.php/2011/12/31/exploit-writing-tutorial-part-11-heap-
spraying-demystified/
• https://msdn.microsoft.com/en-us/library/ms220938%28v=vs.90%29.aspx
• http://securityintelligence.com/understanding-ies-new-exploit-mitigations-the-
memory-protector-and-the-isolated-heap/#.VS-JRxOUenA
• Yuki Chen – The Birth of a Complete IE 11 Exploit Under The New Exploit Mitigation

More Related Content

PPTX
IE memory protection Null meet april 2015
PDF
SSMF (Security Scope Metasploit Framework) - Course Syllabus
PPTX
Ruby on Rails Penetration Testing
PDF
Demystifying captcha Bangalore Meet April 18
PDF
Browser Exploit Framework
PPTX
The Shellshocker
PDF
Secuirty News Bytes-Bangalore may 2014
IE memory protection Null meet april 2015
SSMF (Security Scope Metasploit Framework) - Course Syllabus
Ruby on Rails Penetration Testing
Demystifying captcha Bangalore Meet April 18
Browser Exploit Framework
The Shellshocker
Secuirty News Bytes-Bangalore may 2014

Viewers also liked (14)

PDF
Owasp Mobile Top 10 – 2014
PPTX
Recon ng null meet April 2015
PDF
Owasp m7-m8-shivang nullmeetblr 21june2015
PPTX
Venom vulnerability Overview and a basic demo
PPTX
Rapid Android Application Security Testing
PDF
Metasploit Humla for Beginner
PPTX
Security Monitoring using SIEM null bangalore meet april 2015
PDF
OWASP Bangalore : OWTF demo : 13 Dec 2014
PDF
Tale of Forgotten Disclosure and Lesson learned
PDF
Owasp Mobile Risk M2 : Insecure Data Storage : null/OWASP/G4H Bangalore Aug 2014
PPTX
Owasp Mobile Risk Series : M4 : Unintended Data Leakage
PDF
Owasp Mobile Risk Series : M3 : Insufficient Transport Layer Protection
Owasp Mobile Top 10 – 2014
Recon ng null meet April 2015
Owasp m7-m8-shivang nullmeetblr 21june2015
Venom vulnerability Overview and a basic demo
Rapid Android Application Security Testing
Metasploit Humla for Beginner
Security Monitoring using SIEM null bangalore meet april 2015
OWASP Bangalore : OWTF demo : 13 Dec 2014
Tale of Forgotten Disclosure and Lesson learned
Owasp Mobile Risk M2 : Insecure Data Storage : null/OWASP/G4H Bangalore Aug 2014
Owasp Mobile Risk Series : M4 : Unintended Data Leakage
Owasp Mobile Risk Series : M3 : Insufficient Transport Layer Protection
Ad

Similar to IE Memory Protector (12)

PDF
Window Shopping Browser - Bug Hunting in 2012
PDF
Shake Hooves With BeEF - OWASP AppSec APAC 2012
PDF
U4Aide platform introduction_e_infocg_2020
PPT
DevTools
PDF
Faq websphere performance
PDF
2014 Pre-MSc-IS-2 Infrastructure
PPTX
From Web to Flux @DevoxxBE 2023.pptx
PDF
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
PDF
HTTP cache @ PUG Rome 03-29-2011
PDF
Owasp AppSecEU 2015 - BeEF Session
PDF
CanSecWest (1)
PDF
Null July - OWTF - Bharadwaj Machiraju
Window Shopping Browser - Bug Hunting in 2012
Shake Hooves With BeEF - OWASP AppSec APAC 2012
U4Aide platform introduction_e_infocg_2020
DevTools
Faq websphere performance
2014 Pre-MSc-IS-2 Infrastructure
From Web to Flux @DevoxxBE 2023.pptx
Smash the Stack: Writing a Buffer Overflow Exploit (Win32)
HTTP cache @ PUG Rome 03-29-2011
Owasp AppSecEU 2015 - BeEF Session
CanSecWest (1)
Null July - OWTF - Bharadwaj Machiraju
Ad

Recently uploaded (20)

PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Spectroscopy.pptx food analysis technology
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Machine learning based COVID-19 study performance prediction
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Approach and Philosophy of On baking technology
PPTX
Cloud computing and distributed systems.
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
Big Data Technologies - Introduction.pptx
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectroscopy.pptx food analysis technology
MYSQL Presentation for SQL database connectivity
Machine learning based COVID-19 study performance prediction
Per capita expenditure prediction using model stacking based on satellite ima...
“AI and Expert System Decision Support & Business Intelligence Systems”
Approach and Philosophy of On baking technology
Cloud computing and distributed systems.
Spectral efficient network and resource selection model in 5G networks
Big Data Technologies - Introduction.pptx
Building Integrated photovoltaic BIPV_UPV.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Digital-Transformation-Roadmap-for-Companies.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
A comparative analysis of optical character recognition models for extracting...
Encapsulation_ Review paper, used for researhc scholars
Advanced methodologies resolving dimensionality complications for autism neur...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Programs and apps: productivity, graphics, security and other tools
Mobile App Security Testing_ A Comprehensive Guide.pdf

IE Memory Protector

Editor's Notes

  • #15: On free, adds block in free’d list without actually free’ing at Heap Manager level. Fills with zero. At the time of sweep, free’s block only if there is no reference in stack