panorama: capturing system-wide information flow for malware detection and analysis

19
Panorama: Capturing System- wide Information Flow for Malware Detection and Analysis Authors: Heng Yin, Dawn Song, Manuel Egele, Christoper Kruegel, and Engin Kirda Publication: ACM Conference on Computer and Communications Security, 2007 Presenter: Brad Mundt for CAP6133 Spring ‘08

Upload: gilon

Post on 05-Jan-2016

30 views

Category:

Documents


0 download

DESCRIPTION

Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis. Authors: Heng Yin, Dawn Song, Manuel Egele, Christoper Kruegel, and Engin Kirda Publication: ACM Conference on Computer and Communications Security, 2007 Presenter: Brad Mundt for CAP6133 Spring ‘08. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Panorama:Capturing System-wide Information Flow for Malware Detection and Analysis

Authors: Heng Yin, Dawn Song, Manuel Egele, Christoper Kruegel, and Engin Kirda

Publication: ACM Conference on Computer and Communications Security, 2007

Presenter: Brad Mundt for CAP6133 Spring ‘08

Page 2: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Motivation

Malicious software sneaks onto computers Collects users’ private information Causes havoc on Internet

Slows performance Costs to remove

Reputable vendors violate users’ privacy Google Desktop Sony Media Player

Page 3: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Traditional Malware detection

Signature-basedCannot detect new malware or variants

HeuristicsHigh false positivesHigh false negatives

Page 4: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

The Panorama way

Input Suspicious behavior

Inappropriate data access, stealthfully

Process Whole-system, fine-grained taint tracking

Marking data Operating-system-aware taint analysis

What touches the tainted data and how

Output Taint Graphs

Tracked tainted data

Page 5: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Taint Graph

Information flow that shows the process that accessed the tainted data

Make policies based on Taint Graph

Compare unknown samples against Taint Graph Automatic Numerous categories

Page 6: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Taint Graph example

Page 7: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Taint Graph generation

Similar to a mapped out logic/process tree Conceptually, horizontal branching

9 different types of Root taint sources Text, password, http, https, icmp, ftp, document, and

directory

Non-root entries can be OS objects (processes, modules) OS resource (such as a file)

Page 8: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

System Overview

Page 9: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Conceptual Structure

Works with closed code Windows OS FireFox

Monitors the whole system in a processor emulator

Shadow memory stores taint status of Each byte of physical memory CPU’s general purpose registers Hard disk and network interface buffer

Page 10: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Taint Sources

Test information is inputted and marked as taint source

Inputted from hardware such as Keyboard Network interface Hard disk

Tainting at hardware level Malware could hook before input reaches the software

Page 11: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Taint propagation

Monitors CPU instructions and DMA operations dealing with tainted data

OS-Aware taint trackingDeveloped a kernel module

Authenticated communications to taint engine

Page 12: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Code identification

Identifying the code under analysis and it’s actionsEntire code segment is labeled

Dynamic or Encrypted code is labeled too A similar method labels trusted code

Page 13: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Three categorized behaviors

Anomalous information access MS Paint accessing passwords

Anomalous information leakage BHO reporting home about surfed websites

Excessive information access Repeatedly accessed directory to hide rootkit

Page 14: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Malware detections

42 real-world malware samples 56 benign applications were tested Only 3 false positives, no false negatives

2 from a personal firewall1 from a browser accelerator

Page 15: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Summary

A new system to detect malwareSystem-Wide Information Flow

Taint tracking Data access and process tracking

Taint graphs Policies

Page 16: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Contributions

Unified approach to detect and analyze diverse malware

Designed and developed a functional prototype

Detected all malware samplesKeystroke loggers, password sniffers, packet

sniffers, stealth backdoors, rootkits, and spyware

Page 17: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

Weaknesses

Performance Overhead Using Cygwin utilities Prototype is not optimized Slowdown average is 20 times Intended as a offline tool

Evasive malware Time bombs Selective keystroke loggers Virtual environment detection

Page 18: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

How to Improve

Optimize the code

Automate taint graph analysis and policy implementation

Virtual environment shielding Or switch out of emulated environment

Implement mentioned improvements Unicode conversion- switch case issue

Page 19: Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis

The End

Thank you…