Making C Less Dangerous
Offered By: Linux Foundation via YouTube
Course Description
Overview
Syllabus
Intro
Kernel Self Protection Project
C as a fancy assembler almost machine code
C as a fancy assembler: undefined behavior
Variable Length Arrays are bad
Variable Length Arrays are slow
Switch case fall-through did I mean it?
Switch case fall-through: new statement
Switch case fall-through new statement
Always-initialized local variables: just do it
Always-initialized local variables switch gotcha
Arithmetic overflow detection Clang :
Bounds checking: explicit checking is slow
Bounds checking memory tagging :
Control Flow Integrity: indirect calls
CFI, forward edges: enforce prototype :
CFI, backward edges: two stacks
CFI, backward edges: shadow call stack . Clang's Shadow Cal Stack
CFI, backward edges: hardware support
Where is the Linux kernel now?
Challenges in Kernel Security Development
Taught by
Linux Foundation
Tags
Related Courses
3D Art and Audio PipelineUnity via Coursera 3D Interactions and Navigation
Unity via Coursera ABC du langage C
Institut Mines-Télécom via France Université Numerique Abstraction, Problem Decomposition, and Functions
University of Colorado System via Coursera Add Gore to Your Game in Unity
Coursera Project Network via Coursera