33
1 Speaker: Qinghao Tang Title:360 Marvel Team Leader Virtualization System Vulnerability Discovery Framework

Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

1

Speaker: Qinghao Tang

Title:360 Marvel Team Leader

Virtualization System

Vulnerability Discovery

Framework

Page 2: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

2

360 Marvel Team

Established in May 2015, the first professional could

computing and virtualization security team in China.

Focusing on attack and defense techniques in

virtualization system.

● fuzzing framework

● guest machine escape technology

● Hypervisor risk defense technology

Page 3: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

3

Agenda

• Virtualization System Attack Surface

• The fuzzing framework

• Case study

Page 4: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

4

Virtualization System Attack Surface

Page 5: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

5

Cloud Computing

Page 6: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

6

Hypervisor

Types

Xen Kvm Vmware

function

quantizing distribution

flexible

scheduling

Page 7: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

7

Distinctions

OS

Physical Devices

Guest OS

Hardwareemulator

Hypervisor

Physical Devices

Guest OS

Hardwareemulator

Normal Server Virtualization Server

Page 8: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

8

Attacking Processes in cloud computing

1. Enter VM via web or other devices

2. Exploit virtualization system vulnerabilities to escape VM

3. lateral movements to others VMs on host

4. Access to host network

Page 9: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

9

Operation Principles of device emulators

Page 10: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

10

The attack surface

• Hardware virtualization components’ diversity

Qemu: 30+

Vmware:20+

• Bridge between inside-outside

VM os -> device emulators -> Host os

• Related Vulnerabilities result big dangers

Page 11: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

11

• Hardware virtualization focus on lower

layers

• Testing data totally different

Compare to traditional targets

System Kernel

Hypervisor

Page 12: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

12

Vulnerabilities found by us

Page 13: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

13

Fuzzing Framework

Page 14: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

14

Basic intro

Attack surface : hardware virtual components

Environment : qemu , vmware

Testing results : more than 25 vulnerabilities

Challenges : lower layers hard to predict;

Page 15: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

15

1. Analyze data which flowed to components

2. Change flowed-in data’s contents and timing

3. Recording all of tiny abnormal activities

4. Analyze abnormal activities, find reasons

5. optimize fuzz framework

Methods for testing hardware virtual components

Page 16: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

16

Other factors of fuzz framework

1.Flexibility (other OS)

• vm in Linux

• coding in C and Python

2. Deeply understand VM system

• language for coding

• development environment

• coding style

Page 17: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

17

os

Control Center

Fuzz framework structure

HostHost

os os os osos

Client :

Emulate analysis

System hook

Case load

Data communicate

Log

Monitor :

Hypervisor instrument

Data communicate

Log

Server :

Case database

Data communicate

Framework log database

Monitor log analysis

Log

Page 18: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

os

18

os

Control Center

Fuzz framework working flow

HostHost

os os os os

Step 1 : get device emulator info

Step 2 : get test template from server

Step 3 : launch test

Step 4 : monitor hypervisor

Step 5 : get log from client & monitor

Step 6 : analyze log

Step 7 : analyze crash and exception

Step 8 : optimize fuzzing framework

Page 19: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

19

Get target components info

Page 20: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

20

• Device access ports

• Device deal with structures used by data.

• Device data processing

Testing data

Page 21: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

• User space: generate testing dat,

send request to client kernel

• Kernel space: apply for memory,

fill memory, send info to ports

• Device emulator:testing data

flow inside,trigger exceptions

21

Testing data attacks

user space

Kernel space

Device controller

Page 22: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

22

Monitor

VM management

• Snapshot

• Reboot

• VM device editing

Dynamic debugging

• Debugging Mode on Start

• Load Debugging Plugin

VM processing log

• User space

• Kernel space

Page 23: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

23

Exceptions occur in device emulator

• VM os crash

• Hypervisor crash

• Invisible results

Page 24: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

24

Advanced monitoring skills

• Dynamic

• Static

Page 25: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

25

Optimize fuzz framework by using log data

• Client log

Decrease invalid combinations

• Monitor log

Promote coverage

• Server log

Page 26: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

26

Limitation & Future

• Permission limitation

• More kinds of virtualization systems:

Hyper-V;VMWARE

• More attack surfaces:

hypercall;virtio;guest machine client

• About open source project

Page 27: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

27

Case Study

Page 28: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

28

•InitializationPort Allocation , Address Mapping

Device Status Setting, Resource Allocation

•Data Transfer'Write Command' to device TDT register

process of descriptor

3 types descriptor : context , data , legacy

data xfer

set status , wait for next instruction

•Processing DetailsCircular Memory

TSO : tcp segmentation/flow control.

Principle of e1000 Network Device

Page 29: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

29

• Qemu e1000 Network Device

• Vmware e1000 Network Device

E1000 vulnerability analysis

Page 30: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

30

Pcnet network card emulator working processes

Io port write

Control and

Status

Registers

write

Receive Send

Virtual Network Interface

Page 31: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

31

• Qemu pcnet Network Device

Pcnet vulnerability analysis

Page 32: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

32

Summary

Stay tuned for more achievements by

360 Marvel Team

Page 33: Virtualization System Vulnerability Discovery Framework · 2017-10-15 · Virtualization System Vulnerability Discovery Framework. 2 360 Marvel Team Established in May 2015, the first

33

Q & A

Email:[email protected]

QQ:702108451