Главная
Study mode:
on
1
Intro
2
Premise
3
Vulnerability Notes Database
4
Compiler Optimizations
5
Implementation Strategies
6
Constant Folding
7
Unexpected Results
8
Bounds Checking
9
Algebraic Simplification Applied
10
Mitigation
11
Another Algebraic Simplification
12
GCC Details
13
Wstrict-overflow=n
14
Definitions
15
Requirements
16
Critical Undefined Behaviors
17
Recommendations
18
Summary
Description:
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.

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

OWASP Foundation
Add to list
0:00 / 0:00