YoVDO

Dangerous Optimizations and the Loss of Causality in C and C++ Programming

Offered By: OWASP Foundation via YouTube

Tags

Software Security Courses C Programming Courses GCC Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the impact of compiler optimizations on software security in this 45-minute conference talk from AppSec EU 2017. Delve into how compiler writers leverage undefined behaviors in C and C++ to enhance optimizations, potentially compromising developers' ability to perform cause-effect analysis. Examine common optimizations, their potential to introduce software vulnerabilities, and learn practical mitigation strategies. Cover topics such as constant folding, bounds checking, algebraic simplification, and critical undefined behaviors. Gain insights into GCC details, strict overflow settings, and recommendations for maintaining software causality and reducing the risk of faults, defects, and vulnerabilities in C and C++ programming.

Syllabus

Intro
Premise
Vulnerability Notes Database
Compiler Optimizations
Implementation Strategies
Constant Folding
Unexpected Results
Bounds Checking
Algebraic Simplification Applied
Mitigation
Another Algebraic Simplification
GCC Details
Wstrict-overflow=n
Definitions
Requirements
Critical Undefined Behaviors
Recommendations
Summary


Taught by

OWASP Foundation

Related Courses

Create a Game Loop using C and SDL
Udemy
RISC-V Toolchain and Compiler Optimization Techniques
Linux Foundation via edX
Linux Tools for Software Development
Linux Foundation via edX
A Few Effective GCC - Clang Optimizations for Embedded Systems
Linux Foundation via YouTube
Embedded Linux Size Reduction Techniques
Linux Foundation via YouTube