the state of kernel self protection
play

The State of Kernel Self Protection Linux Security Summit NA August - PowerPoint PPT Presentation

The State of Kernel Self Protection Linux Security Summit NA August 27, 2018 Vancouver, Canada Kees (Case) Cook keescook@chromium.org @kees_cook https://outflux.net/slides/2018/lss/kspp.pdf Kernel Self Protection Project


  1. The State of Kernel Self Protection Linux Security Summit NA August 27, 2018 Vancouver, Canada Kees (“Case”) Cook keescook@chromium.org @kees_cook https://outflux.net/slides/2018/lss/kspp.pdf

  2. Kernel Self Protection Project https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project ● KSPP focuses on the kernel protecting the kernel from attack (e.g. ● refcount overflow) rather than the kernel protecting userspace from attack (e.g. brute force detection) but any area of related development is welcome Currently ~12 organizations and ~10 individuals working on about ● ~20 technologies Slow and steady ●

  3. Upstream Bug Lifetime ● In 2010 Jon Corbet researched security flaws, and found that the average time between introduction and fix was about 5 years. ● My analysis of Ubuntu CVE tracker for the kernel from 2011 through 2018 has now creeped up to 6 years: – Critical: 3 @ 5.3 years – High: 71 @ 5.9 years – Medium: 662 @ 5.9 years – Low: 313 @ 5.9 years

  4. critical & high CVE lifetimes

  5. A year's worth of kernel releases ...

  6. v4.14 ● 3 r conversions (bikeshedding stall) e f c o u n t _ t ● randstruct plugin (automatic mode) ● SLUB freelist pointer obfuscation ● structleak plugin (by-reference mode) ● V , arm64 M A P _ S T A C K ● s removal progress e t _ f s ( ) ● s balance detection, x86, arm64, arm e t _ f s ( )

  7. v4.15 ● 35 r conversions (32 remaining...) e f c o u n t _ t ● PTI, x86 ● retpoline ● s . field removal t r u c t t i m e r _ l i s t d a t a ● fast refcount overflow protection, x86 (also in v4.14 -stable) ● % hashing p

  8. v4.16 ● 12 r conversions (20 more?) e f c o u n t _ t ● PTI, arm64 ● hardened usercopy whitelisting ● C O N F I G _ C C _ S T A C K P R O T E C T O R _ A U T O

  9. v4.17 ● 51 VLAs removed (80 remaining...) ● Clear stack on fork ● More fixes to stack RLIMIT on exec ● M A P _ F I X E D _ N O R E P L A C E ● Unused register clearing on syscall entry, x86 ● Speculative Store Bypass Disable, x86

  10. v4.18 ● 38 VLAs removed (42 remaining...) ● Arithmetic overflow detection helpers ● Allocation overflow detection refactoring ● Speculative Store Bypass Disable, arm64

  11. Expected for v4.19 ● 33 VLAs removed (9 remaining: all in crypto API) ● Shift overflow helpers ● L1TF defenses ● Restrict O for existing files and pipes in / _ C R E A T t m p ● Unused register clearing on syscall entry, arm64 ● Speculative Store Bypass Disable, arm64

  12. Hopefully in v4.20 ● VLAs removed completely, - added W v l a ● stackleak gcc plugin (x86 and arm64)

  13. Various soon and not-so-soon features ● Link-Time Optimization ● Control Flow Integrity ● eXclusive Page Frame Owner ● integer overflow detection ● switch fallthrough marking ● per-task stack canary, non-x86 ● SMAP emulation, x86 ● per-CPU page tables ● brute force detection ● read-only page tables ● write-rarely memory ● {str,mem}cpy alloc size checks ● memory tagging ● hardened slab allocator ● KASLR, arm ● hypervisor magic :)

  14. Challenges Cultural : Conservatism, Responsibility, Sacrifice, Patience Technical : Complexity, Innovation, Collaboration Resources : Dedicated Developers, Reviewers, Testers, Backporters

  15. Thoughts? Kees (“Case”) Cook keescook@chromium.org keescook@google.com kees@outflux.net https://outflux.net/slides/2018/lss/kspp.pdf http://www.openwall.com/lists/kernel-hardening/ http://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend