CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Backtracking Intrusions Sam King & Peter Chen CoVirt Project, University of Michigan Presented by:

Slides:



Advertisements
Similar presentations
Debugging operating systems with time-traveling virtual machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
Advertisements

Snort & ACID. UTSA IS 6973 Computer Forensics SNORT.
1 Chapter 8 Fundamentals of System Security. 2 Objectives In this chapter, you will: Understand the trade-offs among security, performance, and ease of.
Intrusion Detection Systems By: William Pinkerton and Sean Burnside.
Hacker, Cracker?! Are they the same? No!!! Hacker programmers intensely interested in the arcane and recondite workings of any computer operating system.
Building Your Own Firewall Chapter 10. Learning Objectives List and define the two categories of firewalls Explain why desktop firewalls are used Explain.
Lecture 2 Page 1 CS 236, Spring 2008 Security Principles and Policies CS 236 On-Line MS Program Networks and Systems Security Peter Reiher Spring, 2008.
Exam ● On May 15, at 10:30am in this room ● Two hour exam ● Open Notes ● Will mostly cover material since Exam 2 ● No, You may not take it early.
Backtracking Intrusions Sam King Peter Chen CoVirt Project, University of Michigan.
Security administrators The experts need better tools too!
Lesson 9-Securing a Network. Overview Identifying threats to the network security. Planning a secure network.
Guide To UNIX Using Linux Third Edition
Bro: A System for Detecting Network Intruders in Real-Time Presented by Zachary Schneirov CS Professor Yan Chen.
Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
Recovering and Examining Computer Forensic Evidence Noblett, Pollit, & Presley Forensic Science Communications October 2000 (Cited by 13 according to Google.
INTRUSION DETECTION SYSTEMS Tristan Walters Rayce West.
Internet Relay Chat Chandrea Dungy Derek Garrett #29.
Patch Management Module 13. Module You Are Here VMware vSphere 4.1: Install, Configure, Manage – Revision A Operations vSphere Environment Introduction.
Virtual Memory Tuning   You can improve a server’s performance by optimizing the way the paging file is used   You may want to size the paging file.
Real Security for Server Virtualization Rajiv Motwani 2 nd October 2010.
Lecture 18 Page 1 CS 111 Online Design Principles for Secure Systems Economy Complete mediation Open design Separation of privileges Least privilege Least.
1 AutoBash: Improving Configuration Management with Operating System Causality Analysis Ya-Yunn Su, Mona Attariyan, and Jason Flinn University of Michigan.
© 2010 VMware Inc. All rights reserved Patch Management Module 13.
Understanding and Troubleshooting Your PC. Chapter 12: Maintenance and Troubleshooting Fundamentals2 Chapter Objectives  In this chapter, you will learn:
Honeypots. Introduction A honeypot is a trap set to detect, deflect, or in some manner counteract attempts at unauthorized use of information systems.
ECE4112 Lab 7: Honeypots and Network Monitoring and Forensics Group 13 + Group 14 Allen Brewer Jiayue (Simon) Chen Daniel Chu Chinmay Patel.
Honeypot and Intrusion Detection System
Operating System Support for Virtual Machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
CIS 450 – Network Security Chapter 16 – Covering the Tracks.
Introduction to Interactive Media Interactive Media Tools: Software.
Virtual Machine Security Systems Presented by Long Song 08/01/2013 Xin Zhao, Kevin Borders, Atul Prakash.
Introduction to Digital Forensics Florian Buchholz.
1 INFO 321 Server Technologies II FTP Material adapted from Dr. Randy Kaplan.
Transparent Process Migration: Design Alternatives and the Sprite Implementation Fred Douglis and John Ousterhout.
HIPS Host-Based Intrusion Prevention System By Ali Adlavaran & Mahdi Mohamad Pour (M.A. Team) Life’s Live in Code Life.
Parallelizing Security Checks on Commodity Hardware Ed Nightingale Dan Peek, Peter Chen Jason Flinn Microsoft Research University of Michigan.
Software Integrity Monitoring Using Hardware Performance Counters Corey Malone.
1 File Systems: Consistency Issues. 2 File Systems: Consistency Issues File systems maintains many data structures  Free list/bit vector  Directories.
SNORT Biopsy: A Forensic Analysis on Intrusion Detection System By Asif Syed Chowdhury.
Backtracking Intrusions. Introduction Rapidly increasing frequency of computer intrusions Common routines for system administrators (1)Understand how.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
©Ian Sommerville 2004Software Engineering Case Studies Slide 1 The Internet Worm Compromising the availability and reliability of systems through security.
Topics Network topology Virtual LAN Port scanners and utilities Packet sniffers Weak protocols Practical exercise.
1 Chapter 9 Intruders. 2 Outline Intruders –Intrusion Techniques –Password Protection –Password Selection Strategies –Intrusion Detection Statistical.
Seminar of “Virtual Machines” Course Mohammad Mahdizadeh SM. University of Science and Technology Mazandaran-Babol January 2010.
1 Multilevel Bidirectional Damage Assessment Peng Liu, Penn State University Jason Li, Information Automation Inc. ARO Workshop on Cyber Situational Awareness.
Chapter 9 Intruders.
Digital Forensics Dr. Bhavani Thuraisingham The University of Texas at Dallas Network Forensics - III November 3, 2008.
Intrusion Detection System
 Introduction  Tripwire For Servers  Tripwire Manager  Tripwire For Network Devices  Working Of Tripwire  Advantages  Conclusion.
Lecture 5 Rootkits Hoglund/Butler (Chapters 1-3).
Lecture 15 Page 1 CS 236 Online Evaluating Running Systems Evaluating system security requires knowing what’s going on Many steps are necessary for a full.
Information Systems CS-507 Lecture 32. Physical Intrusion The intruder could physically enter an organization to steal information system assets or carry.
Chapter 11 Analysis Methodology Spring Incident Response & Computer Forensics.
Security (part 1) CPS210 Spring Current Forensic Methods  Manual inspection of existing logs  System, application logs  Not enough information.
Koustav Sadhukhan, Rao Arvind Mallari and Tarun Yadav DRDO, Ministry of Defense, INDIA Cyber Attack Thread: A Control-flow Based Approach to Deconstruct.
Common System Exploits Tom Chothia Computer Security, Lecture 17.
Chapter Objectives In this chapter, you will learn:
Chapter 9 Intruders.
Outline Introduction Characteristics of intrusion detection systems
Backtracking Intrusions
Backtracking Intrusions
Xutong Chen and Yan Chen
IS3440 Linux Security Unit 9 Linux System Logging and Monitoring
A Real-time Intrusion Detection System for UNIX
Intrusion detection systems?
Operating System Support for Virtual Machines
12/6/2018 Honeypot ICT Infrastructure Sashan
Chapter 9 Intruders.
Security Principles and Policies CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
Presentation transcript:

CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Backtracking Intrusions Sam King & Peter Chen CoVirt Project, University of Michigan Presented by: Fabian Bustamante

2 Motivation Increasing frequency of computer intrusions What should a Sys Admin do after discovering an intrusion? –Understand how the system was broken-in –Identify the damage inflicted to the system –Fix the vulnerability and undo the damage But first need to know there’s has been an intrusion –Using TripWire detect a modified file system –Network or host firewall notice a port scan –Sandboxing tool notice program misbehaving (e.g. unusual sys call patterns) Detection point – state on the local computer system that alerts admin of the intrusion (e.g. a deleted, modified file)

3 Current forensic methods Manual inspection of existing logs Some helpful tools: –Snort can log network traffic –Ethereal can present app-level views of net traffic –Coroner’s toolkit can recover deleted files Problems/limitations –System, application logs - not enough information Partial, app-specific and little info on what happen after the compromise –Network log - may be encrypted –Disk image - only shows final state –Low-level logs – complete but hard to decipher –No way to separate out legitimate actions Identifying the sequence of events from the initial compromise to the point of detection is still largely a manual process

4 BackTracker To help understand what took place during the attack Back tracking from a detection point, identifying a possible chain of events BackTracker (BT) works by observing OS-level objects & events –Unlike app-level logging, cannot separate objects within an application –Unlike network-level logging, can be interpreted even if attacker encrypts network communication Two components –On-line piece that logs sys calls that induce most directly dependency between OS objects (e.g. creating a process, reading/writing a file) –Off-line component that graphs events related to the attach Goal: reconstruct the time-line of events that occurred in an attach

5 Process File Socket Detection point Fork event Read/write event Example (filtered dependency graph) Made web server to create a command shell Download and unpack an executable Run the executable wit a different group id ptrace attach

6 BackTracker objects Process –Identified uniquely by pid & version number –Tracked from creation (fork/clone) to exit File object –Identified uniquely by a device/inode #/version # –Including data & metadata specific to file –Affected by system calls such as write Filename –Identified uniquely by a canonical name –Directory data that maps a name to a file object –Affected by system calls such as rename, create … Finer granularity than processes, file objects & filenames? –Reduce false dependencies (like false-sharing in DS) –Harder & w/ potentially higher overhead

7 Dependency-causing events BT logs events at runtime that induce dependency relationships bet/ objects Dependency relationship source → sink & time interval (in terms of an event counter) Time intervals to reduce false dependencies Process / Process –fork, clone (bidirectional from shared AS), shared memory (grouped) Process / File –read, write, mmap (grouped; direction depends on access permissions) Process / Filename –open, creat, link, unlink, mkdir, rmdir, stat, chmod, …

8 Dependency graphs No the complete dep. graph, just enough to understand attack From the detection point, GraphGen –Reads the log backward –For each event, evaluate if affect any object in graph by the object’s time threshold –If so, add event to graph, add edge High- & low-control event –Affecting != controlling an object, and then there’s a range –BT focuses on “high-control” events Those that make it easier for the attacker to accomplish a task e.g. write a file, create a process Low-control events – e.g. changing a file access time, creating a filename That could be enough – it’s hard for an intruder to perform a task solely relying on low-control events

9 Dependency graphs Process A File 0 File 1 File 2 File X Process B Process D Process C Process A File 0 File 1 File X Process B Process C Event log Complete graph GraphGen’s graph Time 0: process A creates process B Time 1: process B writes file 1 Time 2: process B writes file 2 Time 3: process A reads file 0 Time 4: process A creates process C Time 5: process C reads file 1 Time 6: process C writes file X Time 7: process C read file 2 Time 8: process A creates process D At time 10 admin knows X has the wrong content 8 & 7 are ignored; 6 is relevant … At 5, C reads file 1 At 3, A reads file 0 At 4, A creates C At 0, A creates B At 1, B writes file 1

10 Prioritizing dependency graphs Dependency graphs may be too large Not all objects & events are equally important –Filter them risk of hiding important sequence Filtering –Ignore certain objects e.g. /etc/mtab,.bash_history –Ignore certain events e.g. low-control events –Hide files read but not written (such as config files) –Filter out helper processes that take input form one process, do a simple thing & return to the main process (e.g. /etc/bashrc uses bash to find user and group name of user) –Look at the intersection of several dependency graphs These may filter out a vital link, disconnecting the detection point from the source of the intrusion

11 ~Unfiltered graph for bind attach

12 Filtered dependency graph Noticed a modified system binary Log for analysis period - 155,344 o & 1,204,166 e Without filtering - 5,281 o & 9,825 e With filtering of read-only files o & 1,014 e (prev slide) With filtering of + read only files + /root/.bash_history, /var/run/lastlog, /var/run/utmp, /etc/mtab + helper processes - 24 o & 28 e Access gained through httpd Download a rootkit using wget When run, rootkit (/tmp/ /bind) install /bin/login, etc

13 Filtered dependency graph for self

14 Implementation Prototype built on Linux Both stand-alone (storing log on a remote computer or protected file) & virtual machine (using UMLinux) Hook system call handler; notify when app invokes/returns from sys call or process exits Inspect state of OS directly (EventLogger is compiled with headers from guest OS) EventLogger ~ 1,300 LOC + 40 LOC to VMM Guest OS Host OS VMMEventLogger Guest Apps Host OS EventLogger Host Apps Virtual Machine Implementation Stand-Alone Implementation

15 Evaluation Determine effectiveness of Backtracker Set up honeypot virtual machine (RH7) Intrusion detection using standard tools (homegrown Tripwire, Ethereal, Snort) Three real attacks & a simulated one –Attacks evaluated with six default filtering rules Showing –Advantages of/need for filtering –Space and time overhead of EventLogger (using ReVirt to replay the run w/ & w/o EventLogger)

16 BackTracker’s analysis of attacks bindptraceopenssl-tooself Time period analyzed24hr…61hr24hr #objects (o) & events (e) in log 155,344 o 1,204,166 e …77,334 o e 717 o 3,387 e # o & e in unfiltered dependency graph 5,281 o 9,825 e 552 o 2,635 e 495 o 2,414 e 717o 3,387 e # o & e in filtered dependency graph 24 o 28 e 20 o 25 e 28 o 41 e 56 (36) o 81 (49) e Growth rate of EventLogger’s log GB/day…0.002 GB/day1.2GB/day Time overhead of EventLogger 0%… 9% 24hr 155,344o 1,204,166 e GB/day 0%

17 Attacks against BackTracker Layer-below attack –Guest OS - if intruder can hide change it, it can hide from BT –VMM – a little harder to do Break the chain of events by using “low control” events or filtered objects to carry out attack Hidden channels (get password, sent to himself, log in later) Create large dependency graph –Perform a large number of steps –Implicate innocent processes –Try to hide under a long sequence of events (bad idea)

18 Conclusions & future work BT - tracking causality through system calls can backtrack intrusions Dependency tracking –Reduce events and objects by 100x –Still effective even when same application exploited many times –Filtering further reduce events and objects Future work –Track more dependency-causing events –Eliminate false dependencies on new forward track dependency tool