Heng Yin, Dawn Song, Manuel Egele, Christopher Kruegel, and Engin Kirda Presentation by Mridula Menon N.

Slides:



Advertisements
Similar presentations
Enabling Secure Internet Access with ISA Server
Advertisements

System Integration and Performance
DroidScope: Seamlessly Reconstructing the OS and Dalvik Semantic Views for Dynamic Android Malware Analysis Lok Kwong Yan, and Heng Yin Syracuse University.
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
Dynamic Taint Analysis for Automatic Detection, Analysis, and Signature Generation of Exploits on Commodity Software Paper by: James Newsome and Dawn Song.
By Philipp Vogt, Florian Nentwich, Nenad Jovanovic, Engin Kirda, Christopher Kruegel, and Giovanni Vigna Network and Distributed System Security(NDSS ‘07)
Using Programmer-Written Compiler Extensions to Catch Security Holes Authors: Ken Ashcraft and Dawson Engler Presented by : Hong Chen CS590F 2/7/2007.
Computer Organization. This module surveys the physical resources of a computer system. –Basic components CPUMemoryBus I/O devices –CPU structure Registers.
TaintCheck and LockSet LBA Reading Group Presentation by Shimin Chen.
File Management Systems
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 11: Monitoring Server Performance.
CS 550 Amoeba-A Distributed Operation System by Saie M Mulay.
LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks Feng Qin, Cheng Wang, Zhenmin Li, Ho-seop Kim, Yuanyuan.
OS Spring’03 Introduction Operating Systems Spring 2003.
Interpret Application Specifications
Tcl Agent : A flexible and secure mobile-agent system Paper by Robert S. Gray Dartmouth College Presented by Vipul Sawhney University of Pennsylvania.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
OS Spring’04 Introduction Operating Systems Spring 2004.
Chapter 9 Security Malware Defenses. Malware Can be used for a form of blackmail. Example: Encrypts files on victim disk, then displays message.
Android Security Enforcement and Refinement. Android Applications --- Example Example of location-sensitive social networking application for mobile phones.
1 CSC 2405: Computer Systems II Spring 2012 Dr. Tom Way.
Understanding Android Security Yinshu Wu William Enck, Machigar Ongtang, and PatrickMcDaniel Pennsylvania State University.
Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis Authors: Heng Yin, Dawn Song, Manuel Egele, Christoper Kruegel, and.
Yin, H., Song, D., Egele, M., Kruegel, C., Kirda, E. In Proc. of the 14th ACM conference on Computer and communications security, October /9/31.
Research on cloud computing application in the peer-to-peer based video-on-demand systems Speaker : 吳靖緯 MA0G rd International Workshop.
Vulnerability-Specific Execution Filtering (VSEF) for Exploit Prevention on Commodity Software Authors: James Newsome, James Newsome, David Brumley, David.
NDSS 2007 Philipp Vogt, Florian Nentwich, Nenad Jovanovic, Engin Kirda, Christopher Kruegel, Giovanni Vigna.
CHAPTER 2 OPERATING SYSTEM OVERVIEW 1. Operating System Operating System Definition A program that controls the execution of application programs and.
What is FORENSICS? Why do we need Network Forensics?
Disclaimer The Content, Demonstration, Source Code and Programs presented here is "AS IS" without any warranty or conditions.
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System.
Behavior-based Spyware Detection By Engin Kirda and Christopher Kruegel Secure Systems Lab Technical University Vienna Greg Banks, Giovanni Vigna, and.
Live Forensics Investigations Computer Forensics 2013.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems CSCI-6140 – Computer Operating Systems David Goldschmidt, Ph.D.
University of Central Florida TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones Written by Enck, Gilbert,
Ether: Malware Analysis via Hardware Virtualization Extensions Author: Artem Dinaburg, Paul Royal, Monirul Sharif, Wenke Lee Presenter: Yi Yang Presenter:
Guide to Linux Installation and Administration, 2e1 Chapter 2 Planning Your System.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
AccessMiner Using System- Centric Models for Malware Protection Andrea Lanzi, Davide Balzarotti, Christopher Kruegel, Mihai Christodorescu and Engin Kirda.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Introduction to Concurrency.
Executable Unpacking using Dynamic Binary Instrumentation Shubham Bansal (iN3O) Feb 2015 UndoPack 1.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Christopher Kruegel University of California Engin Kirda Institute Eurecom Clemens Kolbitsch Thorsten Holz Secure Systems Lab Vienna University of Technology.
MICHALIS POLYCHRONAKIS(COLUMBIA UNIVERSITY,USA), KOSTAS G. ANAGNOSTAKIS(NIOMETRICS, SINGAPORE), EVANGELOS P. MARKATOS(FORTH-ICS, GREECE) ACSAC,2010 Comprehensive.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Attack signatures derived from Metasploit Final Presentation E. Ramirez A. Zoghbi
Security Architecture and Design Chapter 4 Part 1 Pages 297 to 319.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
Distributed System Services Fall 2008 Siva Josyula
Computer virus Speaker : 蔡尚倫.  Introduction  Infection target  Infection techniques Outline.
DATA COMPROMISE Controlling the flow of sensitive electronic information remains a major challenge, ranging from theft to accidental violation of policies.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
Dynamic Taint Analysis for Automatic Detection, Analysis, and Signature Generation of Exploits on Commodity Software Paper by: James Newsome and Dawn Song.
Lecture 5 Rootkits Hoglund/Butler (Chapters 1-3).
SOFTWARE. Software… Instructions that are stored electronically that tell the computer what to do.
MINIX Presented by: Clinton Morse, Joseph Paetz, Theresa Sullivan, and Angela Volk.
Unit 2 Personal Cyber Security and Social Engineering Part 2.
AppAudit Effective Real-time Android Application Auditing Andrew Jeong
System Components Operating System Services System Calls.
Operating System Structure Lecture: - Operating System Concepts Lecturer: - Pooja Sharma Computer Science Department, Punjabi University, Patiala.
1.3 Operating system services An operating system provide services to programs and to the users of the program. It provides an environment for the execution.
Main Features of iSafe All-in-One Keylogger Universal keylogger of isafe, Inc. Suitable for home parental control,corporate employee monitoring and cheating.
HookScout: Proactive Binary-Centric Hook Detection
Automatic Network Protocol Analysis
Information Flow Control
Chapter 2: Operating-System Structures
Introduction to Operating Systems
Understanding Android Security
Chapter 2: Operating-System Structures
Presentation transcript:

Heng Yin, Dawn Song, Manuel Egele, Christopher Kruegel, and Engin Kirda Presentation by Mridula Menon N.

INDEX  INTRODUCTION  CONTRIBUTION  OVERVIEW OF APPROACH  DESIGN & IMPLEMENTATION  TAINT-GRAPH-BASED MALWARE DETECTION AND ANALYSIS  EVALUATION  CONCLUSION

INTRODUCTION Malicious software provided by reputable vendors perform undesirable actions violating users privacy. Eg: Google Desktop, Sony media player. Traditional Malware Detection:  Signature-based  Cannot detect new malware or variants  Heuristics- based  High false positives  High false negatives End-to-end approach to automatically identify the fundamental trait of malicious information access and processing behavior of a given program. Monitor and record the information access and processing behavior of the sample in the test cases: use whole-system, fine-grained taint tracking. (operating-system-aware taint analysis)

CONTRIBUTION Observed the fundamental trait of privacy-breaching malware lies in their information access and processing behavior to sensitive information, and proposed an end-to-end automatic approach to classify and detect malware using their information access and processing behaviors. Designed and developed a critical component of Panorama, a whole system, fine-grained, operating-system-aware, dynamic taint tracking system to monitor and investigate the unknown sample. In their extensive experiments, their system detected all the malware samples(keyloggers, password sniffers, stealth backdoors, rootkits and spyware) and had very few false positives.

OVERVIEW OF APPROACH Figure 1: System Overview

DESIGN AND IMPLEMENTATION Hardware-level Dynamic Taint Tracking OS-Aware Taint Tracking Automated Testing and Taint Graph Generation

1)Hardware-level Dynamic Taint Tracking They monitor the whole system execution in a processor emulator and dynamically instrument code to keep track of how tainted data propagates during program execution. Implemented Panorama on QEMU. Our approach can deal with multiple processes, memory swapping and disks.  Shadow Memory: To store taint status, for efficient memory usage.  Taint Sources: All sensitive information that is introduced into the system in the automated tests is marked as taint source.  Taint Propagation: Monitor CPU instructions and DMA operations.

Taint Propagation For arithmetic instructions, the result will be tainted if and only if any byte of the operands is tainted. For data movement instructions and DMA operations, destination will be tainted if and only if bytes of operands is tainted. Special cases:  Constant function: Eg: “xor eax, eax” - Untaint the result.  Table lookup: Updated rule: If any byte used to calculate the address of a memory locations is tainted, then, the result of a memory read using this address is tainted as well.  Control flow evasion: Taint tracking stops at a keystroke Unicode conversion routine called _xxxInternalToUnicode while examining Windows kernel code. Solved by instrumenting an instruction within the function. This instrumentation checks the taint status of the input parameter of the function, and appropriately propagates the taint status to its output parameter.

2) OS-Aware Taint Tracking Resolving process and module information. Resolving filesystem and network information. Identifying the code under analysis and its actions.

Resolving process and module information Developed a kernel module called module notifier. Load this module into the guest operating system to collect the updated memory map information. All the information is passed on to Panorama through a predefined I/O port. To ensure the authenticity of the messages that Panorama receives from the module notifier, we check the program counter of the instruction that is responsible for sending this message.

Resolving filesystem and network information Filesystem: Integrated a disk forensic tool called “The Sleuth Kit” (TSK) into Panorama for gathering filesystem information. Network: When tainted data is sent out, check the packet header to find out which connection it belongs to.

Identifying the code under analysis and its actions Two Cases: The sample under analysis dynamically generates new code : Taint the complete code segment of the sample under analysis, using a special label. The given code calls a piece of trusted code in order to perform tainted operations on its behalf: We record the current value of the stack pointer, together with the current thread identifier..

3) Automated Testing and Taint Graph Generation Automated Testing Taint Graph Generation

Automated Testing The system defines nine different types of taint sources: text, password, HTTP, HTTPS, ICMP, FTP, document, and directory. The communication between the test engine and the taint engine is via an intercepted registry writing API.

Taint Graph Generation Generate one graph for each taint source with different label. For each taint source, the taint propagation originating from this source forms a directed graph (taint graph). Taint graph can be represented as g = (V,E), where V is set of vertices and E is a set of directed edges connection vertices. Each vertex is labeled with a (type, value) pair, where value is the unique name that identifies the vertex.

Taint Graph Generation Type of a vertex defined in a hierarchical form: type ::= taint_source | os_object taint_source ::= text | password | HTTP | HTTPS| FTP | ICMP | document | directory os_object ::= process | module | network | file

Taint Graph Generation Figure 2: An example of taint graph. This graph reflects the procedure for Windows user authentication. While a password thief is running in the background, it catches the password and saves them to its log file “c:\ginalog.log”.

TAINT-GRAPH-BASED MALWARE DETECTION AND ANALYSIS Taint-Graph-Based Malware Detection Taint-Graph-Based Malware Analysis

Taint-Graph-Based Malware Detection Anomalous information access behavior Anomalous information leakage behavior Excessive information access behavior Policies enforced on the taint graphs:

Taint-Graph-Based Malware Analysis Given a taint graph, the first step is to check this graph for the presence of a node that corresponds to the sample under analysis. If such a node is present, we obtain the information that the sample has accessed certain tainted input data because the test cases are designed such that input data is sent to trusted applications, but never to the sample under analysis.

EVALUATION Two of these false positives were personal firewall programs. The third false positive was a browser accelerator. Malware Detection

Case Study Here, %INST DIR% represents “c:\Program Files\Google\Google Desktop Search”, and %TEMP% is “c:\Documents and Settings\user\Local Settings\ Temporary Internet Files”. Malware Analysis

Conclusion Whole system fine grained taint analysis to discern fine- grained information access and processing behaviour of unknown code. Panorama yields zero false negative and very few false positives.

Thank you !