Die C/C++-Compiler und ihre Sicherheit
Nicht der Quellcode des Programmierers läuft auf Systemen, sondern was der Compiler daraus macht. Der Vortrag beschäftigt sich daher mit den verschiedenen Auswirkungen des Compilers auf den Quellcode:
* Was für Codeteile, die eigentlich Sicherheit bringen sollten, optimiert ein Compiler weg?
* Welche Compiler-Optionen sorgen für mehr - oder weniger - Sicherheit?
* x86 und x64 - Besonderheiten, die sicherheitsrelevant sind
* Welche Compiler-Warnungen sind notwendig, um potenzielle Sicherheitsfehler zu finden?
Der Vortrag zeigt dies praktisch anhand von Beispielen. Betrachtet werden:
* Linux: GCC 6.3, GCC 7.1, LLVM 4.8, LLVM 5.0
* Windows: Visual Studio 2017 und Cygwin GCC 5.4
Vorkenntnisse
Grundlagen in C/C++
Lernziele
Den Zuhörern soll danach klar sein, was Compiler an sicherheitsrelevanten Dingen optimieren, zum Guten wie zum Schlechten. Das sind wichtige Grundlagen für jeden C/C++-Entwickler.