Bromium Confidential. CVE-2012-4969 IE CMshtmlEd UAF.

Slides:



Advertisements
Similar presentations
Ian Pratt SVP, Products Bromium Inc.
Advertisements

Smashing the Stack for Fun and Profit
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Memory Management Questions answered in this lecture: How do processes share memory? What is static relocation? What is dynamic relocation? What is segmentation?
Chapter 6 Limited Direct Execution
CMSC 414 Computer and Network Security Lecture 24 Jonathan Katz.
Day 11 Processes. Operating Systems Control Tables.
A. Frank - P. Weisberg Operating Systems Process Scheduling and Switching.
OS Spring’03 Introduction Operating Systems Spring 2003.
Process in Unix, Linux and Windows CS-3013 C-term Processes in Unix, Linux, and Windows CS-3013 Operating Systems (Slides include materials from.
Unix & Windows Processes 1 CS502 Spring 2006 Unix/Windows Processes.
Build Test Integrat e Deploy Develop Languages Frameworks Cloud and Infra Data platforms.
1 Process Description and Control Chapter 3 = Why process? = What is a process? = How to represent processes? = How to control processes?
1 Privacy Enhancing Technologies Elaine Shi Lecture 4 Principles of System Security slides partially borrowed from Jonathan Katz.
CSE 451: Operating Systems Autumn 2013 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Malicious Code Brian E. Brzezicki. Malicious Code (from Chapter 13 and 11)
Process in Unix, Linux, and Windows CS-3013 A-term Processes in Unix, Linux, and Windows CS-3013 Operating Systems (Slides include materials from.
Least-Privilege Isolation: The OKWS Web Server Brad Karp UCL Computer Science CS GZ03 / M th December, 2008.
Introduction: Exploiting Linux. Basic Concepts Vulnerability A flaw in a system that allows an attacker to do something the designer did not intend,
Chapter 4 Processes. Process: what is it? A program in execution A program in execution usually usually Can also have suspended or waiting processes Can.
CS 4010 Hacking Samba Server Vulnerabilities. Recon Telnet headers claim the following: –Red Hat Linux release 9 (Shrike) –Kernel smp on an i686.
1 Application Security: Electronic Commerce and Chapter 9 Copyright 2003 Prentice-Hall.
CNIT 127: Exploit Development Ch 3: Shellcode. Topics Protection rings Syscalls Shellcode nasm Assembler ld GNU Linker objdump to see contents of object.
Midterm Meeting Pete Bohman, Adam Kunk, Erik Shaw.
Improving Xen Security through Disaggregation Derek MurrayGrzegorz MilosSteven Hand.
Operating Systems Security
Part I The Basic Idea software sequence of instructions in memory logically divided in functions that call each other – function ‘IE’ calls function.
Host and Application Security Lesson 5: The Role of an OS.
CNIT 127: Exploit Development Ch 8: Windows Overflows Part 2.
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
JMU GenCyber Boot Camp Summer, “Canned” Exploits For many known vulnerabilities attackers do not have to write their own exploit code Many repositories.
Lecture 8 Page 1 CS 236, Spring 2008 Operating System Security CS 236 On-Line MS Program Networks and Systems Security Peter Reiher Spring, 2008.
Chapter 6 Limited Direct Execution Chien-Chung Shen CIS/UD
Exploiting & Defense Day 1 Recap
Trusted Computing and the Trusted Platform Module
Protecting Memory What is there to protect in memory?
Introduction to Information Security
Protecting Memory What is there to protect in memory?
Protecting Memory What is there to protect in memory?
Mechanism: Address Translation

Process Realization In OS
Virtualization overview
Processes in Unix, Linux, and Windows
CIT 480: Securing Computer Systems
Talk oscillates between deep and high views of security
Agenda Intro Why use containers at all? Linux Kernel: a pop of history
Processes in Unix, Linux, and Windows
Chapter 15, Exploring the Digital Domain
Security in a Container based World
Software Security Lesson Introduction
CSE 451: Operating Systems Spring 2012 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
Information Security Awareness
Lecture Topics: 11/1 General Operating System Concepts Processes
Hiding Malware Rootkits
Chien-Chung Shen CIS/UD
Sai Krishna Deepak Maram, CS 6410
SCONE: Secure Linux Containers Environments with Intel SGX
Processes in Unix, Linux, and Windows
Dynamic Memory And Objects
CSE 153 Design of Operating Systems Winter 2019
Understanding and Preventing Buffer Overflow Attacks in Unix
Mechanism: Address Translation
Least-Privilege Isolation: The OKWS Web Server
Protecting Browsers from Extension Vulnerabilities
Presentation transcript:

Bromium Confidential

CVE IE CMshtmlEd UAF

But did you ever wonder how we ended up here? And where are we going?

Bromium Confidential

Phun Profit/War Hacking For: 70s Now

strcpy(dst, src);

2006 brought VT-x 90s

Microcode updates should be signed… so this shouldn’t be a problem… Chip Vendor OS Vendor Your CPU after boot add ecx, ebx == many micro instructions

SEH func Stack Heap spray attack NOPs + Shellcode SEH

Smart Pointers

All dynamic Objects in IE Process Heap IE as of June 2014 User created Objs Critical IE Objs Process Heap Isolated Heap Heap Separation

HeapFree() Freed by Allocator Right away IE as of July 2014 Secure HeapFree() Put on List to be Freed later Based on heuristics Delay Free

Kernel Exploits Hypervise every process Least privilege

Robert Cailliau, Jean-François Abramatic and Tim Berners-Lee at the 10th anniversary of the WWW Consortium

Without a hypervisor, weakness is Kernel exploit or something like: /* shocker: docker PoC VMM-container breakout (C) 2014 Sebastian Krahmer * Demonstrates that any given docker image someone is asking * you to run in your docker setup can access ANY file on your host, * e.g. dumping hosts /etc/shadow or other sensitive info, compromising * security of the host and any other docker VM's on it.

while(this_side_of_heaven) { c = catalyst(war||commerce); //currently cyberwar fuels 0day fascination x = build(c); y = break(x); if( y && motivation) attack(); x = fix(x, y); c, x = rebuild_innovate(x, smaller, cheaper, complexity++, security); }

Bromium Confidential