LANGSEC (language-theoretic security): Difference between revisions

From
Jump to navigation Jump to search
Line 1: Line 1:
(IN PROGRESS)
(IN PROGRESS)
==Polyglots==
==Polyglots==
Ein Polyglot ist eine Datei, die zwei verschiedene Dateitypen hat. <ref name="polyglot"http://openwall.info/wiki/_media/people/solar/pocorgtfo07</ref>.pdfDas heißt, ein Polyglot wird von zwei verschiedenen Interpretern
Ein Polyglot ist eine Datei, die zwei verschiedene Dateitypen hat. (POC||GTFO07).pdfDas heißt, ein Polyglot wird von zwei verschiedenen Interpretern
akzeptiert und die Ausgabe ist u.U. unterschiedlich.
akzeptiert und die Ausgabe ist u.U. unterschiedlich.
Durch die Erzeugung von Polyglots lässt sich zeigen, dass eine Datei keinen eindeutigen Dateityp hat. Die Existenz einer solchen Datei genügt als Beweis. Dadurch lässt sich schließen, dass in diesem Bereich in der Praxis ein Kompromiss gemacht wird. Die potentielle Mehrdeutigkeit von Dateien wird in Kauf genommen, da Abwärtskompatibilität erwünscht ist.
Durch die Erzeugung von Polyglots lässt sich zeigen, dass eine Datei keinen eindeutigen Dateityp hat. Die Existenz einer solchen Datei genügt als Beweis. Dadurch lässt sich schließen, dass in diesem Bereich in der Praxis ein Kompromiss gemacht wird. Die potentielle Mehrdeutigkeit von Dateien wird in Kauf genommen, da Abwärtskompatibilität erwünscht ist.
Line 7: Line 7:
Polyglots sind aus der Informatik nicht wegzudenken. Die "historischen Fehler", die beim Design von Dateitypen gemacht wurden, machen das Verhindern von polyglotten Effekten de-facto unmöglich. Theoretisch kann ein Interpreter so realisiert werden, dass dieser nur strikte Dateiformate annimmt. Ein Dateiformat ist strikt, wenn es am offset zero (Dateianfang) eine eindeutige magic number hat. Dieser strikte Interpreter dürfte dann allerdings keine Formate wie z.B. PDF oder ZIP akzeptieren und wäre somit in seinem Nutzen stark eingeschränkt.
Polyglots sind aus der Informatik nicht wegzudenken. Die "historischen Fehler", die beim Design von Dateitypen gemacht wurden, machen das Verhindern von polyglotten Effekten de-facto unmöglich. Theoretisch kann ein Interpreter so realisiert werden, dass dieser nur strikte Dateiformate annimmt. Ein Dateiformat ist strikt, wenn es am offset zero (Dateianfang) eine eindeutige magic number hat. Dieser strikte Interpreter dürfte dann allerdings keine Formate wie z.B. PDF oder ZIP akzeptieren und wäre somit in seinem Nutzen stark eingeschränkt.
Ein Beispiel für ein striktes (Bild-)Dateiformat ist PNG.
Ein Beispiel für ein striktes (Bild-)Dateiformat ist PNG.
==Quellen==
* [http://openwall.info/wiki/_media/people/solar/pocorgtfo07.pdf (POC||GTFO07)]

Revision as of 13:39, 22 October 2016

(IN PROGRESS)

Polyglots

Ein Polyglot ist eine Datei, die zwei verschiedene Dateitypen hat. (POC||GTFO07).pdfDas heißt, ein Polyglot wird von zwei verschiedenen Interpretern akzeptiert und die Ausgabe ist u.U. unterschiedlich. Durch die Erzeugung von Polyglots lässt sich zeigen, dass eine Datei keinen eindeutigen Dateityp hat. Die Existenz einer solchen Datei genügt als Beweis. Dadurch lässt sich schließen, dass in diesem Bereich in der Praxis ein Kompromiss gemacht wird. Die potentielle Mehrdeutigkeit von Dateien wird in Kauf genommen, da Abwärtskompatibilität erwünscht ist.

Warum gibt es Polyglots?

Polyglots sind aus der Informatik nicht wegzudenken. Die "historischen Fehler", die beim Design von Dateitypen gemacht wurden, machen das Verhindern von polyglotten Effekten de-facto unmöglich. Theoretisch kann ein Interpreter so realisiert werden, dass dieser nur strikte Dateiformate annimmt. Ein Dateiformat ist strikt, wenn es am offset zero (Dateianfang) eine eindeutige magic number hat. Dieser strikte Interpreter dürfte dann allerdings keine Formate wie z.B. PDF oder ZIP akzeptieren und wäre somit in seinem Nutzen stark eingeschränkt. Ein Beispiel für ein striktes (Bild-)Dateiformat ist PNG.

Quellen