Spectre: A Dependable Introspec3on Framework via System Management - - PowerPoint PPT Presentation

spectre a dependable introspec3on framework via system
SMART_READER_LITE
LIVE PREVIEW

Spectre: A Dependable Introspec3on Framework via System Management - - PowerPoint PPT Presentation

Spectre: A Dependable Introspec3on Framework via System Management Mode Fengwei Zhang, Kevin Leach, Kun Sun, and Angelos Stavrou. In DSN'13. Presented by Fengwei Zhang Wayne State University CSC 6991 Topics in Computer Security 1 Agenda


slide-1
SLIDE 1

Spectre: A Dependable Introspec3on Framework via System Management Mode

Fengwei Zhang, Kevin Leach, Kun Sun, and Angelos Stavrou. In DSN'13.

Presented by Fengwei Zhang

Wayne State University CSC 6991 Topics in Computer Security 1

slide-2
SLIDE 2

Agenda

  • Introduc3on
  • Background
  • System Framework
  • Experimental Results
  • Conclusion

Wayne State University CSC 6991 Topics in Computer Security 2

slide-3
SLIDE 3

Agenda

  • Introduc3on
  • Background
  • System Framework
  • Experimental Results
  • Conclusion

Wayne State University CSC 6991 Topics in Computer Security 3

slide-4
SLIDE 4

Introduc3on

  • Malware detec3on and analysis remain an open

research problem

  • ︎Tradi3onally, malware detec3on is provided by

installing an3-malware tools (e.g., an3-virus) within the OS

  • ︎However, these detec3on tools are vulnerable to

malware running at the same level (e.g., rootkits)

  • ︎’Out-of-box’ introspec3on mechanism proposed

for malware detec3on and analysis (e.g., Virtual machine introspec3on)

Wayne State University CSC 6991 Topics in Computer Security 4

slide-5
SLIDE 5

Introduc3on

  • Virtual Machine Intropsec3on (VMI) systems run malware within a

VM and use analysis tool to introspect the malware from outside

  • ︎VMI systems have been widely adopted for malware detec3on and
  • analysis. They isolate the malware detec3on so]ware from a

vulnerable guest [4, 5, 6]

  • Limita3ons of VMI systems:

– Large Trusted Compu3ng Base (TCB) (e.g., Xen 4.2 has 208K lines of code) – Armored malware can detect the presence of a VM and alter its own execu3on (e.g., an3-VM techniques) – High performance overhead

  • We present Spectre, a dependable introspec3on framework via

system management mode

Wayne State University CSC 6991 Topics in Computer Security 5

slide-6
SLIDE 6

Agenda

  • Introduc3on
  • Background
  • System Framework
  • Experimental Results
  • Conclusion

Wayne State University CSC 6991 Topics in Computer Security 6

slide-7
SLIDE 7

Background

System Management Mode (SMM)

  • A CPU mode on the x86 Architecture.
  • A]er entering into SMM, it executes the System Management

Interrupt (SMI) handler

  • SMI handler stores at a sealed storage called System Management

RAM (SMRAM)

  • BIOS locks the SMRAM, and the SMRAM is inaccessible from any
  • ther CPU modes
  • SMM-based systems

– Integrity checking: HyperGuard [7], HyperCheck [8], – HyperSentry [1] – SMM rootkits [3, 2] – Agacks against SMM [9]

Wayne State University CSC 6991 Topics in Computer Security 7

slide-8
SLIDE 8

Background

Basic Input and Output System (BIOS) and Coreboot

  • BIOS code is stored on-vola3le ROM, and it is

responsible for hardware ini3aliza3on before OS starts.

  • Coreboot is an open source project aimed to

replace the BIOS in current computer

  • Spectre uses a custom SMI handler in

Coreboot

Wayne State University CSC 6991 Topics in Computer Security 8

slide-9
SLIDE 9

Agenda

  • Introduc3on
  • Background
  • System Framework
  • Experimental Results
  • Conclusion

Wayne State University CSC 6991 Topics in Computer Security 9

slide-10
SLIDE 10

System Framework

Target Machine SPECTRE system regularly introspects native memory on target machine Monitor Machine Enter SMM Rebuild semantic data Check kernel code Check kernel data Check program data

  • ptional custom module ...

Report alerts

select module

‘heartbeat’ attack occured?

Wayne State University CSC 6991 Topics in Computer Security 10

slide-11
SLIDE 11

System Framework

  • Step 1: Periodic triggering of SMM

Target Machine SPECTRE system regularly introspects native memory on target machine Monitor Machine Enter SMM

Wayne State University CSC 6991 Topics in Computer Security 11

slide-12
SLIDE 12

System Framework

  • Step 1: Periodic triggering of SMM
  • Step 2: Rebuilding seman3c informa3on

Target Machine SPECTRE system regularly introspects native memory on target machine Monitor Machine Enter SMM Rebuild semantic data

Wayne State University CSC 6991 Topics in Computer Security 12

slide-13
SLIDE 13

System Framework

  • Step 1: Periodic triggering of SMM
  • Step 2: Rebuilding seman3c informa3on
  • Step 3: Running a detec3on module

Target Machine SPECTRE system regularly introspects native memory on target machine Monitor Machine Enter SMM Rebuild semantic data Check kernel code Check kernel data Check program data

  • ptional custom module ...

select module

Wayne State University CSC 6991 Topics in Computer Security 13

slide-14
SLIDE 14

System Framework

  • Step 1: Periodic triggering of SMM
  • Step 2: Rebuilding seman3c informa3on
  • Step 3: Running a detec3on module
  • Step 4: Communica3on with monitor server

Target Machine SPECTRE system regularly introspects native memory on target machine Monitor Machine Enter SMM Rebuild semantic data Check kernel code Check kernel data Check program data

  • ptional custom module ...

Report alerts

select module

‘heartbeat’ attack occured?

Wayne State University CSC 6991 Topics in Computer Security 14

slide-15
SLIDE 15

Step 1: Periodic Triggering of SMM

  • Two ways to trigger an SMI

– So]ware-based: write to an ACPI port specified by chipsets – Hardware-based: NIC card, keyboard, mouse, and hardware 3mer

  • Hardware-based method is more reliable than

so]ware-based method, so we use a hardware 3mer at southbridge to periodically assert an SMI

Wayne State University CSC 6991 Topics in Computer Security 15

slide-16
SLIDE 16

Step 2: Rebuilding Seman3c Informa3on

  • SMM only sees the raw memory, and does not know the seman3cs of the

memory (e.g. OS data structures)

  • Similar to the seman3c gap problem in VMI systems
  • We manually bridge the seman3c gap in our prototype, automa3cally

bridging (e.g., Virtuoso [6], VMST [4])

PEB Executive Process Heap List Process Environment Block Heap H0 Heap H1 Heap H2 Heap H3 Heap H4 ... Heap Hn Heap List

Heap H0 Metadata

Segment S0 Segment S1 Segment S2 ... Segment Sn Heap Segment

Segment S0 Metadata... FirstEntry LastEntry

Entry E1 Entry E2 Entry E3 Entry ... Entry En

Data... Data... Data...

Static VA of KPCR 0xffdff000 KPCR KdVersionBlock +34h PsActiveProcessHead prev next +78h Executive Process e.g., “System” prev next Executive Process e.g., “explorer.exe” prev next Executive Process e.g., “lsass.exe” prev next Handle Table 1 Handle Table 2 Handle Table 3 Other Executive Processes Other heap tables ... ...

Wayne State University CSC 6991 Topics in Computer Security 16

slide-17
SLIDE 17

Seman3c Gap Problem in VMI

  • SoK: Introspec3ons on Trust and the Seman3c
  • Gap. Bhushan Jain, Mirza Basim Baig, Dongli

Zhang, Donald E. Porter, and Radu Sion. In S&P'14.

  • SMM-based Systems, TrustZone-based

Systems, SGX, other hardware isolated execu3on environments (HIEEs)

Wayne State University CSC 6991 Topics in Computer Security 17

slide-18
SLIDE 18

Step 3: Running a Detec3on Module

  • We demonstrate the capability of our

framework with three memory-based agacks:

– Detec3ng heap spray agacks – Detec3ng heap overflow agacks – Detec3ng rootkits

  • Other checking modules can be extended into

Spectre with corresponding detec3on algorithm

Wayne State University CSC 6991 Topics in Computer Security 18

slide-19
SLIDE 19

Step 4: Communica3on with Monitor Machine

  • The SMI handler alerts the monitor machine
  • ver a serial or Ethernet cable
  • We port the NIC driver into SMI handler

because we do want to trust any code in the OS

  • ‘Heartbeat’ message can be used to detect

denial of service agack

  • Exit from SMM and resume OS states

Wayne State University CSC 6991 Topics in Computer Security 19

slide-20
SLIDE 20

Agenda

  • Introduc3on
  • Background
  • System Framework
  • Experimental Results
  • Conclusion

Wayne State University CSC 6991 Topics in Computer Security 20

slide-21
SLIDE 21

Prototype Specifica3on

  • ︎ Hardware

– Motherboard: ASUS-M2V MX SE – CPU: 2.2GHz AMD Sempron LE-1250 – RAM: 2GB Kingston DDR2 – NICs: Integrated NIC and Intel e1000 Gigabit with PCI

  • ︎ So]ware

– BIOS: Coreboot+SeaBIOS – OSes: Linux (Cent OS 5.5) and Windows XP SP3

Wayne State University CSC 6991 Topics in Computer Security 21

slide-22
SLIDE 22

Memory Agacks Detec3on

  • Run various memory agacks, and measure the detec3on 3me

in the SMM

  • Detec3on 3me = Time at SMM exit - Time at SMM enter

Wayne State University CSC 6991 Topics in Computer Security 22

slide-23
SLIDE 23

System Overhead

  • Spectre is OS-agnos3c, and can detect memory agacks
  • n both Windows and Linux plaqorms.
  • Benchmark: PassMark on Windows and UnixBench on

Linux

  • First, we run different detec3on modules, and record

their benchmark scores

– Without detec3on module – Heap spray detec3on module – Heap Overflow detec3on module – Rootkits detec3on module

  • Second, we change the SMI triggering rate, and it

ranges from 1/16 s to 5s

Wayne State University CSC 6991 Topics in Computer Security 23

slide-24
SLIDE 24

System Overhead

  • X-coordinate: Sampling interval ︎
  • Y-coordinate: Percent overhead

Windows Linux

5s 2s 1s

1 2 s 1 16 s

0% 10% 20% Sampling interval / s Percent overhead Without detection module Heap spray module Heap overflow module Rootkit module 5s 2s 1s

1 2 s 1 16 s

0% 5% 10% 15% 20% Sampling interval / s Percent overhead Without detection module Heap spray detection module Rootkit detection module

Wayne State University CSC 6991 Topics in Computer Security 24

slide-25
SLIDE 25

Comparison with VMI Systems

  • Smaller code base–Spectre only trust the BIOS, but VMI

systems need to trust hypervisor

  • More transparent–armored malware with an3-VM techniques

cannot detect it

  • Beger Performance

Wayne State University CSC 6991 Topics in Computer Security 25

slide-26
SLIDE 26

Agenda

  • Introduc3on
  • Background
  • System Framework
  • Experimental Results
  • Conclusion

Wayne State University CSC 6991 Topics in Computer Security 26

slide-27
SLIDE 27

Conclusion

  • ︎We introduce a hardware-assisted framework

that can examine code across all layers of a running system

  • Spectre is OS-agnos3c and fully transparent to

higher level so]ware

  • We have implemented a prototype of our

framework in both Linux and Windows, and demonstrates that our system can detect various memory agacks including heap spray, heap

  • verflow and rootkits.

Wayne State University CSC 6991 Topics in Computer Security 27

slide-28
SLIDE 28

References

Wayne State University CSC 6991 Topics in Computer Security 28