+ All Categories
Home > Documents > TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... •...

TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... •...

Date post: 03-Jul-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
22
TF-BIVTransparent and Fine-grained Binary Integrity Verification in the Cloud Fangjie Jiang, Quanwei Cai, Jingqiang Lin, Bo Luo, Le Guan, Ziqiang Ma
Transcript
Page 1: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

TF-BIV:Transparent and Fine-grained Binary Integrity Verification in the Cloud

Fangjie Jiang, Quanwei Cai, Jingqiang Lin, Bo Luo, Le Guan, Ziqiang Ma

Page 2: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

MotivationØ Cloud computing service

Ø 94% (IT Inc.)

Ø 1.2 billion (2013-2018)

Ø Add-on servicesØ Mail server

Ø Developer tools

Ø Database

Ø Internet of things

Page 3: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

MotivationØ Cryptographic Cloud Services – Sensitive Service

Ø AWS CloudHSM, Alibaba Aliyun encryption service

Ø Key Management Service (KMS)• AWS KMS , Alibaba Aliyun KMS, Microsoft Azure Key Vault, etc.

Ø key security

• Strong enough

• Cryptographic algorithms

• FIPS 140-2 HSMØ Invocation security

• ID and PW.

Ø Binary Integrity as a Service Ø Cloud service provider: protecting platform security

Ø Tenants: protecting critical service

Ø Authorization of callers of sensitive services: specified and enforced at the process level

Page 4: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

ChallengesØ Desired properties

Ø Isolation• Isolated from guest VM

Ø Transparency• No modification

• Guest OS

• Target application

Ø TOCTTOU consistency• Time of Check to Time of Use

• Beyond the time-of-verification

• Entire lifetime

Ø Fine-grained• Designate the sensitive applications (called S-process) to be protected

Page 5: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

BACKGROUNDØ Intel Hardware-assisted Virtualization

Ø Virtual machine control structure (VMCS)

• Monitor trap flag (MTF)

• Single step

• CR3-load exiting flag

• MOV to CR3

Ø Extended Page Table (EPT)• Guest VM

• Guest virtual address(GVA) à Guest physical address (GPA)

• EPT

• GPA à Host physical address(HPA)

• Privilege flags

• Read, write, and execute

• EPT violation

Page 6: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

TF-BIVØ Overview

Ø Based on hardware event

• Performed in VMM(Isolation)

• No modifications in VM(Transparency)

Ø Intel EPT WÅX

• Verification before execution

• Capturing any modifications to verified code(TOCTTOU consistency)

Ø Comprehensive Verification of S-process(Fine-grained)

• S-process creation、switch identification

• CR3-load exiting

• Verification of related codes

• Loadable kernel module、kernel、shared library、mixed page

• Monitoring any update to page table

• Intel EPT、MTF

Page 7: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

TF-BIV

Ø InitializationØ Generating reference hash values

Ø Running timeu S-process creation

• CR3-load exit event

v S-process’s page table updating

• EPT non-writable exit event

• MTF exit event

w Code execution in S-process’s address space

• EPT non-executable exit event

x TF-BIV capturing all modifications to the verified code

• EPT non-writable exit event

S-process Normalprocess

VMM-TF-BIVGPA

HPA

Paging Structures

Process List

vCPU

Mov

e to

CR

3

CPU Fetch instruction

CR3

Write to page structures

S-process code Shared library code Verified Unverified

Write to verified code page

1

32 4

S-process . . .

Guest physical page of paging structures

Page 8: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

TF-BIV

Ø S-process identificationØ CR3-load exiting

• Unknown CR3 value

• Creation of a new process

• S-process identification

• VMI

• Directly but inaccurate

• Reference hash

process-a process-bMove to CR3

. . . Process List

vCPUCR3New value

page table

hash

S-process

Page 9: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

S-process

VMM-TF-BIVGPA

HPA

Paging Structures

vCPU

Mov

e to

CR

3

CPU

CR3

S-process code

Shared library code Verified Unverified

1

Paging structures

TF-BIVØ Memory layout monitoring

Ø Monitoring page table update

• EPT non-writable exiting + MTF exiting

• Paging structures setting non-writable

• Capturing guest VM updating

• EPT non-writable exiting

• Allowing write access

• Enable MTF exiting

• MTF exiting

• Checking updating status

• Disable MTF

• Paging structures again non-writable

• Monitor further page table update

• Timely discover new mapped code page

writableNon-writable

MTF

Page table update

Updating finished Enable MTF

Write to page structures

Page 10: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

TF-BIV

...List of running S-processes

new mapped page

Memory areas

Memory areas

va

vavavava

vavavava

vavavava

file:binary aoffset of page 1

offset of page m

...

file:lib-aoffset of page 1

offset of page f

...

file:binay boffset of page 1

offset of page n

...

name: binary astart GVAend GVA

VMI(mmap)

name: lib-astart GVAend GVA

Name: lib-astart GVAend GVA

name: binary bstart GVAend GVA

...

Offset = GVA – start GVA

Ø Identifying newly mapped memory areasØ New mapped code page identification

• Find the corresponding reference hash

Ø Native

• One by one

• Time-consuming

Ø Optimization based on VMI

• Obtain the corresponding binary information

• Binary name, start VA .etc.

• Acceleration

• No influence of the verification result

Page 11: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

TF-BIVØ Integrity verification of code pages

Ø WÅX

Ø New loaded guest physical page – non-executable

Ø EPT non-executable exiting

• Virtual address

• User space

• S-process’s related code

• S-process

• Shared libraries

• Nonrelated code

• Kernel space

Page 12: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

TF-BIVØ Integrity Verification of Code Pages

Ø Shared code pages verification

• Executable before mapped

• After mapped by S-process

• Non-executable again

• Pre-executed by another process

• Memory layout

• Binary identifier

• Offset in the binary

• GPA of the shared code pages

• Status (verified/unverified)

• Count of S-process

• Mapped the shared code pages

• Once count is 0, remove the record

Page 13: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

TF-BIVØ Kernel Space integrity

Ø Kernel

• VM startup

• Non-writable

Ø Loadable kernel module (LKM)

• Dynamically loaded kernel component

• Relocation and linking

• Init block (erased after LKM loaded)

• Code block

• Recording all loaded LKM information

• Write to the memory area of a verified LKM

• Remove its information

• Unloaded

Page 14: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

TF-BIVØ Mixed page

Ø Code and mutable data:W ÅX

Ø Solution• Original mixed page provides data view ( NX)

• New physical page provide code view ( NW)

• Duplication from original mixed page

• Replace data region with NOP

• View switch

• EPT non-executable exiting

• Code integrity verification

• Code view

• EPT non-writable + non-readable exiting

• Data view

• iTLB、dTLB

Original mixed page New mixed page

Physical memory

VM

Extended Page Table

Code

Data

Code

NOP

Data Access

W

Fetch instructionEPT violation

X

Page 15: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

Security AnalysisØ All the related code

Ø Kernel and LKM

Ø Track S-process’s creation

Ø Monitor all the page table updates

Ø Write protection of verified pages

Ø Focus on static code

Ø AttacksØ Before loaded into memory

• Modify the binary of the program during software downloading

Ø Runtime• Inject malicious code into S-process’s address space

• Buffer overflow, format string overflow

• Address mapping manipulation attacks

• Mapping unverified code page

• Double mapping or reorder

Page 16: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

Application in the Cloud Cryptographic ServiceØ Integration

Ø Specify S-processes

Ø TF-BIV provides Integrity verification

Ø HTTPS

• Access control performed in network card emulation

• Challenge:Couple TF-BIV and Cryptographic service invocation

• Couple network connections with S-process

• Further assumption

• Kernel structures (task_struct, mm_struct, files_struct,

fdatble and file)

• System symbols (init_task, socket_operation,

socket_dentry_operation)

• Kernel data integrity protected by existed schemes

Osck or KI-Mon

Page 17: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

ImplementationØ TF-BIV

Ø KVM(Linux 3.13) (1000 lines)

• vm_read/vm_write raed/set VMCS

• Config EPT access bits

• Distinguish exit events based on exit_qulification

Ø Integration with cryptographic service Ø e1000 network card emulated in QEMU(1.7.1) (600 lines)

• Couple VMI and Invocation event

• Twice check

Ø Hash GeneratorØ Offline

Ø ELF

Page 18: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

Ø ConfigurationsØ Dell OptiPlex 9020, Intel i7-4770 (3.4TGHZ),16GB Memory

Ø Host:CentOS 6.6, Linux kernel 3.13, QEMU/KVM 1.7.1

Ø VM:CentOS 6.6, Linux kernel 3.13.7, 4vCPU, 4GB Memory

Ø StartupØ Boot time of VM

Ø Bootchart• Overhead 1.49%

Ø SPECINT BenchmarkØ Impact about performance of vcpu

Ø Comparison

• Native Linux

• TF-BIV enabled

• TF-BIV enable and cryptographic service invoked

Ø Overhead 3.6%

Evaluation

Page 19: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

Evaluation -- Network Performance

Ø Assistant Machine(Intel i5-4590 3.3GHZ, 16GB)

Ø iPerfØ Dual Testing and Tradeoff Testing

Ø Bandwidth overhead 3.81%

Page 20: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

Evaluation – HTTPS PerformanceØ Throughout

Ø Overhead 8.3%(concurrent 128)

Ø 99% LatencyØ Overhead 5.7%(concurrent 128)

Page 21: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

Conclusion

Ø The first binary integrity verification scheme achieves the following four desired

properties Ø Isolation, transparency, TOUTTOU consistency and fine-grained

Ø Authorization of sensitive services enforced at process levelØ Integrated with cloud cryptographic service.

Ø Prototype system and evaluationØ 3.81%

Page 22: TF-BIV Transparent and Fine-grained Binary Integrity ...• Beyond the time-of-verification ... • Loadable kernel module、kernel、shared library、mixed page • Monitoring any

Thank You!

Questions?


Recommended