260 likes | 391 Views
USENIX Security Symposium ‘09. Effective and Efficient Malware Detection at the End Host. Clemens Kolbitsch , Paolo Milani Comparetti @ TU Vienna Christopher Kruegel @ UCSB Engin Kirda @ Institute Eurecom Xiaoyong Zhou, XiaoFeng Wang @ Indiana Univ. at Bloominton. Outline.
E N D
USENIX Security Symposium ‘09 Effective and Efficient Malware Detection at the End Host Clemens Kolbitsch, Paolo MilaniComparetti @ TU Vienna Christopher Kruegel @ UCSB EnginKirda @ Institute Eurecom Xiaoyong Zhou, XiaoFeng Wang @ Indiana Univ. at Bloominton
Outline • Motivation • System Overview • System Details • Evaluation • Limitation • Conclution
Effectiveness & Efficiency Motivation
Motivation • Efficiency • Binary signature based detection • Network-based detection • Effectiveness • Behavior-based detection • Detection based on malware's behavior • Behavior is hard to obfuscate • Behavior is hard to randomize • Behavior is often stable across various malware version
Motivation • This Paper proposes… • A behavior-based solution with Efficiency • For end hosts
Modeling Behaviors and Making detection efficient System Overview
System Overview • Malware behaviors • Manifest on system (i.e., survive reboot) • (Over-) write system executables, dlls, files • Create registry entries • Register as Windows (startup) service • Conceal from being detected • Restart under some stealthy name (e.g., svchost.exe) • Inject into legitimate processes • Replicate • Send emails • Copy to Samba shares, USB drives, etc. • Scan and exploit services on LAN or WAN
System Overview • Detection based on execution characteristics • Execute malware in full system emulator (Anubis) • Monitor interaction with the operating system • Perform detailed taint analysis • Generate detection graphs • Describe sequence of required system calls leading to security relevant system activity • Include dependencies to related, previous calls (using taint dependencies) • Detect described behavior on end host • Log system call activity of unknown executable • Match against behavior graph
System Overview • Example: Agent (trojan) • As part of its system manifestation, it • Reads content from binary image • Decrypts binary content • Proprietary decryption routine • Simple, XOR based algorithm • Stores binary in system file (C:\Windows\system32\drivers\ip6fw.sys) • Later, restarts IPv6 firewall • Turns itself into a system service
Generate Behavior Graphs, Match Behavior Graphs System Details
System Details • Behavior graphs • Directed acyclic graph • Node: system calls • Edges: dependencies • Dependencies • Handle dependencies • Direct value propagation • System provided identifiers • Must be constant
System Details • Data dependencies • Arbitrary data (& control) dependency between system calls • Might modify values between system calls
System Details • Generate behavior graphs • Analyze executable in Anubis sandbox • Obtain instruction level log • Obtain program flow log • Obtain memory access log • Generate precise taint propagation trees • Data/control dependencies • Instructions that access/generate tainted data • Link system calls consuming data with all taint generating calls (sources)
System Details • Generate behavior graphs (cont.) • Scan logs for security relevant behavior • Provided with a list of interesting system calls • Extract propagation formulas
System Details • Match behavior graphs • Active(inactive) node • Simple(complex) function • Security-relevant system calls or the Buttom • Confirmed(deactivate all)
Effectiveness, Efficiency evaluation
Evaluation • Effectiveness
Evaluation • False Positive • IE, Firefox, Thunderbird, putty, notepad • 0
Evalution • Efficiency
Limitation • Evading signature generation • Detect the virtual environment • Delays, time-triggered behavior • Modifying the algorithm behavior
Conclusion • Behavior can be detected • Behavior detection is fast enough for end hosts • Approach intrinsically robust against polymorphism and metamorphism • To some extent, behavior graphs are usable across malware variants