building trustworthy intrusion detection through...

20
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 Science, University of Pisa IAS Conference, 2007 1/20 Fabrizio Baiardi, Daniele Sgandurra Building Trustworthy Intrusion Detection Through Introspection

Upload: others

Post on 12-Jun-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Building Trustworthy Intrusion DetectionThrough 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

Page 2: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Outline

1 ProblemAttacks and Evasion of Controls

2 Overall ArchitectureVirtual Machine IntrospectionPsyco-Virt

3 EvaluationSecurity EvaluationPerformance

4 ConclusionResults and Future Works

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

Page 3: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

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 intothe kernel.

Unfortunately, rootkits and IDSes work at the same level. Arootkit can attack or evade the IDS controls.

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

Page 4: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Virtual Machine IntrospectionPsyco-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

Page 5: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Virtual Machine IntrospectionPsyco-Virt

Semantic Problem

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

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

Page 6: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Virtual Machine IntrospectionPsyco-Virt

Solution #1

Modify an IDS to work at the hardware level.

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

Page 7: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Virtual Machine IntrospectionPsyco-Virt

Solution #2

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

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

Page 8: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Virtual Machine IntrospectionPsyco-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

Page 9: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Virtual Machine IntrospectionPsyco-Virt

Chain of Trust

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

Page 10: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Virtual Machine IntrospectionPsyco-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 commandsamong the VMs.

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

Page 11: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Virtual Machine IntrospectionPsyco-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

Page 12: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Virtual Machine IntrospectionPsyco-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

Page 13: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Virtual Machine IntrospectionPsyco-Virt

Control Network

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

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

Page 14: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Security EvaluationPerformance

Attacks Detected

Currently, Psyco-Virt detects:Attacks to the kernel code also those inserting a maliciousmodule.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

Page 15: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Security EvaluationPerformance

IOzone Read Performance

Overhead is less than 10%.

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

Page 16: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Security EvaluationPerformance

IOzone Write Performance

Overhead is less than 10%.

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

Page 17: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

Security EvaluationPerformance

Antisniff

Antisniff implemented as a module or through introspection.

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

Page 18: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

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 andsyscall 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

Page 19: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

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

Page 20: Building Trustworthy Intrusion Detection Through …groups.di.unipi.it/~daniele/publications/ias2007-slides.pdfProblem Overall Architecture Evaluation Conclusion Building Trustworthy

ProblemOverall Architecture

EvaluationConclusion

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