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.
//
Marc Heuse
@hackerschoice
untersucht seit 1997 Quellcode nach Sicherheitslücken. 1998 begründete er das Security-Team bei SuSE Linux und ist Autor vieler bekannter Sicherheitsprogramme wie hydra, SuSEfirewall2, thc-ipv6 und amap. Seit 2007 ist er unabhängiger Berater.