Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore advanced techniques for implementing robust array bounds-checking mechanisms in C programming and Linux kernel development through this comprehensive conference talk from the Linux Foundation. Delve into the historical challenges of spatial safety in C language, where inadequate bounds-checking on arrays has long been a security vulnerability, and discover how the Linux Kernel Self-Protection Project has been systematically addressing these issues. Learn about cutting-edge hardening efforts specifically designed to resolve bounds-checking problems for both fixed-size and flexible arrays, including detailed examination of mechanisms used to fortify critical APIs like memcpy() against buffer overflow attacks. Understand the implementation of innovative built-in compiler functions that enhance security, and gain insights into recent compiler options such as -fstrict-flex-arrays and -Wflex-array-member-not-at-end that strengthen code safety. Discover the new counted_by attribute introduced in Clang 18 and GCC 15, which provides crucial run-time bounds-checking coverage for flexible arrays, representing a significant advancement in memory safety. Examine real-world solutions to overcome various technical challenges in implementing these security measures, and understand the innovative approaches developed to definitively solve array bounds-checking problems in both general C programming and Linux kernel development environments.
Syllabus
Enhancing Spatial Safety: Better Array-bounds Checking in C (and Linux) - Gustavo A. R. Silva
Taught by
Linux Foundation