110 likes | 276 Views
In-Band Detection of Virtual Machines. Estefan Ortiz & Cory Hayes CSE 60641 November 3, 2011. Introduction. Malware programs need to know if they are in a virtual environment so they can modify their behavior and avoid detection Related work
E N D
In-Band Detection of Virtual Machines Estefan Ortiz & Cory Hayes CSE 60641 November 3, 2011
Introduction • Malware programs need to know if they are in a virtual environment so they can modify their behavior and avoid detection • Related work • Red Pill Tests: Examine byte-level behavior of instructions for physical and emulated CPUs. If any disagreements in output, create one or more “red pills” that can avoid detection • SubVirt: Virtual machine-based rootkit installed underneath host OS that runs OS as a guest to remain nearly undetectable
Our Approach • Similar to Red Pill and SubVirt, but client-server based • Idea: Instead of monitoring system call discrepancies, analyze network data sent to/from physical and virtual machines • Question: Can we detect if a client/server is being run in a virtual machine through network traffic?
Goal Byte 0 Byte k1 Difference Found Byte k2 Byte n Client <-> Native TCP/IP Packet Client <-> Virtual Machine TCP/IP Packet
Current Setup Host Server (Apache) Port Switch Client “Man-in-the-Middle” Port Port Wireshark Output
Experiment • Using Wireshark, capture and compare the raw info of TCP/IP packets sent back and forth between a client and a physical/virtual server running Apache • Virtual machine OS matches the OS of the host (Ubuntu-Ubuntu) • Use a small set of Matlab commands to send regular and malformed packets
Sample Captured Wireshark Output 8th Packet sent between Client & VM running Apache VM Host Client 8th Packet sent between Client & Host running Apache
Remaining Tasks • Understand what the differences in the packet information represent (checksums, acknowledgment differences, etc.) • Vary the malformed packets sent • Try a more low-level approach to sniffing or script Wireshark • Vary the host and VM operating systems (already have Vista-Vista set up)