Building Trustworthy Intrusion Detection Through Virtual Machine - - PowerPoint PPT Presentation

building trustworthy intrusion detection through virtual
SMART_READER_LITE
LIVE PREVIEW

Building Trustworthy Intrusion Detection Through Virtual Machine - - PowerPoint PPT Presentation

Problem Overall Architecture Evaluation Conclusion Building Trustworthy Intrusion Detection Through Virtual Machine Introspection Fabrizio Baiardi 1 Daniele Sgandurra 2 1 Polo G. Marconi - La Spezia, University of Pisa 2 Department of Computer


slide-1
SLIDE 1

Problem Overall Architecture Evaluation Conclusion

Building Trustworthy Intrusion Detection Through Virtual Machine Introspection

Fabrizio Baiardi1 Daniele Sgandurra2

1Polo G. Marconi - La Spezia, University of Pisa 2Department of Computer Science, University of Pisa

IAS Conference, 2007

1/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-2
SLIDE 2

Problem Overall Architecture Evaluation Conclusion

Outline

1

Problem Attacks and Evasion of Controls

2

Overall Architecture Virtual Machine Introspection Psyco-Virt

3

Evaluation Security Evaluation Performance

4

Conclusion Results and Future Works

2/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-3
SLIDE 3

Problem Overall Architecture Evaluation Conclusion Attacks and Evasion of Controls

Rootkits

Rootkits have become more sophisticated over the years. User-level rootkits: usually, modify system binaries. Kernel-level rootkits: for example, a module inserted into the kernel. Unfortunately, rootkits and IDSes work at the same level. A rootkit can attack or evade the IDS controls.

3/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-4
SLIDE 4

Problem Overall Architecture Evaluation Conclusion Virtual Machine Introspection Psyco-Virt

Proposed Approach

Virtual Machine Introspection: Standford University. Visibility: access VM’s state from a lower level. Robustness: detect intrusions from another VM.

4/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-5
SLIDE 5

Problem Overall Architecture Evaluation Conclusion Virtual Machine Introspection Psyco-Virt

Semantic Problem

How to detect intrusions/attacks inside the VM? Semantic problem: the data accessed through introspection are raw data. We also need to protect the IDS.

5/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-6
SLIDE 6

Problem Overall Architecture Evaluation Conclusion Virtual Machine Introspection Psyco-Virt

Solution #1

Modify an IDS to work at the hardware level.

6/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-7
SLIDE 7

Problem Overall Architecture Evaluation Conclusion Virtual Machine Introspection Psyco-Virt

Solution #2

Build a complex introspection library to export an OS view of the VM’s state.

7/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-8
SLIDE 8

Problem Overall Architecture Evaluation Conclusion Virtual Machine Introspection Psyco-Virt

Our Solution: a Multi-Level Approach

1

Build a simple introspection library to check the kernel.

2

Extend the kernel to monitor the IDSes inside the monitored VM.

3

Use standard IDSes to detect attacks against the VM.

8/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-9
SLIDE 9

Problem Overall Architecture Evaluation Conclusion Virtual Machine Introspection Psyco-Virt

Chain of Trust

9/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-10
SLIDE 10

Problem Overall Architecture Evaluation Conclusion Virtual Machine Introspection Psyco-Virt

Psyco-Virt Architecture

Psyco-Virt merges Host and Network IDSes with VMI. The first prototype is written in C, based on Xen. Introspection VM: monitors all the VMs. Monitored VM: executes the system to be monitored. Control Network: to exchange the alerts and commands among the VMs.

10/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-11
SLIDE 11

Problem Overall Architecture Evaluation Conclusion Virtual Machine Introspection Psyco-Virt

Introspection VM

Introspection VM: monitors all the VMs. The introspector protects kernel integrity. The director:

1

collects the alerts;

2

executes actions in response to an alert: stops a VM.

11/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-12
SLIDE 12

Problem Overall Architecture Evaluation Conclusion Virtual Machine Introspection Psyco-Virt

Monitored VM

Monitored VM: executes the system to be monitored. Runs IDSes to detect attacks/intrusions. The collector receives all the alerts from the local IDSes. The kernel checks IDS integrity.

12/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-13
SLIDE 13

Problem Overall Architecture Evaluation Conclusion Virtual Machine Introspection Psyco-Virt

Control Network

Control Network: to exchange the alerts and commands among the VMs.

13/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-14
SLIDE 14

Problem Overall Architecture Evaluation Conclusion Security Evaluation Performance

Attacks Detected

Currently, Psyco-Virt detects: Attacks to the kernel code also those inserting a malicious module. Udpates to the IDT and syscall table. Updates to the text area of a critical processes. Replacing ps and lsof. Interfaces set into promiscuous mode.

14/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-15
SLIDE 15

Problem Overall Architecture Evaluation Conclusion Security Evaluation Performance

IOzone Read Performance

Overhead is less than 10%.

15/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-16
SLIDE 16

Problem Overall Architecture Evaluation Conclusion Security Evaluation Performance

IOzone Write Performance

Overhead is less than 10%.

16/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-17
SLIDE 17

Problem Overall Architecture Evaluation Conclusion Security Evaluation Performance

Antisniff

Antisniff implemented as a module or through introspection.

17/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-18
SLIDE 18

Problem Overall Architecture Evaluation Conclusion Results and Future Works

Limitations

Current limitations of the prototype: No checks on kernel dynamic data, such as stack. Other critical kernel data structures, besides IDT and syscall table, have to be protected. Attacks to the VMM. Attacking the kernel between each execution of the checks.

18/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-19
SLIDE 19

Problem Overall Architecture Evaluation Conclusion Results and Future Works

Results

Using unmodified IDSes with virtual machine introspection. Preventing evasion of the controls and attacks to IDSes. Multi-Level approach to form a chain of trust:

1

IDSes.

2

Kernel.

3

VMM.

Acceptable overhead.

19/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

slide-20
SLIDE 20

Problem Overall Architecture Evaluation Conclusion Results and Future Works

Future Works

Checking at runtime memory invariants.

Using abstract interpretation of kernel code.

Tracing a VM, such as using ptrace.

Verifying system call parameters.

Using introspection as an attestation of the VM.

Attesting the software to a remote party.

20/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection