Vulnerability-Specific Execution Filtering (VSEF) for Exploit Prevention on Commodity Software Authors: James Newsome, James Newsome, David Brumley, David.

Slides:



Advertisements
Similar presentations
ROP is Still Dangerous: Breaking Modern Defenses Nicholas Carlini et. al University of California, Berkeley USENIX Security 2014 Presenter: Yue Li Part.
Advertisements

Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Computer Security: Principles and Practice EECS710: Information Security Professor Hossein Saiedian Fall 2014 Chapter 10: Buffer Overflow.
Mobile Code Security Aviel D. Rubin, Daniel E. Geer, Jr. MOBILE CODE SECURITY, IEEE Internet Computing, 1998 Minkyu Lee
Dynamic Taint Analysis for Automatic Detection, Analysis, and Signature Generation of Exploits on Commodity Software Paper by: James Newsome and Dawn Song.
SMU SRG reading by Tey Chee Meng: Automatic Patch-Based Exploit Generation is Possible: Techniques and Implications by David Brumley, Pongsin Poosankam,
David Brumley, Pongsin Poosankam, Dawn Song and Jiang Zheng Presented by Nimrod Partush.
Bouncer securing software by blocking bad input Miguel Castro Manuel Costa, Lidong Zhou, Lintao Zhang, and Marcus Peinado Microsoft Research.
Software Fault Injection for Survivability Jeffrey M. Voas & Anup K. Ghosh Presented by Alison Teoh.
By Philipp Vogt, Florian Nentwich, Nenad Jovanovic, Engin Kirda, Christopher Kruegel, and Giovanni Vigna Network and Distributed System Security(NDSS ‘07)
Linear Obfuscation to Combat Symbolic Execution Zhi Wang 1, Jiang Ming 2, Chunfu Jia 1 and Debin Gao 3 1 Nankai University 2 Pennsylvania State University.
Secure web browsers, malicious hardware, and hardware support for binary translation Sam King.
Using Programmer-Written Compiler Extensions to Catch Security Holes Authors: Ken Ashcraft and Dawson Engler Presented by : Hong Chen CS590F 2/7/2007.
19.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 19: Security The Security Problem Authentication Program Threats.
TaintCheck and LockSet LBA Reading Group Presentation by Shimin Chen.
An Integrated Framework for Dependable Revivable Architectures Using Multi-core Processors Weiding Shi, Hsien-Hsin S. Lee, Laura Falk, and Mrinmoy Ghosh.
seminar on Intrusion detection system
Internet Quarantine: Requirements for Containing Self-Propagating Code David Moore et. al. University of California, San Diego.
1 RAKSHA: A FLEXIBLE ARCHITECTURE FOR SOFTWARE SECURITY Computer Systems Laboratory Stanford University Hari Kannan, Michael Dalton, Christos Kozyrakis.
Game-based Analysis of Denial-of- Service Prevention Protocols Ajay Mahimkar Class Project: CS 395T.
INTRUSION DETECTION SYSTEMS Tristan Walters Rayce West.
Address Obfuscation: An Efficient Approach to Combat a Broad Range of Memory Error Exploits Sandeep Bhatkar, Daniel C. DuVarney, and R. Sekar Stony Brook.
Secure Embedded Processing through Hardware-assisted Run-time Monitoring Zubin Kumar.
Vulnerability-Specific Execution Filtering (VSEF) for Exploit Prevention on Commodity Software Authors: James Newsome, James Newsome, David Brumley, David.
Packet Vaccine: Blackbox Exploit Detection and Signature Generation Authors: XiaoFeng Wang Zhuowei Li Jong Youl Choi School of Informatics, Indiana University.
Stamping out worms and other Internet pests Miguel Castro Microsoft Research.
Preventing SQL Injection Attacks in Stored Procedures Alex Hertz Chris Daiello CAP6135Dr. Cliff Zou University of Central Florida March 19, 2009.
Michael Ernst, page 1 Collaborative Learning for Security and Repair in Application Communities Performers: MIT and Determina Michael Ernst MIT Computer.
Computer Science Open Research Questions Adversary models –Define/Formalize adversary models Need to incorporate characteristics of new technologies and.
Analyzing and Detecting Network Security Vulnerability Weekly report 1Fan-Cheng Wu.
Computer Security and Penetration Testing
BLENDED ATTACKS EXPLOITS, VULNERABILITIES AND BUFFER-OVERFLOW TECHNIQUES IN COMPUTER VIRUSES By: Eric Chien and Peter Szor Presented by: Jesus Morales.
1 Vulnerability Analysis and Patches Management Using Secure Mobile Agents Presented by: Muhammad Awais Shibli.
Automatic Diagnosis and Response to Memory Corruption Vulnerabilities Authors: Jun Xu, Peng Ning, Chongkyung Kil, Yan Zhai, Chris Bookholt In ACM CCS’05.
FIREWALLS Vivek Srinivasan. Contents Introduction Need for firewalls Different types of firewalls Conclusion.
CSC-682 Cryptography & Computer Security Sound and Precise Analysis of Web Applications for Injection Vulnerabilities Pompi Rotaru Based on an article.
EECS 583 – Class 21 Research Topic 3: Dynamic Taint Analysis University of Michigan December 5, 2012.
Branch Regulation: Low-Overhead Protection from Code Reuse Attacks.
Vigilante: End-to-End Containment of Internet Worms Authors : M. Costa, J. Crowcroft, M. Castro, A. Rowstron, L. Zhou, L. Zhang, and P. Barham In Proceedings.
Defending Browsers against Drive-by Downloads:Mitigating Heap-Spraying Code Injection Attacks Authors:Manuel Egele, Peter Wurzinger, Christopher Kruegel,
Presented by Spiros Antonatos Distributed Computing Systems Lab Institute of Computer Science FORTH.
Jose Sanchez 1 o Tielei Wang†, TaoWei†, Zhiqiang Lin‡, Wei Zou†. o Purdue University & Peking University o Proceedings of NDSS'09: Network and Distributed.
Automatic Diagnosis and Response to Memory Corruption Vulnerabilities Presenter: Jianyong Dai Jun Xu, Peng Ning, Chongkyung Kil, Yan Zhai, Chris Bookhot.
Christopher Kruegel University of California Engin Kirda Institute Eurecom Clemens Kolbitsch Thorsten Holz Secure Systems Lab Vienna University of Technology.
CSCE 522 Secure Software Development Best Practices.
1 ITGD 2202 Supervision:- Assistant Professor Dr. Sana’a Wafa Al-Sayegh Dr. Sana’a Wafa Al-SayeghStudent: Anwaar Ahmed Abu-AlQumboz.
Stamping out worms and other Internet pests Miguel Castro Microsoft Research.
Presented by: Reem Alshahrani. Outlines What is Virtualization Virtual environment components Advantages Security Challenges in virtualized environments.
DETECTING TARGETED ATTACKS USING SHADOW HONEYPOTS AUTHORS: K. G. Anagnostakisy, S. Sidiroglouz, P. Akritidis, K. Xinidis, E. Markatos, A. D. Keromytisz.
Polygraph: Automatically Generating Signatures for Polymorphic Worms James Newsome, Brad Karp, and Dawn Song Carnegie Mellon University Presented by Ryan.
Cryptography and Network Security Sixth Edition by William Stallings.
nd Joint Workshop between Security Research Labs in JAPAN and KOREA Polymorphic Worm Detection by Instruction Distribution Kihun Lee HPC Lab., Postech.
Introduction Program File Authorization Security Theorem Active Code Authorization Authorization Logic Implementation considerations Conclusion.
SAFEWARE System Safety and Computers Chap18:Verification of Safety Author : Nancy G. Leveson University of Washington 1995 by Addison-Wesley Publishing.
Dynamic Taint Analysis for Automatic Detection, Analysis, and Signature Generation of Exploits on Commodity Software Paper by: James Newsome and Dawn Song.
Virtualized Execution Realizing Network Infrastructures Enhancing Reliability Application Communities PI Meeting Arlington, VA July 10, 2007.
The Potential of Sampling for Dynamic Analysis Joseph L. GreathouseTodd Austin Advanced Computer Architecture Laboratory University of Michigan PLAS, San.
Application Communities Phase 2 (AC2) Project Overview Nov. 20, 2008 Greg Sullivan BAE Systems Advanced Information Technologies (AIT)
MOPS: an Infrastructure for Examining Security Properties of Software Authors Hao Chen and David Wagner Appears in ACM Conference on Computer and Communications.
Automatic Diagnosis and Response to Memory Corruption Vulnerabilities Authors: Jun Xu, Peng Ning, Chongkyung Kil, Yan Zhai, Chris Bookholt Cyber Defense.
Exploitation Development and Implementation PRESENTER: BRADLEY GREEN.
Zero Day Attacks Jason Kephart. Purpose The purpose of this presentation is to describe Zero-Day attacks, stress the danger they pose for computer security.
HIPS. Host-Based Intrusion Prevention Systems  One of the major benefits to HIPS technology is the ability to identify and stop known and unknown attacks,
Internet Quarantine: Requirements for Containing Self-Propagating Code
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
TriggerScope: Towards Detecting Logic Bombs in Android Applications
POLYGRAPH: Automatically Generating Signatures for Polymorphic Worms
Testing and Debugging PPT By :Dr. R. Mall.
CSC-682 Advanced Computer Security
Operating System Concepts
Presentation transcript:

Vulnerability-Specific Execution Filtering (VSEF) for Exploit Prevention on Commodity Software Authors: James Newsome, James Newsome, David Brumley, David Brumley, and Dawn Song and Dawn Song Publisher: Network and Distributed Systems Security Symposium (NDSS), 2006 Presented by: Chowdhury, Abu Rahat Chowdhury, Abu Rahat

Today’s Outline The Authors and their Problem Statements Intro to VSEF & its Architecture : Taint Based VSEF. Destination Based VSEF. Performance and Implementation Comments.

Dawn Song Assistant Professor Computer Science Division University of California, Berkeley Current Research Projects and Thrusts BitBlaze: Binary analysis for COTS protection and malicious code defense Seaglass: Cryptographic constructions for secure, privacy-preserving distributed information sharing Networking Security Using Machine Learning Jim Newsome Electrical & Computer Engineering Carnegie Mellon University Graduate student pursuing a PhD Our work on patch-based exploit generation will appear at the 2008 IEEE Security and Privacy Symposium David Brumley Carnegie Mellon University - Phd Student The Authors

The Problem The number of new vulnerabilities reported each year continues to grow A new exploit for a single vulnerability can readily be turned into worms Also new vulnerabilities can compromise almost all vulnerable hosts in a very short amount of time So We need to find an automated defense system that can react to these vulnerabilities quickly!

Requirements for Defense System 1.Fast Defense Development/Deployment –Must fix vulnerability very quickly as worms spread very fast. 2.No requirement for source code –Most source code are proprietary and can not be shown to end user. 3.High accuracy and effectiveness –Low false positives/negatives. 4.Low performance overhead –Does not degrade performance.

Vulnerability Specific Execution- Based Filtering (VSEF) Definition:Definition: –An automated defense system that defends against “just discovered” attacks. Properties:Properties: – Robust Filters – Vulnerability specific, but exploit agnostic. – Efficient generation of VSEF Filters – Generates filters very quickly once a vulnerability is detected. – Efficient Detection – Contains very little overhead.

Vulnerability Specific Execution- Based Filtering (VSEF) At a high-level, VSEF filters out exploits based on the program’s execution not only filtering based solely upon the input string Does not Instrument and monitor the full execution VSEF only monitors and instruments the part of program execution which is relevant to the specific vulnerability VSEF therefore takes the best of both input-based filtering and full execution monitoring It is much more accurate than input-based filtering and much more efficient than full execution monitoring

VSEF Architecture Two Main Components: Two Main Components: – VSEF Filter Generator – Uses an exploit execution trace to create a VSEF filter which encodes the info needed for the monitoring to detect future attacks on the vulnerability. – VSEF Binary Instrumentation Engine – Used by vulnerable hosts in order to apply a VSEF filter to a binary program.

VSEF Architecture Diagram

The Big Picture To create a VSEF filter for a known vulnerability - a program binary, and a sample input that exploits that vulnerability is needed VSEF Filter Generator automatically generates a VSEF filter which encodes the information needed to detect future attacks against the vulnerability.

The Big Picture Using the VSEF filter, the vulnerable host can use our VSEF Binary Instrumentation Engine to automatically add instrumentation to the vulnerable binary program to obtain a hardened binary program The hardened program introduces very little overhead and for normal requests performs just as the original program

The Big Picture

Types of VSEF Two Types:Two Types: – Taint Based VSEF – Based on dynamic taint analysis. Has high accuracy. – Destination Based VSEF – An more optimistic version of Tainted Based VSEF. Normally requires fewer instructions to be instrumented.

Taint-Based VSEF (Overview) Marks data coming from untrusted sources. Inserts instrumentation instructions to track tainted data from untrusted sources. Accurately detects wide range of attacks Requires instrumenting many instructions.

Taint-Based VSEF (Filter Generation) Examines the trace in a backwards manner: –Begins at the end of the trace (the exploit point), then traces backwards to determine source of the taint.

Taint-Based VSEF (Binary Instrumentation) Checks to see if source operand is a tainted location. –If yes, then mark destination operand as tainted. Also checks whether sensitive value is being tainted. –If yes, then there is an attack!

Taint-Based VSEF (Performance & Accuracy) Performance: –Filter generation is almost instantaneous. –Execution overhead is proportional to number of instructions in the program. Accuracy: –No false positives (when watchpoint techniques are used) –False negatives happen if tainted input is propagated along a different code path, or the overwritten sensitive value is misused at a different location.

Destination Based VSEF (Overview) Definition: –An optimistic filter that focuses on instrumenting the point where sensitive data was illegitimately overwritten, rather than the point where tainted data was illegitimately used. In other words, it ONLY monitors the overwrite point!

Destination Based VSEF (Filter Generation) Determines: –The overwrite point. –The vulnerable context. –The destinations that should not be overwritten by that context. Checks the chain of instructions that propagated the tainted data to the overwrite point in a similar manner to taint-based VSEF.

Destination Based VSEF (Binary Instrumentation) Checks that that data movement instruction at overwrite point does not write to sensitive destination.

Destination Based VSEF (Accuracy & Performance) Accuracy: –Usually no false positives, but it can happen if: 1.VSEF Filter Generator identified wrong instruction at overwrite point. 2.Instruction at overwrite point can LEGALLY write to monitored location in vulnerable context. Performance: –Filters can be created almost instantly! –Performance can be improved if fewer instructions are implemented.

VSEF Implementation (Taint-Based) Implemented by modifying TaintCheck: Binary Instrumentation Engine implemented as an extension to TaintCheck.

VSEF Implementation (Destination-Based) Implemented using Dyninst: –A binary implementation tool. –Performs static rewriting of target binary. Filter Contains: –Address of overwrite point. –Activation records of stack when the overwrite point was executed. –Normalized address of the data that was overwritten.

Conclusion Hosts can be compromised very quickly due to vulnerabilities that can easily be exploited! –Thus, we need to find an automated system that can react to these vulnerabilities! VSEF can quickly defend and filter out those exploits with high accuracy and low overhead! Would make good commercial use!

VSEF Strengths Successfully satisfied all original requirements: Fast Deployment. No need for source code. Very high accuracy. Low overhead This approach is general, and could potentially be applied to other faults such as integer overflow, divide-by-zero, etc. Can be deployed in Windows and Linux/Unix OS.

VSEF Weaknesses Can still have false positives/false negatives: Can still have false positives/false negatives: – False Negatives for Taint Based VSEF: If tainted input is propagated along a different code path. If the overwritten sensitive value is misused at a different location. – False Positives for Destination Based VSEF: If VSEF Filter Generator identified wrong instruction at overwrite point. If instruction at overwrite point legally writes to monitored location in vulnerable context.

Suggestions Go commercially! –Sell VSEF to third party companies. They can use VSEF for product testing and enhancements.

Reference Slide An exploit is a piece of software, a chunk of data, or sequence of commands that take advantage of a bug, glitch or vulnerability in order to cause unintended or unanticipated behavior In context of computer programming, instrumentation refers to an ability to monitor or measure the level of a product's performance, to diagnose errors and writing trace information. Instrumentation is in the form of code instructions that monitor specific components in a system

Reference Slide Some Previous work has various drawbacks and do not satisfy all the requirements. One popular approach is to automatically generate network-based input filters to filter out known exploits Limited to syntactic properties of the input string and cannot take into account application specific semantic and context information In the extreme case where an input filter is used on an encrypted protocol, it must somehow be supplied with the decryption key, which is awkward and application-specific.

Reference Slide On the other hand, various host-based approaches have been proposed which are more accurate, but fail to meet the other requirements. For example, previous approaches have focused on: (1)Patching: patching a new vulnerability can be a time-consuming task—generating high quality patches often require source code, manual effort, and extensive testing. (2) Binary-based full execution monitoring: many approaches have been proposed to add protection to a binary program. However, these previous approaches are either inaccurate and only defend against a small classes of attacks or require hardware modification or incur high performance overhead when used to protect the entire program execution

Taint-Based VSEF (Taint Example)

VSEF Performance (Chart)

Thank You