Datum:07.09.2014
Moderatoren:marcus, rens, simon
Download:
devradio271.mp3(ohne Musik)
devradio271.ogg(ohne Musik)

Sendungsinhalte:
Bitte schickt per Fan-Kommentar Shownotes ein! radio (at) ulm.ccc.de

kurze Einschätzung des Weltgeschehens gefolgt von allerlei rant über schlechte Programme. Mit Ausblick auf Compiler, Hochsprachen und nur am Rande Erwähnung von Test-Suiten.

Shownotes:
Blogartikel LLVM über spezifizierten und unspezifizierten Typüberlauf
http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html
airgap

Danke an Clemens fürs Feedback. Der Kommentar war, dass ein amd64 die ersten sechs Pointer- oder Integerparameter per CPU-Register übergeben würde. Wie funktioniert der Angriff?
In der Sendung beziehen wir uns auf i386. Für das amd64-System würde ein Aufruf mit mehr als 6 Parametern taugen. Für spezielle return-to-libc-Dinge befragen wir nochmal unseren Experten (tm).

Allgemein gesagt: Jede Abwehrmaßnahme hat einen korrespondierenden Angriff, der diese Maßnahme aushebelt.
Sobald die Returnadresse auf dem Stack liegt, lässt sie sich per Buffer-Overflow überschreiben. Calling Conventions sind compilerspezifisch. Wikipedia x68 calling conventions SystemV ABI" In erster Lesung klingt es, als würde der Return-Pointer immer auf den Stack geschrieben. Wir beraten uns nochmal.

pi