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 list instead of
immediate free at heap manager level.
– Real/Heap free is executed during certain
conditions.
– Ensure no reference to object in 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
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

More Related Content

PPTX
IE Memory Protector
PDF
SSMF (Security Scope Metasploit Framework) - Course Syllabus
PPTX
Identifying XSS Vulnerabilities
PPTX
PDF
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...
PDF
Window Shopping Browser - Bug Hunting in 2012
IE Memory Protector
SSMF (Security Scope Metasploit Framework) - Course Syllabus
Identifying XSS Vulnerabilities
Nullcon Goa 2016 - Automated Mobile Application Security Testing with Mobile ...
Window Shopping Browser - Bug Hunting in 2012

Similar to IE memory protection Null meet april 2015 (11)

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
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

More from n|u - The Open Security Community (20)

PDF
Hardware security testing 101 (Null - Delhi Chapter)
PPTX
SSRF exploit the trust relationship
PDF
PDF
Api security-testing
PDF
Introduction to TLS 1.3
PDF
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
PDF
Talking About SSRF,CRLF
PPTX
Building active directory lab for red teaming
PPTX
Owning a company through their logs
PPTX
Introduction to shodan
PDF
Detecting persistence in windows
PPTX
Frida - Objection Tool Usage
PDF
OSQuery - Monitoring System Process
PDF
DevSecOps Jenkins Pipeline -Security
PDF
Extensible markup language attacks
PPTX
PDF
Hardware security testing 101 (Null - Delhi Chapter)
SSRF exploit the trust relationship
Api security-testing
Introduction to TLS 1.3
Gibson 101 -quick_introduction_to_hacking_mainframes_in_2020_null_infosec_gir...
Talking About SSRF,CRLF
Building active directory lab for red teaming
Owning a company through their logs
Introduction to shodan
Detecting persistence in windows
Frida - Objection Tool Usage
OSQuery - Monitoring System Process
DevSecOps Jenkins Pipeline -Security
Extensible markup language attacks
Ad

Recently uploaded (20)

PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
project resource management chapter-09.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
A Presentation on Artificial Intelligence
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Encapsulation theory and applications.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
August Patch Tuesday
PDF
WOOl fibre morphology and structure.pdf for textiles
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Tartificialntelligence_presentation.pptx
Accuracy of neural networks in brain wave diagnosis of schizophrenia
1 - Historical Antecedents, Social Consideration.pdf
project resource management chapter-09.pdf
Approach and Philosophy of On baking technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
SOPHOS-XG Firewall Administrator PPT.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
A Presentation on Artificial Intelligence
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Unlocking AI with Model Context Protocol (MCP)
Assigned Numbers - 2025 - Bluetooth® Document
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Encapsulation theory and applications.pdf
A comparative analysis of optical character recognition models for extracting...
NewMind AI Weekly Chronicles - August'25-Week II
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
August Patch Tuesday
WOOl fibre morphology and structure.pdf for textiles

IE memory protection Null meet april 2015

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