Spectre: a Dependable Introspecaon Framework Via System

Total Page:16

File Type:pdf, Size:1020Kb

Spectre: a Dependable Introspecaon Framework Via System 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 • Introduc3on • Background • System Framework • Experimental Results • Conclusion Wayne State University CSC 6991 Topics in Computer Security 2 Agenda • Introduc3on • Background • System Framework • Experimental Results • Conclusion Wayne State University CSC 6991 Topics in Computer Security 3 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 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] • Limitaons 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 Agenda • Introduc3on • Background • System Framework • Experimental Results • Conclusion Wayne State University CSC 6991 Topics in Computer Security 6 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 other 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 Background Basic Input and Output System (BIOS) and Coreboot • BIOS code is stored on-volale ROM, and it is responsible for hardware ini3alizaon 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 Agenda • Introduc3on • Background • System Framework • Experimental Results • Conclusion Wayne State University CSC 6991 Topics in Computer Security 9 System Framework Target Machine SPECTRE system regularly introspects native memory on target machine Monitor Machine Check kernel data Rebuild Check kernel code Enter Report alerts SMM semantic data Check program data ‘heartbeat’ attack occured? optional custom module ... select module Wayne State University CSC 6991 Topics in Computer Security 10 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 System Framework • Step 1: Periodic triggering of SMM • Step 2: Rebuilding seman3c informaon Target Machine SPECTRE system regularly introspects native memory on target machine Monitor Machine Enter Rebuild SMM semantic data Wayne State University CSC 6991 Topics in Computer Security 12 System Framework • Step 1: Periodic triggering of SMM • Step 2: Rebuilding seman3c informaon • Step 3: Running a detec3on module Target Machine SPECTRE system regularly introspects native memory on target machine Monitor Machine Check kernel data Enter Rebuild Check kernel code SMM semantic data Check program data optional custom module ... select module Wayne State University CSC 6991 Topics in Computer Security 13 System Framework • Step 1: Periodic triggering of SMM • Step 2: Rebuilding seman3c informaon • Step 3: Running a detec3on module • Step 4: Communicaon with monitor server Target Machine SPECTRE system regularly introspects native memory on target machine Monitor Machine Check kernel data Rebuild Check kernel code Enter Report alerts SMM semantic data Check program data ‘heartbeat’ attack occured? optional custom module ... select module Wayne State University CSC 6991 Topics in Computer Security 14 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 Step 2: Rebuilding Seman3c Informaon • 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, automacally bridging (e.g., Virtuoso [6], VMST [4]) PsActiveProcessHead Executive Process Heap List Segment Static VA of KPCR Segment S0 prev Heap H0 +78h Metadata... 0xffdff000 Heap H1 KPCR KdVersionBlock FirstEntry +34h next Heap H2 LastEntry PEB Heap H3 Entry E1 Executive Process Executive Process Executive Process Heap H4 e.g., “lsass.exe” e.g., “explorer.exe” e.g., “System” ... Data... Heap Hn Other Entry E2 prev prev prev Executive next next next Data... Processes Heap H0 Metadata Entry E3 ... Segment S0 Entry ... Heap List Segment S1 Segment S Data... Other heap 2 ... ... Handle Table 3 Handle Table 2 Handle Table 1 Entry En tables Segment Sn Process Environment Block Heap Wayne State University CSC 6991 Topics in Computer Security 16 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 Step 3: Running a Detec3on Module • We demonstrate the capability of our framework with three memory-based aacks: – Detec3ng heap spray aacks – Detec3ng heap overflow aacks – Detec3ng rootkits • Other checking modules can be extended into Spectre with corresponding detec3on algorithm Wayne State University CSC 6991 Topics in Computer Security 18 Step 4: Communicaon with Monitor Machine • The SMI handler alerts the monitor machine over 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 aack • Exit from SMM and resume OS states Wayne State University CSC 6991 Topics in Computer Security 19 Agenda • Introduc3on • Background • System Framework • Experimental Results • Conclusion Wayne State University CSC 6991 Topics in Computer Security 20 Prototype Specificaon • 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 Memory Agacks Detec3on • Run various memory aacks, 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 System Overhead • Spectre is OS-agnos3c, and can detect memory aacks on both Windows and Linux plaorms. • 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 System Overhead • X-coordinate: Sampling interval ︎ • Y-coordinate: Percent overhead Windows Linux Without detection module 20% Without detection module Heap spray module Heap spray detection module 20% Heap overflow module 15% Rootkit detection module Rootkit module 10% 10% Percent overhead Percent overhead 5% 0% 0% 5s 2s 1s 1 s 1 s 5s 2s 1s 1 1 2 16 2 s 16 s Sampling interval / s Sampling interval / s Wayne State University CSC 6991 Topics in Computer Security 24 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 Agenda • Introduc3on • Background • System Framework • Experimental Results • Conclusion Wayne State University CSC 6991 Topics in Computer Security 26 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 aacks including heap spray, heap overflow and rootkits. Wayne State University CSC 6991 Topics in Computer Security 27 References Wayne State University CSC 6991 Topics in Computer Security 28 .
Recommended publications
  • Intel's SL Enhanced Intel486(TM) Microprocessor Family
    Intel's SL Enhanced Intel486(TM) Microprocessor Family http://www.intel.com/design/intarch/applnots/7014.htm Intel's SL Enhanced Intel486(TM) Microprocessor Family Intel's SL Enhanced Intel486™ Microprocessor Family Technical Backgrounder June 1993 Intel's SL Enhanced Intel486™ Microprocessor Family With the announcement of the SL Enhanced Intel486™ microprocessor family, Intel Corporation brings energy efficiency to its entire line of Intel486™ microprocessors. SL Technology, originally developed for mobile PCs, now provides superior power-management features for desktop computer systems. Such energy-efficient systems will be designed to meet or exceed the Energy Star guidelines set by the Environmental Protection Agency. The EPA's Energy Star program is aimed at reducing power consumption of desktop computer systems, thereby reducing their impact on the environment. In addition, SL Enhanced Intel486™ microprocessors will enable a new class of notebook systems -- high-performance Intel486™ DX2 CPU-based notebooks with color displays that do not sacrifice battery life. The SL Enhanced Intel486™ microprocessor family is available in a complete range of price/performance, package and voltage options. This flexibility allows PC makers to develop products that meet the mobile and desktop needs of all their customers in the mobile and desktop markets, from low-cost, entry-level Intel486™ SX microprocessor-based systems to high-performance, high-end Intel486™ DX2 microprocessor-based systems. Since the SL Technology in SL Enhanced Intel486™ microprocessors is the same as in Intel SL CPUs, computer manufacturers with prior experience developing systems based on existing SL BIOS will be able to incorporate System Management Mode's (SMM) power-management features into new systems.
    [Show full text]
  • Status Update on PCI Express Support in Qemu
    Status Update on PCI Express Support in QEmu Isaku Yamahata, VA Linux Systems Japan K.K. <[email protected]> Xen Summit North America April 28, 2010 Agenda ● Introduction ● Usage and Example ● Implementation Details ● Future Work ● Considerations on further development issues Introduction From http://en.wikipedia.org/wiki/PCI_Express PCI Express native Hotplug Electro Mechanical Lock(EMI) Slot Number From http://docs.hp.com/ Eventual Goal Dom0 qemu-dm interrupt root DomU Inject the error up Virtual PCIe Bus down Interrupt to notify the error Xen VMM hardware PCI express bus PCI Express root port PCI Express upstream port PCI Express Error Message native passthrough PCI Express downstream port With native hot plug support Error PCI Express device Eventual Goal ● More PCI features/PCI express features – The current emulated chipset(I440FX/PIIX3) is too old. – So new Chipset emulator is wanted. ● Xen PCI Express support – PCI Express native hotplug – PCI Express native passthourgh ● When error is detected via AER(Advanced Error Reporting), inject the error into the guest. ● these require several steps, so the first step is... First Phase Goal ● Make Qemu PCI Express ready – Introduce new chipset emulator(Q35) ● PCI Express native hot plug ● Implement PCI Express port emulators, and make it possible to inject errors into guest Current status Qemu/PCI express ● PCIe MMCONFIG Merged. the qemu/guest Q35 chipset base working PCIe portemulator working PCIe native hotplug working firmware PCIe AER WIP PCIe error injection WIP VBE paravirtualization working enhancement is seabios mcfg working almost done. e820 working host bridge initiazatlin working ● pci io/memory The next step is space initialization working passing acpi table outside qemu working qemu upstream vgabios VBE paravirtualization working merge.
    [Show full text]
  • Iocheck: a Framework to Enhance the Security of I/O Devices at Runtime
    IOCheck: A Framework to Enhance the Security of I/O Devices at Runtime Fengwei Zhang Center for Secure Information Systems George Mason University Fairfax, VA 22030 [email protected] Abstract—Securing hardware is the foundation for implement- Management Mode (SMM), a CPU mode in the x86 archi- ing a secure system. However, securing hardware devices remains tecture, to quickly check the integrity of I/O configurations an open research problem. In this paper, we present IOCheck, and firmware. Unlike previous systems [11], [12], IOCheck a framework to enhance the security of I/O devices at runtime. enumerates all of the I/O devices on the motherboard, and It leverages System Management Mode (SMM) to quickly check checks the integrity of their corresponding configurations and the integrity of I/O configurations and firmware. IOCheck does not rely on the operating system and is OS-agnostic. In our firmware. IOCheck does not rely on the operating system, preliminary results, IOCheck takes 4 milliseconds to switch to which significantly reduces the Trust Computing Base (TCB). SMM which introduces low performance overhead. In addition, IOCheck is able to achieve better performance compared to TXT or SVM approaches. For example, the SMM Keywords—Integrity, Firmware, I/O Configurations, SMM switching time is much faster than the late launch method in Flicker [10], [13]. We will demonstrate that IOCheck is able to check the integrity of array of I/O devices including the BIOS, I. INTRODUCTION IOMMU, network card, video card, keyboard, and mouse. With the increasing complexity of hardware devices, Contributions. The purpose of this work is to make the firmware functionality is expanding, exposing new vulner- following contributions: abilities to attackers.
    [Show full text]
  • CS3210: Booting and X86
    1 CS3210: Booting and x86 Taesoo Kim 2 What is an operating system? • e.g. OSX, Windows, Linux, FreeBSD, etc. • What does an OS do for you? • Abstract the hardware for convenience and portability • Multiplex the hardware among multiple applications • Isolate applications to contain bugs • Allow sharing among applications 3 Example: Intel i386 4 Example: IBM T42 5 Abstract model (Wikipedia) 6 Abstract model: CPU, Memory, and I/O • CPU: execute instruction, IP → next IP • Memory: read/write, address → data • I/O: talk to external world, memory-mapped I/O or port I/O I/O: input and output, IP: instruction pointer 7 Today: Bootstrapping • CPU → what's first instruction? • Memory → what's initial code/data? • I/O → whom to talk to? 8 What happens after power on? • High-level: Firmware → Bootloader → OS kernel • e.g., jos: BIOS → boot/* → kern/* • e.g., xv6: BIOS → bootblock → kernel • e.g., Linux: BIOS/UEFI → LILO/GRUB/syslinux → vmlinuz • Why three steps? • What are the handover protocols? 9 BIOS: Basic Input/Output System • QEMU uses an opensource BIOS, called SeaBIOS • e.g., try to run, qemu (with no arguments) 10 From power-on to BIOS in x86 (miniboot) • Set IP → 4GB - 16B (0xfffffff0) • e.g., 80286: 1MB - 16B (0xffff0) • e.g., SPARCS v8: 0x00 (reset vector) DEMO : x86 initial state on QEMU 11 The first instruction • To understand, we first need to understand: 1. x86 state (e.g., registers) 2. Memory referencing model (e.g,. segmentation) 3. BIOS features (e.g., memory aliasing) (gdb) x/1i 0xfffffff0 0xfffffff0: ljmp $0xf000,$0xe05b 12 x86
    [Show full text]
  • Kshot: Live Kernel Patching with SMM and SGX
    KShot: Live Kernel Patching with SMM and SGX Lei Zhou∗y, Fengwei Zhang∗, Jinghui Liaoz, Zhengyu Ning∗, Jidong Xiaox Kevin Leach{, Westley Weimer{ and Guojun Wangk ∗Department of Computer Science and Engineering, Southern University of Science and Technology, Shenzhen, China, zhoul2019,zhangfw,ningzy2019 @sustech.edu.cn f g ySchool of Computer Science and Engineering, Central South University, Changsha, China zDepartment of Computer Science, Wayne State University, Detroit, USA, [email protected] xDepartment of Computer Science, Boise State University, Boise, USA, [email protected] Department of Computer Science and Engineering, University of Michigan, Ann Arbor, USA, kjleach,weimerw @umich.edu { f g kSchool of Computer Science and Cyber Engineering, Guangzhou University, Guangzhou, China, [email protected] Abstract—Live kernel patching is an increasingly common kernel vulnerabilities also merit patching. Organizations often trend in operating system distributions, enabling dynamic up- use rolling upgrades [3], [6], in which patches are designed dates to include new features or to fix vulnerabilities without to affect small subsystems that minimize unplanned whole- having to reboot the system. Patching the kernel at runtime lowers downtime and reduces the loss of useful state from running system downtime, to update and patch whole server systems. applications. However, existing kernel live patching techniques However, rolling upgrades do not altogether obviate the need (1) rely on specific support from the target operating system, to restart software or reboot systems; instead, dynamic hot and (2) admit patch failures resulting from kernel faults. We patching (live patching) approaches [7]–[9] aim to apply present KSHOT, a kernel live patching mechanism based on patches to running software without having to restart it.
    [Show full text]
  • Embedded Intel486™ Processor Hardware Reference Manual
    Embedded Intel486™ Processor Hardware Reference Manual Release Date: July 1997 Order Number: 273025-001 The embedded Intel486™ processors may contain design defects known as errata which may cause the products to deviate from published specifications. Currently characterized errata are available on request. Information in this document is provided in connection with Intel products. No license, express or implied, by estoppel or oth- erwise, to any intellectual property rights is granted by this document. Except as provided in Intel’s Terms and Conditions of Sale for such products, Intel assumes no liability whatsoever, and Intel disclaims any express or implied warranty, relating to sale and/or use of Intel products including liability or warranties relating to fitness for a particular purpose, merchantability, or infringement of any patent, copyright or other intellectual property right. Intel products are not intended for use in medical, life saving, or life sustaining applications. Intel retains the right to make changes to specifications and product descriptions at any time, without notice. Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing your product order. Copies of documents which have an ordering number and are referenced in this document, or other Intel literature, may be obtained from: Intel Corporation P.O. Box 7641 Mt. Prospect, IL 60056-7641 or call 1-800-879-4683 or visit Intel’s web site at http:\\www.intel.com Copyright © INTEL CORPORATION, July 1997 *Third-party brands and names are the property of their respective owners. CONTENTS CHAPTER 1 GUIDE TO THIS MANUAL 1.1 MANUAL CONTENTS ..................................................................................................
    [Show full text]
  • QEMU Version 4.2.0 User Documentation I
    QEMU version 4.2.0 User Documentation i Table of Contents 1 Introduction ::::::::::::::::::::::::::::::::::::: 1 1.1 Features :::::::::::::::::::::::::::::::::::::::::::::::::::::::: 1 2 QEMU PC System emulator ::::::::::::::::::: 2 2.1 Introduction :::::::::::::::::::::::::::::::::::::::::::::::::::: 2 2.2 Quick Start::::::::::::::::::::::::::::::::::::::::::::::::::::: 2 2.3 Invocation :::::::::::::::::::::::::::::::::::::::::::::::::::::: 3 2.3.1 Standard options :::::::::::::::::::::::::::::::::::::::::: 3 2.3.2 Block device options :::::::::::::::::::::::::::::::::::::: 12 2.3.3 USB options:::::::::::::::::::::::::::::::::::::::::::::: 23 2.3.4 Display options ::::::::::::::::::::::::::::::::::::::::::: 23 2.3.5 i386 target only::::::::::::::::::::::::::::::::::::::::::: 30 2.3.6 Network options :::::::::::::::::::::::::::::::::::::::::: 31 2.3.7 Character device options:::::::::::::::::::::::::::::::::: 38 2.3.8 Bluetooth(R) options ::::::::::::::::::::::::::::::::::::: 42 2.3.9 TPM device options :::::::::::::::::::::::::::::::::::::: 43 2.3.10 Linux/Multiboot boot specific ::::::::::::::::::::::::::: 44 2.3.11 Debug/Expert options ::::::::::::::::::::::::::::::::::: 45 2.3.12 Generic object creation :::::::::::::::::::::::::::::::::: 54 2.3.13 Device URL Syntax ::::::::::::::::::::::::::::::::::::: 66 2.4 Keys in the graphical frontends :::::::::::::::::::::::::::::::: 69 2.5 Keys in the character backend multiplexer ::::::::::::::::::::: 69 2.6 QEMU Monitor ::::::::::::::::::::::::::::::::::::::::::::::: 70 2.6.1 Commands :::::::::::::::::::::::::::::::::::::::::::::::
    [Show full text]
  • Sok: Hardware Security Support for Trustworthy Execution
    SoK: Hardware Security Support for Trustworthy Execution Lianying Zhao1, He Shuang2, Shengjie Xu2, Wei Huang2, Rongzhen Cui2, Pushkar Bettadpur2, and David Lie2 1Carleton Universityz, Ottawa, ON, Canada 2University of Toronto, Toronto, ON, Canada Abstract—In recent years, there have emerged many new hard- contribute to lowering power consumption, which is critical ware mechanisms for improving the security of our computer for resource-constrained devices. systems. Hardware offers many advantages over pure software Furthermore, hardware is the Root of Trust (RoT) [48], as approaches: immutability of mechanisms to software attacks, better execution and power efficiency and a smaller interface it bridges the physical world (where human users reside) and allowing it to better maintain secrets. This has given birth to the digital world (where tasks run as software). To securely a plethora of hardware mechanisms providing trusted execution perform a task or store a secret, the user trusts at least part of environments (TEEs), support for integrity checking and memory the computer hardware. safety and widespread uses of hardware roots of trust. Dedicated hardware security support has seen its prolif- In this paper, we systematize these approaches through the lens eration since the early days of computers. It can take a of abstraction. Abstraction is key to computing systems, and the interface between hardware and software contains many abstrac- straightforward form as discrete components to assist the tions. We find that these abstractions, when poorly designed, can CPU, ranging from the industrial-grade tamper-responding both obscure information that is needed for security enforcement, IBM Cryptocards (e.g., 4758 [37]), Apple’s proprietary secure as well as reveal information that needs to be kept secret, leading enclave processor (SEP [84]) for consumer electronics, to the to vulnerabilities.
    [Show full text]
  • SMM) Xeno Kovah && Corey Kallenberg Legbacore, LLC All Materials Are Licensed Under a Creative Commons “Share Alike” License
    Advanced x86: BIOS and System Management Mode Internals System Management Mode (SMM) Xeno Kovah && Corey Kallenberg LegbaCore, LLC All materials are licensed under a Creative Commons “Share Alike” license. http://creativecommons.org/licenses/by-sa/3.0/ ABribuEon condiEon: You must indicate that derivave work "Is derived from John BuBerworth & Xeno Kovah’s ’Advanced Intel x86: BIOS and SMM’ class posted at hBp://opensecuritytraining.info/IntroBIOS.html” 2 System Management Mode (SMM) God Mode AcEvate 3 Batteries Not Included! From http://support.amd.com/us/Processor_TechDocs/24593.pdf 4 System Management Mode (SMM) Overview • Most privileged x86 processor operating mode • Runs transparent to the operating system • When the processor enters SMM, all other running tasks are suspended • SMM can be invoked only by a System Management Interrupt (SMI) and exited only by the RSM (resume) instruction • Intended use is to provide an isolated operating environment for – Power/Battery management – Controlling system hardware – Running proprietary OEM code – etc. (anything that should run privileged and uninterrupted) 5 System Management Mode (SMM) Overview • The code that executes in SMM (called the SMI handler) is instantiated from the BIOS flash • Protecting SMM is a matter of protecting both the active (running) SMRAM address space but also protecting the flash chip from which it is derived – Protect itself (SMBASE (location), SMRAM Permissions) – Write-Protect Flash • So far in our research, only about 5% of SMRAM configurations were directly unlocked and vulnerable to overwrite • However, since > 50% of the BIOS flash chips we've seen are vulnerable, that means > 50% of SMRAM will follow suit 6 System Management Interrupt (SMI) • SMM can only be invoked by signaling a System Management Interrupt (SMI) • SMI’s can be received via the SMI# pin on the processor or through the APIC bus • SMI’s cannot be masked like normal interrupts (e.g.
    [Show full text]
  • Hardware-Assisted Rootkits: Abusing Performance Counters on the ARM and X86 Architectures
    Hardware-Assisted Rootkits: Abusing Performance Counters on the ARM and x86 Architectures Matt Spisak Endgame, Inc. [email protected] Abstract the OS. With KPP in place, attackers are often forced to move malicious code to less privileged user-mode, to ele- In this paper, a novel hardware-assisted rootkit is intro- vate privileges enabling a hypervisor or TrustZone based duced, which leverages the performance monitoring unit rootkit, or to become more creative in their approach to (PMU) of a CPU. By configuring hardware performance achieving a kernel mode rootkit. counters to count specific architectural events, this re- Early advances in rootkit design focused on low-level search effort proves it is possible to transparently trap hooks to system calls and interrupts within the kernel. system calls and other interrupts driven entirely by the With the introduction of hardware virtualization exten- PMU. This offers an attacker the opportunity to redirect sions, hypervisor based rootkits became a popular area control flow to malicious code without requiring modifi- of study allowing malicious code to run underneath a cations to a kernel image. guest operating system [4, 5]. Another class of OS ag- The approach is demonstrated as a kernel-mode nostic rootkits also emerged that run in System Manage- rootkit on both the ARM and Intel x86-64 architectures ment Mode (SMM) on x86 [6] or within ARM Trust- that is capable of intercepting system calls while evad- Zone [7]. The latter two categories, which leverage vir- ing current kernel patch protection implementations such tualization extensions, SMM on x86, and security exten- as PatchGuard.
    [Show full text]
  • 80486DX2-66-Intel-Datasheet-7086155.Pdf
    Distributed by: www.Jameco.com ✦ 1-800-831-4242 The content and copyrights of the attached material are the property of its owner. EMBEDDED IntelDX2™ PROCESSOR ■ Integrated Floating-Point Unit ■ SL Technology ■ Speed-Multiplying Technology ■ Data Bus Parity Generation and Checking ■ 32-Bit RISC Technology Core ■ Boundary Scan (JTAG) ■ 8-Kbyte Write-Through Cache ■ 3.3-Volt Processor, 50 MHz, 25 MHz CLK ■ Four Internal Write Buffers — 208-Lead Shrink Quad Flat Pack (SQFP) ■ ■ Burst Bus Cycles 5-Volt Processor, 66 MHz, 33 MHz CLK — 168-Pin Pin Grid Array (PGA) ■ Dynamic Bus Sizing for 8- and 16-bit Data Bus Devices ■ Binary Compatible with Large Software Base 64-Bit Interunit Transfer Bus 32-Bit Data Bus Core CLK Clock Clock 32-Bit Data Bus Multiplier Linear Address 32 PCD PWT Bus Interface Barrel Base/ Segmentation 2 A31-A2 Shifter Index Unit Paging Cache Unit 32 Address BE3#- BE0# Bus Unit 20 Drivers Register 32 Descriptor File Registers Physical 8 Kbyte Write Buffers Address 32 4 x 32 Translation Cache ALU Limit and D31-D0 Attribute PLA Lookaside Data Bus Buffer 32 Transceivers Bus Control ADS# W/R# D/C# M/IO# PCD PWT RDY# LOCK# 128 PLOCK# BOFF# A20M# Displacement Bus BREQ HOLD HLDA RESET SRESET INTR 32 NMI SMI# SMIACT# Prefetcher FERR# IGNNE# Micro- STPCLK# Instruction Request Sequencer 32-Byte Code BRDY# BLAST# Queue Burst Bus Code Control Stream 2x16 Bytes Floating Control & Instruction Bus Size BS16# BS8# 24 Point Unit Protection Decode Control Test Unit Cache KEN# FLUSH# Floating Decoded AHOLD EADS# Control Instruction Control Point Path Register File ROM Parity DP3-DP0 PCHK# Generation and Control Boundary TCK TMS TDI TD0 Scan Control A3223-01 Figure 1.
    [Show full text]
  • PERFORMANCE IMPLICATIONS of SYSTEM MANAGEMENT MODE Brian Delgado†, Karen L
    In Proceedings of the IEEE International Symposium on Workload Characterization (IISWC), Sept. 2013 (c) IEEE 2013 PERFORMANCE IMPLICATIONS OF SYSTEM MANAGEMENT MODE Brian Delgado†, Karen L. Karavanic Portland State University bdelgado, [email protected] ABSTRACT [4] dramatically change expectations over its use. Since System Management Mode (SMM) is a special x86 processor SMM completely pauses host software execution for the mode that privileged software such as kernels or hypervisors duration of its work and the time required for these new cannot access or interrupt. Previously, it has been assumed usages exceeds common SMI durations, there are clear that time spent in SMM would be relatively small and performance concerns. In recent years, applications have therefore its side effects on privileged software were moved from running on native operating systems where unimportant; recently, researchers have proposed uses, such they were impacted by other processes as well as the as security-related checks, that would greatly increase the operating system to running within virtualized amount of runtime spent in this mode. We present the environments which added virtualization-level impacts. results of a detailed performance study to characterize the SMM RIMMs would cause another source of impact on performance impacts of SMM, using measurement infrastructure we have developed. Our study includes applications as well as the virtualized environments on impact to application, system, and hypervisor. We show which they run. Applications running under hypervisors there can be clear negative effects from prolonged watched by an SMM RIMM would experience the preemptions. However, if SMM duration is kept within combined impacts of each layer.
    [Show full text]