SlideShare a Scribd company logo
1 of 40
Download to read offline
BMCArmor: A Hardware Protection Scheme
for Bare-Metal Clouds
Takaaki Fukai, Satoru Takekoshi (University of Tsukuba, Japan);
Kohei Azuma, Takahiro Shinagawa (The University of Tokyo, Japan);
Kazuhiko Kato (University of Tsukuba, Japan)
Bare-metal clouds
= IaaS providing physical machine
2
Internet
User
Data Center
Physical machines
E.g. IBM Cloud, Oracle Cloud, AWS
Virtual machine vs. Physical machine
3
OS
Direct
Access
OS
VMM
virt Hardware
Access
Translated
Access
Physical machineVirtual machine
Virtual machine vs. Physical machine
4
OS
Direct
Access
OS
VMM
virt Hardware
Access
Translated
Access
Physical machineVirtual machine
Have No virtualization overhead
Virtual machine vs. Physical machine
5
OS
Direct
Access
OS
VMM
virt Hardware
Access
Translated
Access
Physical machineVirtual machine
Have No virtualization overhead
Expose all hardware functions
Virtual machine vs. Physical machine
6
OS
Direct
Access
OS
VMM
virt Hardware
Access
Translated
Access
Physical machineVirtual machine
Have No virtualization overhead
Expose all hardware functions
Direct access to physical hardware
7
OS
Internet
Data Center
User
Direct
Access
Direct access to physical hardware
8
OS
Internet
Data Center
User
NVM
UEFI/BIOS
NVM NVM
Firmware Firmware
Direct
Access
Direct access to physical hardware
9
OS
Internet
Data Center
User
Install
Rootkit
Break
Firmware
Malicious
NVM
UEFI/BIOS
NVM NVM
Firmware Firmware
Attack hardware by malicious user
10
OS
Internet
Data Center
User
Break
Firmware
Malicious
NVM
UEFI/BIOS
NVM NVM
Firmware Firmware
Hardware become
unworkable
Attack hardware by malicious user
11
OS
Internet
Data Center
User
Install
Rootkit
Malicious
NVM
UEFI/BIOS
NVM NVM
Firmware Firmware
Attack hardware by malicious user
12
OS
Data Center
User
Install
Rootkit
Malicious
NVM
UEFI/BIOS
NVM NVM
Firmware Firmware
Internet
User
Attack hardware by malicious user
13
OS
Internet
Data Center
User
Install
Rootkit
Malicious
NVM
UEFI/BIOS
NVM NVM
Firmware Firmware
Attack OS
User
Attack hardware by malicious user
14
OS
Internet
Data Center
User
Install
Rootkit
Malicious
NVM
UEFI/BIOS
NVM NVM
Firmware Firmware
Attack OS
Steal data
User
Attack hardware by malicious user
15
OS
Internet
Data Center
User
Install
Rootkit
Malicious
NVM
UEFI/BIOS
NVM NVM
Firmware Firmware
Attack OS
Steal data
Break data
User
Existing counter methods
Protection of NVM by hardware
• May have vulnerability [Kallenberg et al. 2015]
• Not enabled in some real machines
• Many peripheral devices has no protection of NVM
Restoration of NVM after the machine is returned
• The hardware may not work enough to restore the NVM
• The rootkit may block the restoration
16
Related works
about hardware security
• VIPER [Yanlin., et al CCS 2011]
• Detecting malware in devices by measuring response time
• By the OS
• IOCheck[Fengwei., et al ESORICS 2014]
• Check the devices and firmware by BIOS in SMM
17
Detecting malware in hardware for protecting OS
Related works
about hardware security
• VIPER [Yanlin., et al CCS 2011]
• Detecting malware in devices by measuring response time
• By the OS
• IOCheck[Fengwei., et al ESORICS 2014]
• Check the devices and firmware by BIOS in SMM
18
Detecting malware in hardware for protecting OS
Not prevent from breaking firmware
Not remove installed malware
Our goal: Protect all of NVMs
• Even if the hardware does not have protection of itself
• Prevent modification of NVM
• Prevention is better than cure
19
Install
Rootkit
Break
Firmware
NVM
UEFI/BIOS
NVM NVM
Firmware Firmware
System requirement
in bare-metal clouds
• OS-independency
• Any OS will run on the machines
(including any version and customized OS)
• Almost zero performance degradation
• To keep performance advantage of the bare-metal clouds
20
Proposal: BMCArmor
21
Hardware
Hypervisor
Guest OS
NVMOther Functions Protection of
NVM
Enabling
Protect NVM by thin hypervisor
= Read access = Write access
Protect
Interrupt
DMA
Proposal: BMCArmor
22
Hardware
Hypervisor
Guest OS
NVMOther Functions Protection of
NVM
Enabling
Protect NVM by thin hypervisor
= Read access = Write access
OS-independent
Protect
Interrupt
DMA
Proposal: BMCArmor
23
Hardware
Hypervisor
Guest OS
NVMOther Functions Protection of
NVM
Enabling
Protect NVM by thin hypervisor
= Read access = Write access
OS-independent Pass-through
Protect
Interrupt
DMA
Proposal: BMCArmor
24
Hardware
Hypervisor
Guest OS
NVMOther Functions Protection of
NVM
Enabling
Protect NVM by thin hypervisor
= Read access = Write access
OS-independent Pass-through
Block writing
to NVM
Protect
Interrupt
DMA
Proposal: BMCArmor
25
Hardware
Hypervisor
Guest OS
NVMOther Functions Protection of
NVM
Enabling
Protect NVM by thin hypervisor
= Read access = Write access
OS-independent Pass-through
Block writing
to NVM
Keep protection enabled
Protect
Interrupt
DMA
Types of write accesses to NVM
26
NVM
OS
I/O
instruction
Registers
I/O space Physical memory space
Memory access
MMIO registers Memory mapped
NVM data
• BMCArmor uses the CPU’s function to intercept I/O
instructions issued by the guest OS
How to block the accesses via I/O spaces
27
NVM
Register
I/O space
Cause VMExit on read/write
 Translate the control to Hypervisor
RegisterRegister
OS
=Read/Write access
Hypervisor Read: Emulate, Write: Discard
Pass-through
Intercept
How to block the memory accesses
Intercept by using Nested-paging mechanism
28
Host Physical
Address
No write-permission
VMExit on writes
=Write access
NVM
Register
All permissions
 Pass-through
Guest Physical
Address
OS
Hypervisor Write: Discard
InterceptIntercept
Prototype Implementation
• Based on BitVisor [Shinagawa et al. VEE 2009]
• Enable protections of BIOS ROM by chipset
• Block write accesses to the BIOS ROM and NVM of NIC
29
Evaluation
Security Evaluation
• Does the hypervisor enable the protections?
• Does the hypervisor block the write accesses?
Performance Evaluation
• Is the overhead low?
30
Setup for the evaluation
• CPU: Intel Xeon E5-2603 v4 (1.70GHz)
• Memory: 16GB
• Mother board: ASRock X99 Extreme4
• NIC: Intel 82574L (1 GbE)
• OS: Ubuntu 16.04 LTS (Linux 4.4.0)
31
The machine does not enable the
protections
The results of CHIPSEC w/o BMCArmor : 3 “FAILED”s
32
# chipsec_main
[...]
[!] None of the SPI protected ranges write-protect BIOS region
[...]
[CHIPSEC] Modules failed 2:
[-] FAILED: chipsec.modules.common.bios_wp
[-] FAILED: chipsec.modules.common.spi_lock
[...]
Enabling protection functions
The results of CHIPSEC w/ BMCArmor :
3 “FAILED”s  0 “FAILED”s
33
# chipsec_main
[...]
[+] PASSED: BIOS is write protected (by SMM and SPI Protected
Ranges)
[...]
[CHIPSEC] Modules failed 0:
[...]
[+] PASSED: chipsec.modules.common.bios_wp
[+] PASSED: chipsec.modules.common.spi_lock
[...]
Modification NVM of NIC
34
˜# ethtool -e enp3s0 offset 0 length 6
Offset Values
------ ------
0x0000: 00 1b 21 53 84 3f
˜# ethtool -E enp3s0 magic 0x10d38086 value 0x11 offset 0x0
˜# ethtool -e enp3s0 offset 0 length 6
Offset Values
------ ------
0x0000: 11 1b 21 53 84 3f
˜#
On bare metal: Success the modification
Modification NVM of NIC
35
˜# ethtool -e enp3s0 offset 0 length 6
Offset Values
------ ------
0x0000: 00 1b 21 53 84 3f
˜# ethtool -E enp3s0 magic 0x10d38086 value 0x11 offset 0x0
Cannot set EEPROM data: Operation not permitted
˜# ethtool -e enp3s0 offset 0 length 6
Offset Values
------ ------
0x0000: 00 1b 21 53 84 3f
˜#
On BMCArmor: Blocked the modification
Network performance (Latency)
36
TCP
UDP
Latency (us)
Network performance (Latency)
37
TCP
UDP
< 1% overhead
≈ 24% overhead
Latency (us)
Number of VMExits
BMCArmor KVM
Write to MSR - 39854.7
External Interrupt - 33094.5
I/O instruction - 10473.5
EPT Violation 28239.3 -
Others 36.4 -
Total 28275.7 83422.3
38
Number of VMExits for 1 second during netperf workload
KVM has ≈ x3 VMExits
For timer
interrupt
Conclusion
BMCArmor protects hardware in bare-metal clouds
= Prevents OS’s writing to NVM by using a thin hypervisor
• Block write accesses to NVM
• Enable hardware’s protections of NVM
• Be OS-independent (b/c it is based on hypervisor)
• Have almost zero overhead (no device virtualization)
• Network latency increase is < 1%
39
Future work
• Support more devices (NVMe, 10 GbE)
• Performance evaluation on real applications
• KVS, SQL server, etc
• Evaluation on real services
• IBM Cloud, Oracle Cloud, AWS, etc
40

More Related Content

What's hot

AIXpert - AIX Security expert
AIXpert - AIX Security expertAIXpert - AIX Security expert
AIXpert - AIX Security expertdlfrench
 
XPDDS18: Linux-based Device Model Stubdomains in Qubes OS - Marek Marczykowsk...
XPDDS18: Linux-based Device Model Stubdomains in Qubes OS - Marek Marczykowsk...XPDDS18: Linux-based Device Model Stubdomains in Qubes OS - Marek Marczykowsk...
XPDDS18: Linux-based Device Model Stubdomains in Qubes OS - Marek Marczykowsk...The Linux Foundation
 
Xiv svc best practices - march 2013
Xiv   svc best practices - march 2013Xiv   svc best practices - march 2013
Xiv svc best practices - march 2013Jinesh Shah
 
High Performance Storage Devices in the Linux Kernel
High Performance Storage Devices in the Linux KernelHigh Performance Storage Devices in the Linux Kernel
High Performance Storage Devices in the Linux KernelKernel TLV
 
VIO LPAR Introduction | Basics | Demo
VIO LPAR Introduction | Basics | DemoVIO LPAR Introduction | Basics | Demo
VIO LPAR Introduction | Basics | DemoKernel Training
 
Components of System Unit
Components of System UnitComponents of System Unit
Components of System UnitAfaq Siddiqui
 
Ibm aix technical deep dive workshop advanced administration and problem dete...
Ibm aix technical deep dive workshop advanced administration and problem dete...Ibm aix technical deep dive workshop advanced administration and problem dete...
Ibm aix technical deep dive workshop advanced administration and problem dete...solarisyougood
 
Hardware Probing in the Linux Kernel
Hardware Probing in the Linux KernelHardware Probing in the Linux Kernel
Hardware Probing in the Linux KernelKernel TLV
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom BoardPatrick Bellasi
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMSherif Mousa
 
Design decision nfs-versus_fc_storage v_0.3
Design decision nfs-versus_fc_storage v_0.3Design decision nfs-versus_fc_storage v_0.3
Design decision nfs-versus_fc_storage v_0.3David Pasek
 
Redesigning Xen Memory Sharing (Grant) Mechanism
Redesigning Xen Memory Sharing (Grant) MechanismRedesigning Xen Memory Sharing (Grant) Mechanism
Redesigning Xen Memory Sharing (Grant) MechanismThe Linux Foundation
 
Tuning Android for low RAM
Tuning Android for low RAMTuning Android for low RAM
Tuning Android for low RAMChris Simmonds
 
Project ACRN Device Passthrough Introduction
Project ACRN Device Passthrough IntroductionProject ACRN Device Passthrough Introduction
Project ACRN Device Passthrough IntroductionProject ACRN
 
AIX Advanced Administration Knowledge Share
AIX Advanced Administration Knowledge ShareAIX Advanced Administration Knowledge Share
AIX Advanced Administration Knowledge Share.Gastón. .Bx.
 
Generic Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András KovácsGeneric Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András Kovácsharryvanhaaren
 
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...The Linux Foundation
 
Spectrum Scale Best Practices by Olaf Weiser
Spectrum Scale Best Practices by Olaf WeiserSpectrum Scale Best Practices by Olaf Weiser
Spectrum Scale Best Practices by Olaf WeiserSandeep Patil
 
Simple Virtualization Overview
Simple Virtualization OverviewSimple Virtualization Overview
Simple Virtualization Overviewbassemir
 

What's hot (20)

AIXpert - AIX Security expert
AIXpert - AIX Security expertAIXpert - AIX Security expert
AIXpert - AIX Security expert
 
XPDDS18: Linux-based Device Model Stubdomains in Qubes OS - Marek Marczykowsk...
XPDDS18: Linux-based Device Model Stubdomains in Qubes OS - Marek Marczykowsk...XPDDS18: Linux-based Device Model Stubdomains in Qubes OS - Marek Marczykowsk...
XPDDS18: Linux-based Device Model Stubdomains in Qubes OS - Marek Marczykowsk...
 
Xiv svc best practices - march 2013
Xiv   svc best practices - march 2013Xiv   svc best practices - march 2013
Xiv svc best practices - march 2013
 
High Performance Storage Devices in the Linux Kernel
High Performance Storage Devices in the Linux KernelHigh Performance Storage Devices in the Linux Kernel
High Performance Storage Devices in the Linux Kernel
 
VIO LPAR Introduction | Basics | Demo
VIO LPAR Introduction | Basics | DemoVIO LPAR Introduction | Basics | Demo
VIO LPAR Introduction | Basics | Demo
 
Components of System Unit
Components of System UnitComponents of System Unit
Components of System Unit
 
Ibm aix technical deep dive workshop advanced administration and problem dete...
Ibm aix technical deep dive workshop advanced administration and problem dete...Ibm aix technical deep dive workshop advanced administration and problem dete...
Ibm aix technical deep dive workshop advanced administration and problem dete...
 
Hardware Probing in the Linux Kernel
Hardware Probing in the Linux KernelHardware Probing in the Linux Kernel
Hardware Probing in the Linux Kernel
 
Linux Porting to a Custom Board
Linux Porting to a Custom BoardLinux Porting to a Custom Board
Linux Porting to a Custom Board
 
High Availability and Xen
High Availability and XenHigh Availability and Xen
High Availability and Xen
 
Building Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARMBuilding Embedded Linux Full Tutorial for ARM
Building Embedded Linux Full Tutorial for ARM
 
Design decision nfs-versus_fc_storage v_0.3
Design decision nfs-versus_fc_storage v_0.3Design decision nfs-versus_fc_storage v_0.3
Design decision nfs-versus_fc_storage v_0.3
 
Redesigning Xen Memory Sharing (Grant) Mechanism
Redesigning Xen Memory Sharing (Grant) MechanismRedesigning Xen Memory Sharing (Grant) Mechanism
Redesigning Xen Memory Sharing (Grant) Mechanism
 
Tuning Android for low RAM
Tuning Android for low RAMTuning Android for low RAM
Tuning Android for low RAM
 
Project ACRN Device Passthrough Introduction
Project ACRN Device Passthrough IntroductionProject ACRN Device Passthrough Introduction
Project ACRN Device Passthrough Introduction
 
AIX Advanced Administration Knowledge Share
AIX Advanced Administration Knowledge ShareAIX Advanced Administration Knowledge Share
AIX Advanced Administration Knowledge Share
 
Generic Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András KovácsGeneric Resource Manager - László Vadkerti, András Kovács
Generic Resource Manager - László Vadkerti, András Kovács
 
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
XPDS16: Live Migration of vGPU - Xiao Zheng, Intel Asia-Pacific Research & De...
 
Spectrum Scale Best Practices by Olaf Weiser
Spectrum Scale Best Practices by Olaf WeiserSpectrum Scale Best Practices by Olaf Weiser
Spectrum Scale Best Practices by Olaf Weiser
 
Simple Virtualization Overview
Simple Virtualization OverviewSimple Virtualization Overview
Simple Virtualization Overview
 

Similar to BMCArmor: A Hardware Protection Scheme for Bare-metal Clouds

Dependable Cloud Comuting
Dependable Cloud ComutingDependable Cloud Comuting
Dependable Cloud ComutingKazuhiko Kato
 
Gal Diskin - Virtually Impossible
Gal Diskin - Virtually Impossible Gal Diskin - Virtually Impossible
Gal Diskin - Virtually Impossible DefconRussia
 
Virtual Pc Seminar
Virtual Pc SeminarVirtual Pc Seminar
Virtual Pc Seminarguest5b5549
 
Bootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-releaseBootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-releaseEric Koeppen
 
Spike yuan server ras and uefi cper final
Spike yuan  server ras and uefi cper finalSpike yuan  server ras and uefi cper final
Spike yuan server ras and uefi cper finalparth bera
 
A Comprehensive Implementation and Evaluation of Direct Interrupt Delivery
A Comprehensive Implementation and Evaluation of Direct Interrupt DeliveryA Comprehensive Implementation and Evaluation of Direct Interrupt Delivery
A Comprehensive Implementation and Evaluation of Direct Interrupt DeliveryCheng-Chun William Tu
 
DEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORS
DEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORSDEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORS
DEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORSFelipe Prado
 
OSMC 2014: Server Hardware Monitoring done right | Werner Fischer
OSMC 2014: Server Hardware Monitoring done right | Werner FischerOSMC 2014: Server Hardware Monitoring done right | Werner Fischer
OSMC 2014: Server Hardware Monitoring done right | Werner FischerNETWAYS
 
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...Kuniyasu Suzaki
 
Bootkits: past, present & future
Bootkits: past, present & futureBootkits: past, present & future
Bootkits: past, present & futureAlex Matrosov
 
Persistent BIOS Infection
Persistent BIOS InfectionPersistent BIOS Infection
Persistent BIOS Infectionguest042636
 
Persistent Bios Infection
Persistent Bios InfectionPersistent Bios Infection
Persistent Bios Infectionguest042636
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON
 

Similar to BMCArmor: A Hardware Protection Scheme for Bare-metal Clouds (20)

Dependable Cloud Comuting
Dependable Cloud ComutingDependable Cloud Comuting
Dependable Cloud Comuting
 
Gal Diskin - Virtually Impossible
Gal Diskin - Virtually Impossible Gal Diskin - Virtually Impossible
Gal Diskin - Virtually Impossible
 
Virtual Pc Seminar
Virtual Pc SeminarVirtual Pc Seminar
Virtual Pc Seminar
 
Interrupts
InterruptsInterrupts
Interrupts
 
ITE7_Chp3.pptx
ITE7_Chp3.pptxITE7_Chp3.pptx
ITE7_Chp3.pptx
 
Server virtualization
Server virtualizationServer virtualization
Server virtualization
 
Bootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-releaseBootkits step by-step-slides-final-v1-release
Bootkits step by-step-slides-final-v1-release
 
Usenix Invited Talk
Usenix Invited TalkUsenix Invited Talk
Usenix Invited Talk
 
Spike yuan server ras and uefi cper final
Spike yuan  server ras and uefi cper finalSpike yuan  server ras and uefi cper final
Spike yuan server ras and uefi cper final
 
A Comprehensive Implementation and Evaluation of Direct Interrupt Delivery
A Comprehensive Implementation and Evaluation of Direct Interrupt DeliveryA Comprehensive Implementation and Evaluation of Direct Interrupt Delivery
A Comprehensive Implementation and Evaluation of Direct Interrupt Delivery
 
Handout2o
Handout2oHandout2o
Handout2o
 
DEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORS
DEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORSDEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORS
DEF CON 27 - ALI ISLAM and DAN REGALADO WEAPONIZING HYPERVISORS
 
Tapping into the core
Tapping into the coreTapping into the core
Tapping into the core
 
OSMC 2014: Server Hardware Monitoring done right | Werner Fischer
OSMC 2014: Server Hardware Monitoring done right | Werner FischerOSMC 2014: Server Hardware Monitoring done right | Werner Fischer
OSMC 2014: Server Hardware Monitoring done right | Werner Fischer
 
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
Kernel Memory Protection by an Insertable Hypervisor which has VM Introspec...
 
Bootkits: past, present & future
Bootkits: past, present & futureBootkits: past, present & future
Bootkits: past, present & future
 
Persistent BIOS Infection
Persistent BIOS InfectionPersistent BIOS Infection
Persistent BIOS Infection
 
Persistent Bios Infection
Persistent Bios InfectionPersistent Bios Infection
Persistent Bios Infection
 
Faults inside System Software
Faults inside System SoftwareFaults inside System Software
Faults inside System Software
 
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
44CON 2014 - Stupid PCIe Tricks, Joe Fitzpatrick
 

More from Shinagawa Laboratory, The University of Tokyo

More from Shinagawa Laboratory, The University of Tokyo (8)

Towards Isolated Execution at the Machine Level
Towards Isolated Execution at the Machine LevelTowards Isolated Execution at the Machine Level
Towards Isolated Execution at the Machine Level
 
DMAFV: Testing Device Drivers against DMA Faults
DMAFV: Testing Device Drivers against DMA FaultsDMAFV: Testing Device Drivers against DMA Faults
DMAFV: Testing Device Drivers against DMA Faults
 
Deriving Optimal Deep Learning Models for Image-based Malware Classification
Deriving Optimal Deep Learning Models for Image-based Malware ClassificationDeriving Optimal Deep Learning Models for Image-based Malware Classification
Deriving Optimal Deep Learning Models for Image-based Malware Classification
 
遅延レイヤ取得による高互換コンテナ起動高速化手法
遅延レイヤ取得による高互換コンテナ起動高速化手法遅延レイヤ取得による高互換コンテナ起動高速化手法
遅延レイヤ取得による高互換コンテナ起動高速化手法
 
ライブマイグレーションにおけるサブページ書き込み保護の評価
ライブマイグレーションにおけるサブページ書き込み保護の評価ライブマイグレーションにおけるサブページ書き込み保護の評価
ライブマイグレーションにおけるサブページ書き込み保護の評価
 
A Robust and Flexible Operating System Compatibility Architecture
A Robust and Flexible Operating System Compatibility ArchitectureA Robust and Flexible Operating System Compatibility Architecture
A Robust and Flexible Operating System Compatibility Architecture
 
FaultVisor2: Testing Hypervisor Device Drivers against Real Hardware Failures
FaultVisor2: Testing Hypervisor Device Drivers against Real Hardware FailuresFaultVisor2: Testing Hypervisor Device Drivers against Real Hardware Failures
FaultVisor2: Testing Hypervisor Device Drivers against Real Hardware Failures
 
Distributed Denial of Service Attack Prevention at Source Machines
Distributed Denial of Service Attack Prevention at Source MachinesDistributed Denial of Service Attack Prevention at Source Machines
Distributed Denial of Service Attack Prevention at Source Machines
 

Recently uploaded

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 

Recently uploaded (20)

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 

BMCArmor: A Hardware Protection Scheme for Bare-metal Clouds

  • 1. BMCArmor: A Hardware Protection Scheme for Bare-Metal Clouds Takaaki Fukai, Satoru Takekoshi (University of Tsukuba, Japan); Kohei Azuma, Takahiro Shinagawa (The University of Tokyo, Japan); Kazuhiko Kato (University of Tsukuba, Japan)
  • 2. Bare-metal clouds = IaaS providing physical machine 2 Internet User Data Center Physical machines E.g. IBM Cloud, Oracle Cloud, AWS
  • 3. Virtual machine vs. Physical machine 3 OS Direct Access OS VMM virt Hardware Access Translated Access Physical machineVirtual machine
  • 4. Virtual machine vs. Physical machine 4 OS Direct Access OS VMM virt Hardware Access Translated Access Physical machineVirtual machine Have No virtualization overhead
  • 5. Virtual machine vs. Physical machine 5 OS Direct Access OS VMM virt Hardware Access Translated Access Physical machineVirtual machine Have No virtualization overhead Expose all hardware functions
  • 6. Virtual machine vs. Physical machine 6 OS Direct Access OS VMM virt Hardware Access Translated Access Physical machineVirtual machine Have No virtualization overhead Expose all hardware functions
  • 7. Direct access to physical hardware 7 OS Internet Data Center User Direct Access
  • 8. Direct access to physical hardware 8 OS Internet Data Center User NVM UEFI/BIOS NVM NVM Firmware Firmware Direct Access
  • 9. Direct access to physical hardware 9 OS Internet Data Center User Install Rootkit Break Firmware Malicious NVM UEFI/BIOS NVM NVM Firmware Firmware
  • 10. Attack hardware by malicious user 10 OS Internet Data Center User Break Firmware Malicious NVM UEFI/BIOS NVM NVM Firmware Firmware Hardware become unworkable
  • 11. Attack hardware by malicious user 11 OS Internet Data Center User Install Rootkit Malicious NVM UEFI/BIOS NVM NVM Firmware Firmware
  • 12. Attack hardware by malicious user 12 OS Data Center User Install Rootkit Malicious NVM UEFI/BIOS NVM NVM Firmware Firmware Internet User
  • 13. Attack hardware by malicious user 13 OS Internet Data Center User Install Rootkit Malicious NVM UEFI/BIOS NVM NVM Firmware Firmware Attack OS User
  • 14. Attack hardware by malicious user 14 OS Internet Data Center User Install Rootkit Malicious NVM UEFI/BIOS NVM NVM Firmware Firmware Attack OS Steal data User
  • 15. Attack hardware by malicious user 15 OS Internet Data Center User Install Rootkit Malicious NVM UEFI/BIOS NVM NVM Firmware Firmware Attack OS Steal data Break data User
  • 16. Existing counter methods Protection of NVM by hardware • May have vulnerability [Kallenberg et al. 2015] • Not enabled in some real machines • Many peripheral devices has no protection of NVM Restoration of NVM after the machine is returned • The hardware may not work enough to restore the NVM • The rootkit may block the restoration 16
  • 17. Related works about hardware security • VIPER [Yanlin., et al CCS 2011] • Detecting malware in devices by measuring response time • By the OS • IOCheck[Fengwei., et al ESORICS 2014] • Check the devices and firmware by BIOS in SMM 17 Detecting malware in hardware for protecting OS
  • 18. Related works about hardware security • VIPER [Yanlin., et al CCS 2011] • Detecting malware in devices by measuring response time • By the OS • IOCheck[Fengwei., et al ESORICS 2014] • Check the devices and firmware by BIOS in SMM 18 Detecting malware in hardware for protecting OS Not prevent from breaking firmware Not remove installed malware
  • 19. Our goal: Protect all of NVMs • Even if the hardware does not have protection of itself • Prevent modification of NVM • Prevention is better than cure 19 Install Rootkit Break Firmware NVM UEFI/BIOS NVM NVM Firmware Firmware
  • 20. System requirement in bare-metal clouds • OS-independency • Any OS will run on the machines (including any version and customized OS) • Almost zero performance degradation • To keep performance advantage of the bare-metal clouds 20
  • 21. Proposal: BMCArmor 21 Hardware Hypervisor Guest OS NVMOther Functions Protection of NVM Enabling Protect NVM by thin hypervisor = Read access = Write access Protect Interrupt DMA
  • 22. Proposal: BMCArmor 22 Hardware Hypervisor Guest OS NVMOther Functions Protection of NVM Enabling Protect NVM by thin hypervisor = Read access = Write access OS-independent Protect Interrupt DMA
  • 23. Proposal: BMCArmor 23 Hardware Hypervisor Guest OS NVMOther Functions Protection of NVM Enabling Protect NVM by thin hypervisor = Read access = Write access OS-independent Pass-through Protect Interrupt DMA
  • 24. Proposal: BMCArmor 24 Hardware Hypervisor Guest OS NVMOther Functions Protection of NVM Enabling Protect NVM by thin hypervisor = Read access = Write access OS-independent Pass-through Block writing to NVM Protect Interrupt DMA
  • 25. Proposal: BMCArmor 25 Hardware Hypervisor Guest OS NVMOther Functions Protection of NVM Enabling Protect NVM by thin hypervisor = Read access = Write access OS-independent Pass-through Block writing to NVM Keep protection enabled Protect Interrupt DMA
  • 26. Types of write accesses to NVM 26 NVM OS I/O instruction Registers I/O space Physical memory space Memory access MMIO registers Memory mapped NVM data
  • 27. • BMCArmor uses the CPU’s function to intercept I/O instructions issued by the guest OS How to block the accesses via I/O spaces 27 NVM Register I/O space Cause VMExit on read/write  Translate the control to Hypervisor RegisterRegister OS =Read/Write access Hypervisor Read: Emulate, Write: Discard Pass-through Intercept
  • 28. How to block the memory accesses Intercept by using Nested-paging mechanism 28 Host Physical Address No write-permission VMExit on writes =Write access NVM Register All permissions  Pass-through Guest Physical Address OS Hypervisor Write: Discard InterceptIntercept
  • 29. Prototype Implementation • Based on BitVisor [Shinagawa et al. VEE 2009] • Enable protections of BIOS ROM by chipset • Block write accesses to the BIOS ROM and NVM of NIC 29
  • 30. Evaluation Security Evaluation • Does the hypervisor enable the protections? • Does the hypervisor block the write accesses? Performance Evaluation • Is the overhead low? 30
  • 31. Setup for the evaluation • CPU: Intel Xeon E5-2603 v4 (1.70GHz) • Memory: 16GB • Mother board: ASRock X99 Extreme4 • NIC: Intel 82574L (1 GbE) • OS: Ubuntu 16.04 LTS (Linux 4.4.0) 31
  • 32. The machine does not enable the protections The results of CHIPSEC w/o BMCArmor : 3 “FAILED”s 32 # chipsec_main [...] [!] None of the SPI protected ranges write-protect BIOS region [...] [CHIPSEC] Modules failed 2: [-] FAILED: chipsec.modules.common.bios_wp [-] FAILED: chipsec.modules.common.spi_lock [...]
  • 33. Enabling protection functions The results of CHIPSEC w/ BMCArmor : 3 “FAILED”s  0 “FAILED”s 33 # chipsec_main [...] [+] PASSED: BIOS is write protected (by SMM and SPI Protected Ranges) [...] [CHIPSEC] Modules failed 0: [...] [+] PASSED: chipsec.modules.common.bios_wp [+] PASSED: chipsec.modules.common.spi_lock [...]
  • 34. Modification NVM of NIC 34 ˜# ethtool -e enp3s0 offset 0 length 6 Offset Values ------ ------ 0x0000: 00 1b 21 53 84 3f ˜# ethtool -E enp3s0 magic 0x10d38086 value 0x11 offset 0x0 ˜# ethtool -e enp3s0 offset 0 length 6 Offset Values ------ ------ 0x0000: 11 1b 21 53 84 3f ˜# On bare metal: Success the modification
  • 35. Modification NVM of NIC 35 ˜# ethtool -e enp3s0 offset 0 length 6 Offset Values ------ ------ 0x0000: 00 1b 21 53 84 3f ˜# ethtool -E enp3s0 magic 0x10d38086 value 0x11 offset 0x0 Cannot set EEPROM data: Operation not permitted ˜# ethtool -e enp3s0 offset 0 length 6 Offset Values ------ ------ 0x0000: 00 1b 21 53 84 3f ˜# On BMCArmor: Blocked the modification
  • 37. Network performance (Latency) 37 TCP UDP < 1% overhead ≈ 24% overhead Latency (us)
  • 38. Number of VMExits BMCArmor KVM Write to MSR - 39854.7 External Interrupt - 33094.5 I/O instruction - 10473.5 EPT Violation 28239.3 - Others 36.4 - Total 28275.7 83422.3 38 Number of VMExits for 1 second during netperf workload KVM has ≈ x3 VMExits For timer interrupt
  • 39. Conclusion BMCArmor protects hardware in bare-metal clouds = Prevents OS’s writing to NVM by using a thin hypervisor • Block write accesses to NVM • Enable hardware’s protections of NVM • Be OS-independent (b/c it is based on hypervisor) • Have almost zero overhead (no device virtualization) • Network latency increase is < 1% 39
  • 40. Future work • Support more devices (NVMe, 10 GbE) • Performance evaluation on real applications • KVS, SQL server, etc • Evaluation on real services • IBM Cloud, Oracle Cloud, AWS, etc 40