Eugene Tsyrklevich. Ozone HIPS: Unbreakable Windows



Similar documents
Attacking Host Intrusion Prevention Systems. Eugene Tsyrklevich

I Control Your Code Attack Vectors Through the Eyes of Software-based Fault Isolation. Mathias Payer, ETH Zurich

Abstract. 1. Introduction. 2. Threat Model

5 Steps to Advanced Threat Protection

Defense in Depth: Protecting Against Zero-Day Attacks

Host-based Intrusion Prevention System (HIPS)

Reverse Engineering and Computer Security

Chapter 15 Operating System Security

Application Intrusion Detection

Sandy. The Malicious Exploit Analysis. Static Analysis and Dynamic exploit analysis. Garage4Hackers

Windows Server Virtualization & The Windows Hypervisor

Security. Definitions

Fine-Grained User-Space Security Through Virtualization. Mathias Payer and Thomas R. Gross ETH Zurich

Network Threats and Vulnerabilities. Ed Crowley

Threat Modeling. Frank Piessens ) KATHOLIEKE UNIVERSITEIT LEUVEN

Cyber Security In High-Performance Computing Environment Prakashan Korambath Institute for Digital Research and Education, UCLA July 17, 2014

Title: Bugger The Debugger - Pre Interaction Debugger Code Execution

Adjusting Prevention Policy Options Based on Prevention Events. Version 1.0 July 2006

Secure Software Programming and Vulnerability Analysis

Exploitation of Windows 8 Metro Style Apps. The Subway Line 8. Ming-chieh Pan (Nanika) Sung-ting Tsai (TT)

How to Sandbox IIS Automatically without 0 False Positive and Negative

McAfee Deep Safe. Security beyond the OS. Kai-Ping Seidenschnur Senior Security Engineer. October 16, 2012

Windows Operating Systems. Basic Security

CORE SECURITY. Exploiting Adobe Flash Player in the era of Control Flow Guard. Francisco Falcon Black Hat Europe 2015 November 12-13, 2015

Virtualization System Security

Bypassing Memory Protections: The Future of Exploitation

Host Hardening. Presented by. Douglas Couch & Nathan Heck Security Analysts for ITaP 1

Advanced Endpoint Protection Overview

MALWARE THREATS AND TRENDS. Chris Blow, Director Dustin Hutchison, Director

The Value of Physical Memory for Incident Response

Betriebssysteme KU Security

Penetration Testing Using The Kill Chain Methodology

Sandbox Roulette: Are you ready for the gamble?

Plain English Guide To Common Criteria Requirements In The. Field Device Protection Profile Version 0.75

Web Engineering Web Application Security Issues

Example of Standard API

Software Vulnerability Exploitation Trends. Exploring the impact of software mitigations on patterns of vulnerability exploitation

VICE Catch the hookers! (Plus new rootkit techniques) Jamie Butler Greg Hoglund

Malicious Programs. CEN 448 Security and Internet Protocols Chapter 19 Malicious Software

Custom Penetration Testing

UNCLASSIFIED Version 1.0 May 2012

Host-based Intrusion Prevention on Windows and UNIX. Dr. Rich Murphey White Oak Labs

Homeland Security Red Teaming

CS 356 Lecture 25 and 26 Operating System Security. Spring 2013

CS5460: Operating Systems

INTRUSION DETECTION SYSTEMS and Network Security

DEFENSE THROUGHOUT THE VULNERABILITY LIFE CYCLE WITH ALERT LOGIC THREAT AND LOG MANAGER

ERNW Newsletter 51 / September 2015

BM482E Introduction to Computer Security

Securing OS Legacy Systems Alexander Rau

Optimizing Windows Security Features to Block Malware and Hack Tools on USB Storage Devices

Republic Polytechnic School of Information and Communications Technology C226 Operating System Concepts. Module Curriculum

Security: Attack and Defense

Software security. Buffer overflow attacks SQL injections. Lecture 11 EIT060 Computer Security

Bypassing Browser Memory Protections in Windows Vista

CompTIA Security+ (Exam SY0-410)

CMSC 421, Operating Systems. Fall Security. URL: Dr. Kalpakis

The Sandbox Roulette: are you ready to gamble? Rafal Wojtczuk Rahul Kashyap

Analysis of advanced issues in mobile security in android operating system

UNDERSTANDING AND DEPLOYING HOST-BASED INTRUSION PREVENTION TECHNOLOGY

Chapter 9 Firewalls and Intrusion Prevention Systems

Software Vulnerabilities

Chapter 5 Cloud Resource Virtualization

Why should I care about PDF application security?

Fighting Advanced Persistent Threats (APT) with Open Source Tools

What is Web Security? Motivation

Security for Mac Computers in the Enterprise

International Journal of Computer Science and Network (IJCSN) Volume 1, Issue 5, October ISSN Bhopal, M.P.

Certified Ethical Hacker (CEH)

3. Broken Account and Session Management. 4. Cross-Site Scripting (XSS) Flaws. Web browsers execute code sent from websites. Account Management

Using a Patched Vulnerability to Bypass Windows 8 x64 Driver Signature Enforcement. MJ0011 th_decoder@126.com

Malicious Software. Ola Flygt Växjö University, Sweden Viruses and Related Threats

Total Defense Endpoint Premium r12

Stephen Coty Director, Threat Research

Host/Platform Security. Module 11

Lecture Overview. INF3510 Information Security Spring Lecture 4 Computer Security. Meaningless transport defences when endpoints are insecure

Fighting Advanced Persistent Threats (APT) with Open Source Tools

SkyRecon Cryptographic Module (SCM)

OWASP and OWASP Top 10 (2007 Update) OWASP. The OWASP Foundation. Dave Wichers. The OWASP Foundation. OWASP Conferences Chair

Safety measures in Linux

Virtual Machines and Security Paola Stone Martinez East Carolina University November, 2013.

CSE331: Introduction to Networks and Security. Lecture 32 Fall 2004

Computer Security: Principles and Practice

A Systems Engineering Approach to Developing Cyber Security Professionals

Hands-on Hacking Unlimited

Application Denial of Service Is it Really That Easy?

Transparent Monitoring of a Process Self in a Virtual Environment

How To Use Powerhell For Security Research

Hi and welcome to the Microsoft Virtual Academy and

Computer Forensics Training - Digital Forensics and Electronic Discovery (Mile2)

Practical Mac OS X Insecurity. Security Concepts, Problems and Exploits on your Mac

Transcription:

Eugene Tsyrklevich Eugene Tsyrklevich has an extensive security background ranging from designing and implementing Host Intrusion Prevention Systems to training people in research, corporate, and military environments. Eugene has presented his research at a number of security conferences including Usenix Security, BlackHat Europe and BlackHat USA. Eugene holds both a Bachelor and a Masters degree in Computer Science from the University of California, San Diego. Ozone HIPS: Unbreakable Windows Windows is the number one target on the Internet today. It takes less than 5 minutes for an unpatched Windows machine, connected to the Internet, to get owned. Yet the most prevalent security practices still consist of running anti-viruses and constant patching. This presentation introduces a new tool, called Ozone, that is designed to protect against most of the commonly exploited attack vectors. To protect against the most common of these, buffer overflows, Ozone uses an address space randomization technique. In addition, Ozone runs all processes in a sandbox that severely limits what a compromised process is allowed to do. Finally, Ozone protects itself and the underlying operating system against further attacks. black hat briefings

Ozone HIPS: Unbreakable Windows Eugene Tsyrklevich Agenda Memory Protection Process Protection System/OS Protection Ozone s self protection Demonstration black hat briefings

black hat briefings Attack Scenario Stage 1 The first step in a typical attack involves gaining remote access to a system Usually achieved by means of a remote buffer overflow Solution: buffer overflow protection + process sandboxing Attack Scenario Stage 2 Once remote access is gained, attackers usually clean the logs, trojan the system and install rootkits Achieved by tampering with system logs and binaries and by loading unauthorized malicious code Solution: disallow tampering with system resources and/or disallow loading of unauthorized code

Memory Protection The memory protection layer is responsible for guarding against attacks that hijack execution by corrupting memory These include Buffer overflows (stack and heap based) Format bugs Function pointer overwrites Other data corruption Exploiting Memory Bugs The majority of memory corruption attacks involve 1. Injecting a malicious payload 2. Transferring control to it We cannot prevent payload injection but can prevent attackers from gaining control black hat briefings

black hat briefings Stopping Memory Exploits Writable page execution (Entercept) Canary / compiler based solutions (StackGuard, ProPolice) Address Space Randomization (PaX, Ozone) Many, many others Address Space Randomization Address Space Randomization involves randomizing the base addresses of various data structures, such as stack, heap, libraries, code segment, etc As the address space layout of each instance of an application is different from the next, all exploits depending on static addresses will stop working

ASR Illustration ASR Implementation Details Stack and heap randomization Has 0% overhead Provides ~16 bits of entropy Does not break any sane applications Runtime DLL randomization Has an upfront CPU cost (time to relocate) plus some memory overhead (DLL code is not shared any longer) Provides ~14 bits of entropy Might break certain apps black hat briefings

black hat briefings ASR Implementation Challenges Win32 loader prevents kernel32.dll (and user32.dll) from being rebased because BaseProcessEntry address is copied from one process to another during CreateProcess() BaseProcessEntry() address can be adjusted at runtime and the loader can be tricked Ntdll.dll is loaded at bootup time and then mapped into each process Ntdll.dll can be statically rebased. Runtime solutions are being investigated. ASR Implementation Challenges (2) As an optimization, Win32 compilers do not include relocation information for executables. This means that.text segments cannot easily be relocated. Possible solutions: Force compilers to include relocation info Relocate and rewrite the binary manually ASR turns buffer overflows into Denial of Service which might not be acceptable for all applications

ASR Conclusion ASR involves randomizing the base addresses of all memory regions, including stack, heap, DLL and executable ASR does not provide a 100% guarantee against all memory based attacks ASR can provide additional security with little overhead ASK stack and heap randomization (at least) should be included in a stock OS Process Protection To provide further protection against a variety of attack vectors, the process protection layer is responsible for executing all processes inside the sandbox The sandbox enforces process rules from kernel mode and cannot be bypassed The sandbox mediates access to all system resources (~20 types), which a process might need to access black hat briefings

black hat briefings Policy Engine Sandboxes are described by policy files A policy file is a collection of rules specified in a text file Policy Hierarchy

Policy Example # run ITunes & Skype concurrently with SoftICE file_all: name eq "\Device\Siwvid" then deny registry_read: name match **\secret then quietdeny dll_load: log driver_load: deny process_execute: name eq ok.exe then permit network_tcpconnect: name eq 127.0.0.1 then permit # act as a personal firewall network_all: ask Deny all policy Policy Types process_execute: name eq ok.exe then permit process_execute: deny Allow all policy process_execute: name eq bad.exe then deny process_execute: permit black hat briefings

black hat briefings Manual Policy Creation Suitable for allow all policies where only known malicious resources are denied access to As the name implies, an administrator manually specifies all the necessary rules Automatic Suitable for deny all policies where only a known good subset of resources is allowed access to Automatically generated by monitoring process behavior Process Protection Challenges Svchost.exe/dllhost.exe host applications IE policy: protection_all: off Finally, spot 2 issues in the screenshot below of Acrobat.exe s loaded DLL list that make sandboxing on Windows such a challenging task..

Protection Protection Conclusion All processes are executed inside a sandbox, which is enforced from kernel mode and cannot be bypassed Sandbox mechanism controls access to all named system resources Sandboxes are described using text files which list access rules to all specified resources System Protection The system protection layer is designed to harden the underlying operating system This is achieved by protecting the integrity of static and dynamic core OS binaries & registry keys In addition, malicious or potentially exploitable features such as debugging, DOS16 emulation, keyboard loggers and kernel driver loading can be disallowed Finally, access to removable media can also be restricted black hat briefings

black hat briefings System Protection Policy Example protection_debugging: on protection_dos16: on protection_keyboard: on time_change: log token_modify: permit media_access: readonly System Protection Challenges Legitimate applications require loading of kernel code drivers Windows security patches regularly overwrite/update core OS resources

System Protection Conclusion The system protection layer is responsible for protecting the underlying operating system This is achieved by protecting the core file and registry resources In addition, dangerous functionality such as debugging, dos16 emulation, keyboard logging and removable media access, can all be restricted Self Protection As the name states, the self protection layer is responsible for protecting Ozone itself To achieve this, all the core components such as userland services and kernel mode drivers cannot be stopped or unloaded In addition, kernel code drivers cannot be loaded to prevent further attacks All the security rules are enforced from the kernel mode and cannot be bypassed by userland processes black hat briefings

black hat briefings Conclusions Modern systems are subject to a number of powerful attacks which no single mechanism/technique can prevent To address this issue, Ozone was designed with a security in depth principle in mind Ozone consists of multiple layers designed to stop a variety of attack vectors ranging from remote memory based attacks to local privilege escalation Conclusions (2) The memory layer uses an ASR technique to prevent memory based attacks The protection layer uses a sandbox mechanism to protect against a variety of attack vectors The system protection layer hardens the underlying operating system Ozone is also designed to protect itself against malicious behaviour

Any questions? Demo Thanks black hat briefings