SlideShare a Scribd company logo
1 of 59
Download to read offline
DIEHARDER:	
  
                                 SECURING	
  THE	
  HEAP	
  
                                 	
  
                                                                                   Gene	
  Novark	
  &	
  Emery	
  Berger	
  
                                                                                   University	
  of	
  Massachusetts,	
  
                                                                                   Amherst            	
  



[originally	
  presented	
  at	
  CCS	
  ASSACHUSETTS,	
  AMHERST	
  	
  •	
  	
  Department	
  of	
  Computer	
  Science	
  
                     UNIVERSITY	
  OF	
  M 2011]	
  
DieHard:	
  ProbabilisFc	
  Memory	
  Safety	
  
                                                   for	
  C/C++	
  Programs	
  [PLDI	
  2005]	
  



Direct	
  inspira4on	
  
for	
  Windows	
  7’s	
  
Fault-­‐Tolerant	
  
Heap	
  (2009)	
  




             UNIVERSITY	
  OF	
  MASSACHUSETTS,	
  AMHERST	
  	
  •	
  	
  Department	
  of	
  Computer	
  Science	
  
DieHard:	
  ProbabilisFc	
  Memory	
  Safety	
  
                                                   for	
  C/C++	
  Programs	
  [PLDI	
  2005]	
  



Direct	
  inspira4on	
  
for	
  Windows	
  7’s	
  
Fault-­‐Tolerant	
  
Heap	
  (2009)	
  




             UNIVERSITY	
  OF	
  MASSACHUSETTS,	
  AMHERST	
  	
  •	
  	
  Department	
  of	
  Computer	
  Science	
  
14	
  
15	
  
16	
  
17	
  
20	
  
23	
  
24	
  
25	
  
26	
  
27	
  
28	
  
29	
  
30	
  
31	
  
sensitive	
  
data	
  /	
  metadata	
  




                            32	
  
sensitive	
  
 data	
  /	
  metadata	
  



All data / metadata sensitive




                             33	
  
guard	
  /	
  unmapped	
  page
                             	
  




                                    34	
  
guard	
  /	
  unmapped	
  page
                             	
  




                                    35	
  
36	
  
37	
  
38	
  
Address-­‐space	
  layout	
  
randomization	
  




                                39	
  
object       free space




heap metadata
prev. object
              object     free space
   object size

heap  metadata  
(GNU  libc,  others)  
object   x   free space




heap metadata
object   x   free space




heap metadata
44	
  
45	
  
46	
  
47	
  
48	
  
49	
  
50	
  
≈ 4-5 bits of entropy




                   51	
  
52	
  
Maximal entropy:
log N bits (e.g., ≈ 25-30)




                      53	
  
54	
  
44.2 sec
44.2 sec   41.6 sec
DIEHARDER:	
  
    SECURING	
  THE	
  HEAP	
  
    	
  
                                                          Gene	
  Novark	
  &	
  Emery	
  Berger	
  
                                                          University	
  of	
  Massachusetts,	
  
                                                          Amherst               	
  



UNIVERSITY	
  OF	
  MASSACHUSETTS,	
  AMHERST	
  	
  •	
  	
  Department	
  of	
  Computer	
  Science	
  

More Related Content

Viewers also liked

15_11-18_PR_Traverse Announces Patent Issuance
15_11-18_PR_Traverse Announces Patent Issuance15_11-18_PR_Traverse Announces Patent Issuance
15_11-18_PR_Traverse Announces Patent Issuance
Joseph Scaduto
 
How to Create Creative Commons Licensing Buttons for Your Website
How to Create Creative Commons Licensing Buttons for Your Website  How to Create Creative Commons Licensing Buttons for Your Website
How to Create Creative Commons Licensing Buttons for Your Website
NET:101
 
The Impact of a Medical Device Recall
The Impact of a Medical Device RecallThe Impact of a Medical Device Recall
The Impact of a Medical Device Recall
Coverity
 

Viewers also liked (16)

Salud y seguridad de los trabajadores del sector salud.pdf
Salud y seguridad de los trabajadores del sector salud.pdfSalud y seguridad de los trabajadores del sector salud.pdf
Salud y seguridad de los trabajadores del sector salud.pdf
 
15_11-18_PR_Traverse Announces Patent Issuance
15_11-18_PR_Traverse Announces Patent Issuance15_11-18_PR_Traverse Announces Patent Issuance
15_11-18_PR_Traverse Announces Patent Issuance
 
Lab safety 12_10_13
Lab safety 12_10_13Lab safety 12_10_13
Lab safety 12_10_13
 
Lectura taller virtual los dos gallos
Lectura taller virtual los dos gallosLectura taller virtual los dos gallos
Lectura taller virtual los dos gallos
 
How to Create Creative Commons Licensing Buttons for Your Website
How to Create Creative Commons Licensing Buttons for Your Website  How to Create Creative Commons Licensing Buttons for Your Website
How to Create Creative Commons Licensing Buttons for Your Website
 
Finding a job using social media
Finding a job using social mediaFinding a job using social media
Finding a job using social media
 
Hands-On LinkedIn for Beginners
Hands-On LinkedIn for BeginnersHands-On LinkedIn for Beginners
Hands-On LinkedIn for Beginners
 
The Impact of a Medical Device Recall
The Impact of a Medical Device RecallThe Impact of a Medical Device Recall
The Impact of a Medical Device Recall
 
hidayath cv 2016
hidayath cv 2016hidayath cv 2016
hidayath cv 2016
 
LINK UP - How your business can benefit from LinkedIn
LINK UP - How your business can benefit from LinkedInLINK UP - How your business can benefit from LinkedIn
LINK UP - How your business can benefit from LinkedIn
 
Securing the Infrastructure and the Workloads of Linux Containers
Securing the Infrastructure and the Workloads of Linux ContainersSecuring the Infrastructure and the Workloads of Linux Containers
Securing the Infrastructure and the Workloads of Linux Containers
 
shahid shabbir cv
shahid shabbir cvshahid shabbir cv
shahid shabbir cv
 
Walmart
WalmartWalmart
Walmart
 
Banja Luka
Banja LukaBanja Luka
Banja Luka
 
Presentacion de educación en México
Presentacion de educación en MéxicoPresentacion de educación en México
Presentacion de educación en México
 
BNI Lake Business Builders- LOZ Vice President report
BNI Lake Business Builders- LOZ Vice President reportBNI Lake Business Builders- LOZ Vice President report
BNI Lake Business Builders- LOZ Vice President report
 

More from Emery Berger

Dthreads: Efficient Deterministic Multithreading
Dthreads: Efficient Deterministic MultithreadingDthreads: Efficient Deterministic Multithreading
Dthreads: Efficient Deterministic Multithreading
Emery Berger
 
Programming with People
Programming with PeopleProgramming with People
Programming with People
Emery Berger
 
Stabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance EvaluationStabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance Evaluation
Emery Berger
 
Operating Systems - Advanced File Systems
Operating Systems - Advanced File SystemsOperating Systems - Advanced File Systems
Operating Systems - Advanced File Systems
Emery Berger
 
Operating Systems - Queuing Systems
Operating Systems - Queuing SystemsOperating Systems - Queuing Systems
Operating Systems - Queuing Systems
Emery Berger
 
Operating Systems - Distributed Parallel Computing
Operating Systems - Distributed Parallel ComputingOperating Systems - Distributed Parallel Computing
Operating Systems - Distributed Parallel Computing
Emery Berger
 
Operating Systems - Concurrency
Operating Systems - ConcurrencyOperating Systems - Concurrency
Operating Systems - Concurrency
Emery Berger
 
Operating Systems - Advanced Synchronization
Operating Systems - Advanced SynchronizationOperating Systems - Advanced Synchronization
Operating Systems - Advanced Synchronization
Emery Berger
 

More from Emery Berger (20)

Doppio: Breaking the Browser Language Barrier
Doppio: Breaking the Browser Language BarrierDoppio: Breaking the Browser Language Barrier
Doppio: Breaking the Browser Language Barrier
 
Dthreads: Efficient Deterministic Multithreading
Dthreads: Efficient Deterministic MultithreadingDthreads: Efficient Deterministic Multithreading
Dthreads: Efficient Deterministic Multithreading
 
Programming with People
Programming with PeopleProgramming with People
Programming with People
 
Stabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance EvaluationStabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance Evaluation
 
Operating Systems - Advanced File Systems
Operating Systems - Advanced File SystemsOperating Systems - Advanced File Systems
Operating Systems - Advanced File Systems
 
Operating Systems - File Systems
Operating Systems - File SystemsOperating Systems - File Systems
Operating Systems - File Systems
 
Operating Systems - Networks
Operating Systems - NetworksOperating Systems - Networks
Operating Systems - Networks
 
Operating Systems - Queuing Systems
Operating Systems - Queuing SystemsOperating Systems - Queuing Systems
Operating Systems - Queuing Systems
 
Operating Systems - Distributed Parallel Computing
Operating Systems - Distributed Parallel ComputingOperating Systems - Distributed Parallel Computing
Operating Systems - Distributed Parallel Computing
 
Operating Systems - Concurrency
Operating Systems - ConcurrencyOperating Systems - Concurrency
Operating Systems - Concurrency
 
Operating Systems - Advanced Synchronization
Operating Systems - Advanced SynchronizationOperating Systems - Advanced Synchronization
Operating Systems - Advanced Synchronization
 
Operating Systems - Synchronization
Operating Systems - SynchronizationOperating Systems - Synchronization
Operating Systems - Synchronization
 
Processes and Threads
Processes and ThreadsProcesses and Threads
Processes and Threads
 
Virtual Memory and Paging
Virtual Memory and PagingVirtual Memory and Paging
Virtual Memory and Paging
 
Operating Systems - Virtual Memory
Operating Systems - Virtual MemoryOperating Systems - Virtual Memory
Operating Systems - Virtual Memory
 
MC2: High-Performance Garbage Collection for Memory-Constrained Environments
MC2: High-Performance Garbage Collection for Memory-Constrained EnvironmentsMC2: High-Performance Garbage Collection for Memory-Constrained Environments
MC2: High-Performance Garbage Collection for Memory-Constrained Environments
 
Vam: A Locality-Improving Dynamic Memory Allocator
Vam: A Locality-Improving Dynamic Memory AllocatorVam: A Locality-Improving Dynamic Memory Allocator
Vam: A Locality-Improving Dynamic Memory Allocator
 
Quantifying the Performance of Garbage Collection vs. Explicit Memory Management
Quantifying the Performance of Garbage Collection vs. Explicit Memory ManagementQuantifying the Performance of Garbage Collection vs. Explicit Memory Management
Quantifying the Performance of Garbage Collection vs. Explicit Memory Management
 
Garbage Collection without Paging
Garbage Collection without PagingGarbage Collection without Paging
Garbage Collection without Paging
 
DieHard: Probabilistic Memory Safety for Unsafe Languages
DieHard: Probabilistic Memory Safety for Unsafe LanguagesDieHard: Probabilistic Memory Safety for Unsafe Languages
DieHard: Probabilistic Memory Safety for Unsafe Languages
 

Recently uploaded

Recently uploaded (20)

TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 

DieHarder (CCS 2010, WOOT 2011)