NICIAR_Purdue_0725 - FRIENDS Lab

Download Report

Transcript NICIAR_Purdue_0725 - FRIENDS Lab

Process Coloring: An Information Flow-Preserving
Approach to Malware Investigation
Eugene Spafford, Dongyan Xu, Ryan Riley
Department of Computer Science and
Center for Education and Research in Information Assurance and Security (CERIAS)
Purdue University
Xuxian Jiang
Department of Computer Science
George Mason University
NICIAR Site Visit, West Lafayette, IN, July 25, 2008
Outline




Project overview and Heilmeier Q&A
Quarterly update and demo
“PC+DDFA” integration
Administrative issues
Process Coloring (PC) Overview
 Key idea: propagating and logging application provenance
information (“colors”) along OS-level information flows
 Existing tools only consider direct causality relations without
preserving and exploiting application provenance information
Virtual Machine
Log
Monitor
File
Manager
Log
Logger
Text
Editor
Web
Browser
Guest OS
Virtual Machine Monitor (VMM)
Tax
Express
PC Usage Scenario:
Server-Side Malware Attack
Capability 1:
PC malware alert
“No shell process should
have the color of Apache”
Initial coloring
s30sendmail
s55sshd
Syscall
Log
s45named
init
rc
s80httpd
httpd
netcat
/bin/sh
Capability 2:
Color-based identification of
malware break-in point
Local files
•
•
/etc/shadow
Confidential
Capability 3:
Info
Color-based
log partition
for
contamination analysis
Coloring diffusion
wget
Rootkit
PC Usage Scenario:
Client-Side Malware Attack
www.malicious.net
turbotax
Tax
warcraft
Games
notepad
Editor
Web
firefox
Browser
PC malware alert
Agobot
Agobot
“Web browser and tax
colors should never mix”
Tax files
PC Usage Scenario:
Client-Side Sensitive Data Protection
turbotax
Tax
warcraft
Games
notepad
Editor
outlook
Email
PC data theft alert
“Tax file should never leave
this computer”
Tax files
Date files
Tax files
Data files
This is not as simple as it sounds!
Heilmeier Question 1:
What are you trying to do?
 Tracking and logging OS-level information flows
 Being extended to both OS and language levels
(“PC+DDFA”)
 Tainting processes and data with application
provenance information (“colors”) for
 Detecting and investigating malware activities
 Enforcing sensitive data protection policies
 Using virtualization for stronger tamper-resistance
 Taking logging and real-time detection to outside
Heilmeier Question 2:
How is it done now?
 Information flow tracking at multiple levels
 OS level
 Only considering direct causality in each system call
 No provenance (“color”) tainting and propagation
 Language level
 Only tracking information Flow within a program
 No information flow tracking across programs
 Instruction level
 Difficult to understand attack semantics
 Significant runtime performance overhead
Heilmeier Question 3:
What’s new and why will it succeed?
 What’s new?
 Color-based malware alert and sensitive data protection
 Supporting both on-line detection and off-line forensics
 Stronger tamper-resistance and non-stop VM operation
 One of the first to combine OS and language-level
information flows
 Why will it succeed?
 Practical, deployable system based on classic theory
 Running prototype showing effectiveness and practicality
 Technical challenges identified and addressed
 Attracting external interests (SWRI, Lockheed Martin)
Heilmeier Question 4:
If successful, what difference will it make?
 An extensible, system-level framework for attack/violation
detection, investigation and recovery
 Specification and enforcement of log and color-based
policies for malware alert and data protection
 Lower false positive and false negative rates; more timely
detection; higher investigation efficiency
 Ready for virtualization-based infrastructures (e.g.
honeynets, enterprises and data centers)
Heilmeier Question 5:
Your timeline, cost and success metrics?
 Timeline
6/2007
- Basic PC prototype for
server-side operation
12/07
- PC prototype for clientside operation (“brown
problem” solution)
- Set up “living lab” VM
for evaluation
6/08
12/08
- Extensive evaluation
- Design, prototyping and
demonstration of
“PC+DDFA” integration
- Recovery and replay
- PC across machines
- Data lifetime analysis
for data theft defense
 Cost: $xxx,xxx ($xxx,xxx subcontract)
 Success metrics
 Accuracy, efficiency and timeliness (more later)
Quarterly Update and Demo
Summary of Achievement




Improved sink insulation implementation
Cleaned up log management and visualization
Set up “living lab” client VM for evaluation
Preliminary design for “PC+DDFA”
Color Saturation Mitigation (Brown Problem)
Policy:
“Data written by financial application should not be read by
applications that can transmit it outside of the system.”
False Alarm
Finance
Browser
notes.txt
Finances.pdf
.recently_used
Doc Edit
The Root Cause: Sink File
Zoom-in View of Sink File
F1040.pdf
Sink File Insulation
 Some files become color sinks
 Examples:
 .recently_used
 .gnome2/accels/evince
 .gnome2/accels/gedit
 Color propagated unnecessarily
 Simply “insulate” these sinks
Result w/ Sink File Insulation
Zoom-in View
F1040.pdf
“Living Lab” VM for Evaluation
 A Linux VM running on Xen
 System configuration:
 256MB RAM
 1.8GHz CPU
 Connected to the Internet
 Applications:
 Firefox
 OpenOffice
 Standard GNOME applications
 To be used daily by Ryan (more users in the Fall)
“Living Lab” VM: End User’s View
“Living Lab” VM: Administrator’s View
“Living Lab” VM: Demo
A live Demo
Evaluation Metrics – Accuracy of Alerts
 False positive and false negative rates
 Living lab experiment
 Specify malware detection and sensitive data
protection policies
 Analyze alerts raised (true or false)
 Attack injection experiments
 Specify malware detection and sensitive data
protection policies
 Launch malware instances or sensitive data thefts
 Count number of instances caught and missed
Evaluation Metrics - Efficiency
 System runtime efficiency
 Performance of LMBench, UNIXBench and
ApacheBench
 w/ process coloring
 w/o process coloring
 Malware investigation efficiency
 Number of colors in alert-raising log entry
 Total number of colors in system
 % of log entries w/ “problematic” color(s)
Evaluation Metrics – Timeliness of Alerts
 Measure the interval between
 A malware attack or data protection breach
 Its detection
 Duration of interval depending on malware
behavior (in-action or dormant)
Technology Transfer
 Within NICECAP Program (ongoing)
 “PC+DDFA” integration with SWRI/UTexas team
 To Lockheed Martin (ongoing)
 Target environment: Virtual honeynet architecture
with both server and client VMs
 PC a good fit for attack detection, monitoring and
investigation
 Effort starting this summer
“PC+DDFA” Integration
Summary of Integration Activities




Held multiple meetings with SWRI/UTexas team
Identified motivating usage scenarios
Defined API between PC and DDFA
Planned detailed design and implementation
A Motivating Scenario
turbotax
Tax
warcraft
Games
notepad
Editor
outlook
Email
PC false alert
“Sensitive file should never
leave this computer”
Sensitive
Date files
Tax files
My photo
File Manager
Sink file insulation doesn’t help…
PC or DDFA Alone Cannot Solve It
 PC
 Process-level information flow treating processes as
blackboxes
 Overly conservative color tainting
 Color tainting across processes
 DDFA
 Language-level information flow confined within one
process
 Not aware of colors across the system
 Fine-grain data flow tracking within a process
Example: Without “PC+DDFA” Integration
File 1
Process
File 2
New file
Example: With “PC+DDFA” Integration
File 1
File 2
Process
(w/ DDFA)
New file
push_color(new_file,
fetch_color(file1)
fetch_color(file2)
Process Coloring (Operating System level)
)
Prototyping Plan
 SWRI+UTexas
 Making DDFA color-aware
 Instrumenting a real-world file manager
PCManFM with DDFA capability
 Purdue
 Implementing fetch_color() and
push_color() in PC
 Testing instrumented PCManFM in living lab VM
 To show a joint demo before end of project
Administrative Issues
1. Moving the Subcontract
 GMU Subcontract PI Xuxian Jiang will move to
North Carolina State University in August
 Remaining balance in subcontract $xx,xxx
 Seeking approval moving the subcontract to NCSU
2. No-cost Extension
 Purdue balance as of 7/22/2008: $xxx,xxx.xx
 Not expected to run out by 12/06/2008
 Inquiring about possibility of no-cost extension
LSSD
Process Coloring (PC) For Malware Alert and Investigation
- An OS-level Information Flow Preserving Approach
APPROACH
• Track OS-level information flows
• Taint processes/data based on
their influence between each other
• Record color(s) in log entries
• Integrate with intra-process DDFA
NEW CAPABILITIES
• Color-based malware alert
• Color-based malware break-in
point identification
• Color-based log partitioning
APPLICATIONS
• System monitoring and malware
(e.g. bots) detection
• Malware forensics
• Sensitive data protection
PLAN / PROGRESS
• Model process color diffusion in real OS (done)
•Demonstrate PC prototype in a malware scenario
Includes both server (done) and client (done)
side solutions
• Mitigate color saturation effect in malware alert
Profiling and visualization (done)
Reducing false positives caused by legitimate
color mixing (done)
Proof-of-concept demo of “PC+DDFA” (Dec.08)
• Evaluate PC in “living lab” VMs (July.08 – Dec.08)
Thank you!
For more information about the Process Coloring project:
http://friends.cs.purdue.edu/projects/pc
[email protected]