-
Warum werden fehlerhafte dateien überhaupt verwertet?
Autor: Fakula 17.12.21 - 07:54
" Im Fall des untersuchten Trojaners wird so ein PDF als fingiertes GIF verschickt, das iOS dann direkt untersucht."
Wenn eine Dateiendung nicht dem Dateityp entspricht, einfach die Datei als solches verwerfen und nicht versuchen hier nen parser zu finden.
imho ist die erste sicherheitslücke nicht im PDF-Parser, sondern das hier für GIFs nen Parser für PDFs verwendet werden kann. -
Re: Warum werden fehlerhafte dateien überhaupt verwertet?
Autor: lunarix 17.12.21 - 10:48
Fakula schrieb:
--------------------------------------------------------------------------------
> " Im Fall des untersuchten Trojaners wird so ein PDF als fingiertes GIF
> verschickt, das iOS dann direkt untersucht."
>
> Wenn eine Dateiendung nicht dem Dateityp entspricht, einfach die Datei als
> solches verwerfen und nicht versuchen hier nen parser zu finden.
>
> imho ist die erste sicherheitslücke nicht im PDF-Parser, sondern das hier
> für GIFs nen Parser für PDFs verwendet werden kann.
Sehe ich nicht so - Dateiendungen sind für das Betriebssystem eigentlich irrelevant und dienen eher dem Nutzer zu erkennen, welches Dateiformat eine entsprechende Datei hat. Relevant ist das, was im Fileheader steht. Man könnte also höchstens fragen, wieso die Datei nicht gleich mit der Endung ".pdf" verschickt wird - das ist eigentlich die einzige Frage, die sich mir aus dem Artikel nicht so ganz erschliesst. Vielleicht, weil das PDF nicht versucht wird in der Nachricht zu rendern sondern sowieso nur als Attachment dargestellt wird? -
Re: Warum werden fehlerhafte dateien überhaupt verwertet?
Autor: Schattenwerk 17.12.21 - 11:23
Fakula schrieb:
--------------------------------------------------------------------------------
> Wenn eine Dateiendung nicht dem Dateityp entspricht, einfach die Datei als
> solches verwerfen und nicht versuchen hier nen parser zu finden.
Das wäre vermutlich das Verhalten von Windows. Nur funktioniert kein anderes verbreitetes OS in der Welt da draußen so. -
Re: Warum werden fehlerhafte dateien überhaupt verwertet?
Autor: Fakula 17.12.21 - 11:24
lunarix schrieb:
--------------------------------------------------------------------------------
> Fakula schrieb:
> ---------------------------------------------------------------------------
> -----
> > " Im Fall des untersuchten Trojaners wird so ein PDF als fingiertes GIF
> > verschickt, das iOS dann direkt untersucht."
> >
> > Wenn eine Dateiendung nicht dem Dateityp entspricht, einfach die Datei
> als
> > solches verwerfen und nicht versuchen hier nen parser zu finden.
> >
> > imho ist die erste sicherheitslücke nicht im PDF-Parser, sondern das
> hier
> > für GIFs nen Parser für PDFs verwendet werden kann.
>
> Sehe ich nicht so - Dateiendungen sind für das Betriebssystem eigentlich
> irrelevant und dienen eher dem Nutzer zu erkennen, welches Dateiformat eine
> entsprechende Datei hat. Relevant ist das, was im Fileheader steht. Man
> könnte also höchstens fragen, wieso die Datei nicht gleich mit der Endung
> ".pdf" verschickt wird - das ist eigentlich die einzige Frage, die sich mir
> aus dem Artikel nicht so ganz erschliesst. Vielleicht, weil das PDF nicht
> versucht wird in der Nachricht zu rendern sondern sowieso nur als
> Attachment dargestellt wird?
das problem liegt hier bei apple:
Ne nachricht mit *.gif kommt -> das "Hauptprogramm" behandelt das als .gif (und schaut sich nicht den datei-header an) -> versucht es durch den Loop-Parser zu schicken -> Der Loop-Parser sieht das es kein .gif ist, sondern ein .pdf. -> Versucht das aber mithilfe eines PDF-Parsers trozdem zu loopen.
und nicht mit einfach zu "droppen" (nen exit-code zu werfen), um dem Hauptprogramm mitzuteilen "sorry, kein gif - nicht mein gebiet".
Schattenwerk schrieb:
--------------------------------------------------------------------------------
> Fakula schrieb:
> ---------------------------------------------------------------------------
> -----
> > Wenn eine Dateiendung nicht dem Dateityp entspricht, einfach die Datei
> als
> > solches verwerfen und nicht versuchen hier nen parser zu finden.
>
> Das wäre vermutlich das Verhalten von Windows. Nur funktioniert kein
> anderes verbreitetes OS in der Welt da draußen so.
Was apple hier gemacht hat, ist aber die Datei als erstes mit der Dateiendung zuzuordnen.
"Dateiendung ist ein .Gif -> Das muss geloopt werden -> Loop parser."
Danach im -eigentlich nur um gifs zu loopenden programm- nachzusehen , was da eigentlich rübergeschickt worden ist, um den für die Datei nötigen parser zu finden, um das zu loopen.
-
-> Der "Bug" das hier mit den code, irgendwelche VMs erzeugt werden hätten können, wäre nie zum tragen gekommen, wenn man das PDF nicht versucht hätte zu loopen.
1 mal bearbeitet, zuletzt am 17.12.21 11:30 durch Fakula. -
Re: Warum werden fehlerhafte dateien überhaupt verwertet?
Autor: Schattenwerk 17.12.21 - 11:24
lunarix schrieb:
--------------------------------------------------------------------------------
> Vielleicht, weil das PDF nicht
> versucht wird in der Nachricht zu rendern sondern sowieso nur als
> Attachment dargestellt wird?
Korrekt. PDFs werden nicht in der Nachricht gerendert, da es keine Pixelgrafik ist. -
Re: Warum werden fehlerhafte dateien überhaupt verwertet?
Autor: Fakula 17.12.21 - 11:32
Schattenwerk schrieb:
--------------------------------------------------------------------------------
> lunarix schrieb:
> ---------------------------------------------------------------------------
> -----
> > Vielleicht, weil das PDF nicht
> > versucht wird in der Nachricht zu rendern sondern sowieso nur als
> > Attachment dargestellt wird?
>
> Korrekt. PDFs werden nicht in der Nachricht gerendert, da es keine
> Pixelgrafik ist.
ja, und darum "werfe" ich apple vor, hier im rederer nicht die fehlerhaft zugeordnete .pdf nicht einfach zu droppen.
"not my job" - und fertig. -
Re: Warum werden fehlerhafte dateien überhaupt verwertet?
Autor: minnime 17.12.21 - 15:38
Der Parser weiß wahrscheinlich gar nicht dass das ein gif sein sollte. Das iMessage sagt, oh Gif, das muss Anderswer machen, das gebe ich weiter- "Hier ist nen Bild, stell mir das mal dar". IMessage sagt der nächsten Ebene aber nicht dass das ein Gif gewesen sein sollte weil der Anderswer das gar nicht wissen will (die API hat keinen Übergabepunkt für diese Information). Der sagt aber auch nicht "Ey du das Gif das du mir letztens geschickt hast war kein Gif sondern ein Pdf" weil es dafür auch keinen Übergabepunkt gibt. iMessage will das nämlich auch nicht wissen weil es nämlich auch nur antworten würde "Man laber nicht stell es dar oder lass es bleiben wenn dus nicht kannst"
-
Re: Warum werden fehlerhafte dateien überhaupt verwertet?
Autor: Fakula 17.12.21 - 16:04
minnime schrieb:
--------------------------------------------------------------------------------
> Der Parser weiß wahrscheinlich gar nicht dass das ein gif sein sollte. Das
> iMessage sagt, oh Gif, das muss Anderswer machen, das gebe ich weiter-
> "Hier ist nen Bild, stell mir das mal dar". IMessage sagt der nächsten
> Ebene aber nicht dass das ein Gif gewesen sein sollte weil der Anderswer
> das gar nicht wissen will (die API hat keinen Übergabepunkt für diese
> Information). Der sagt aber auch nicht "Ey du das Gif das du mir letztens
> geschickt hast war kein Gif sondern ein Pdf" weil es dafür auch keinen
> Übergabepunkt gibt. iMessage will das nämlich auch nicht wissen weil es
> nämlich auch nur antworten würde "Man laber nicht stell es dar oder lass es
> bleiben wenn dus nicht kannst"
Der Parser sollte schon wissen, das dies ein .Gif ist, schlieslich ist er genau dafür gebaut worden. - eben um gifs zu loopen.
Warum versucht der dann auch noch PDFs zu parsen.
Und sagt nicht einfach "Fehler" (exit code 1) und lässts dann gut sein. -
Re: Warum werden fehlerhafte dateien überhaupt verwertet?
Autor: lunarix 17.12.21 - 16:58
Fakula schrieb:
--------------------------------------------------------------------------------
> minnime schrieb:
> ---------------------------------------------------------------------------
> -----
> > Der Parser weiß wahrscheinlich gar nicht dass das ein gif sein sollte.
> Das
> > iMessage sagt, oh Gif, das muss Anderswer machen, das gebe ich weiter-
> > "Hier ist nen Bild, stell mir das mal dar". IMessage sagt der nächsten
> > Ebene aber nicht dass das ein Gif gewesen sein sollte weil der Anderswer
> > das gar nicht wissen will (die API hat keinen Übergabepunkt für diese
> > Information). Der sagt aber auch nicht "Ey du das Gif das du mir
> letztens
> > geschickt hast war kein Gif sondern ein Pdf" weil es dafür auch keinen
> > Übergabepunkt gibt. iMessage will das nämlich auch nicht wissen weil es
> > nämlich auch nur antworten würde "Man laber nicht stell es dar oder lass
> es
> > bleiben wenn dus nicht kannst"
>
> Der Parser sollte schon wissen, das dies ein .Gif ist, schlieslich ist er
> genau dafür gebaut worden. - eben um gifs zu loopen.
> Warum versucht der dann auch noch PDFs zu parsen.
>
> Und sagt nicht einfach "Fehler" (exit code 1) und lässts dann gut sein.
Aber es ist ja kein .gif - nur weil etwas eine bestimmte Dateiendung hat, heisst das ja nicht, dass es auch eine ebensolche Datei ist. Triviales Beispiel: das `file` Kommando wertet ja auch nicht die Dateiendung aus, sondern die Dateisignatur.
1 mal bearbeitet, zuletzt am 17.12.21 16:58 durch lunarix.



