220 likes | 451 Views
Xiaoqi Jia, Shengzhi Zhang, Jiwu Jing, Peng Liu Presenter: Shengzhi Zhang. VMSec’08, Fairfax, VA, October 31 st , 2008. Using Virtual Machines to Do Cross-Layer Damage Assessment. Outline. Motivation Solution- PEDA Details about Offline Damage Assessment Preliminary Evaluation
E N D
Xiaoqi Jia, Shengzhi Zhang, Jiwu Jing, Peng Liu Presenter: Shengzhi Zhang VMSec’08, Fairfax, VA, October 31st, 2008 Using Virtual Machines to Do Cross-Layer Damage Assessment
Outline Motivation Solution- PEDA Details about Offline Damage Assessment Preliminary Evaluation Contribution
Motivation Scope Enterprise system Information assets: data and code Multi-level Damage Assessment System administrator CEO Damage assessment in business world Hate to shut down the service Availability loss is unavoidable Exactly record what had happened
Motivation (cont’) • Do some kind of ‘auditing’ • System call level • Lightweight • Insufficient • Instruction level • Overhead • Fine grained • Conflicting • Response Time • Accuracy • Multi-level DA information
Outline • Motivation • Solution- PEDA • Details about PEDA • Preliminary Evaluation • Contribution
PEDA PEDA-Production Environment Damage Assessment: solving the conflict Accuracy: Fine grained QEMU: an instruction translator Response Time: Offline damage assessment Back end: QEMU Front end: Xen Replay Initial state + non-deterministic events Multi-level DA d
Outline • Motivation • Solution- PEDA • Details about Offline DA • Preliminary Evaluation • Contribution
Taint seed 0xb80b5bd0 Taint data %eax Taint data %ebx Taint data 0xb80cd672 Details about Offline DA (1) • Instruction level taint analysis addl 0xb80b5bd0 %ebx movl 0xb80b5bd0 %eax d movl %eax 0xb80cd672
Details about Offline DA (2) • Data flow and control flow d
Details about Offline DA (3) • Integrate multi-level taint analysis • Instruction level taint analysis • Which part of memory/file • How to propagate • Process level taint analysis • Which process/transaction • How to propagate • Reconstruction • Semantic gap • Maintain a mapping d
Details about Offline DA (4) • Process descriptor locating CPU registers Kernel stack task_struct { … struct list_head tasks; struct mm_struct *mm; … pid_t pid; … } d
Outline • Motivation • Solution- PEDA • Details about Offline DA • Preliminary Evaluation • Contribution
Preliminary Evaluation (1) • Fidelity • Response time • Offline Damage assessment Future work d
Preliminary Evaluation (2) Overhead of offline DA d
Outline • Motivation • Solution- PEDA • Details about Offline DA • Preliminary Evaluation • Contribution
Contribution • Conflicting requirements of DA in Enterprise system • Response time • Accuracy • PEDA addresses the conflict • Lightweight online logging • Replay based offline DA • Combination of instruction level and OS level taint tracking d
Guest kernel is compromised • Clean initial state • If taint propagation flows into kernel,record the original values • Use pre-tainting version of kernel to do reconstruction • Infected initial state • Not related to reconstruction • Otherwise ??
We can go further • What if the attack had not happen d
We can go further (cont’) • Per process checkpoint • Execution domain • Interaction with kernel • Communication with other processes • State rollback • Resort to taint analysis • sustain these uninfected processes • Rollback those infected processes