YoVDO

Touch but Don't Look - Running the Kernel in Execute Only Memory

Offered By: Linux Plumbers Conference via YouTube

Tags

Linux Plumbers Conference Courses System Administration Courses Virtual Machines Courses QEMU Courses KVM Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the concept of execute-only memory and its implementation in the Linux kernel through this informative conference talk from the Linux Plumbers Conference. Dive into the benefits of execute-only memory for protecting against code-reading attacks and its potential impact on kernel security. Learn about the novel implementation approach across QEMU, KVM, and the guest Linux Kernel, which involves manipulating physical address bits to create execute-only guest virtual memory. Discover the proposed APIs for utilizing execute-only memory in userspace and the necessary changes to the Linux kernel to support this feature. Gain insights into the challenges and considerations for running the kernel in execute-only memory, including code patterns that may need to be avoided in future kernel development. Understand the implications for features like KASLR, ASLR, and fine-grained ASLR, as well as the potential impact on performance and reliability.

Syllabus

Intro
Why use execute-only memory
Control flow attacks
JIT-ROP
Discovering text - XO is not a lock box
Mitigations: Cost vs Benefit
XO memory CPU support
Trick for XO memory for VMS (2)
Qemu/KVM implementation
Userspace XO support
X86 Kernel Text Permission Lifecycle
XB6 patching methods
So what broke?
Text patching features
Toolchain Mixing Data and Code
Performance
Making this reliable
XO faults
Implementing non-strict mode
Fixing guest page tables
Future - Not reading text as a new rule in the kernel?
Plans
Summary


Taught by

Linux Plumbers Conference

Related Courses

Emerging Technologies Capstone
Yonsei University via Coursera
Microsoft Azure Virtual Machines
Microsoft via edX
Introduction to Microsoft Azure
Microsoft via edX
Google Cloud Fundamentals: Core Infrastructure
Google via Coursera
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course)
Hebrew University of Jerusalem via Coursera