Moin,
und wer zwingt einen Bösewicht, sich an eine Spezifikation zu halten?
niemand. Aber wenn er das nicht tut, wird auch das Stück Software, das die Daten empfängt und auswertet, irgendwann feststellen: "Das ist kein Jim Be^W^WJPEG".
ja. Ich würde sogar soweit gehen zu behaupten, dass genau das das Ziel des Bösewichts wäre.
dann wäre er als Bösewicht aber ein Versager. Denn dann hätte er nur gezeigt, dass die verwendete Anzeigesoftware fehlerhafte Eingabedaten erkennt und abweist oder ignoriert, so wie es sein soll.
War es nicht eher das Ziel des Bösewichts, dass die Anwendung bestimmte Fehler *nicht* erkennt, um damit ein vorhersehbares und ausnutzbares Fehlverhalten eben dieser Anwendung zu provozieren?
[...] kann beliebige Fehler enthalten.
Sicher. Das gilt dann aber ebenso für den Virenscanner. :-P
Deswegen interpretiert er die Daten ja auch nicht ;-)
Doch, das tut er. Nur eben nach anderen Gesichtspunkten. Er untersucht sicher nicht, ob der Datenstrom eine korrekte JPEG-Grafik darstellt (dazu müsste er ja die Spezifikation von Tausenden von Dateitypen kennen), sondern nur, ob er verdächtige oder als "bösartig" bekannte Muster aufweist.
Sag' ich doch.
Nein, Du hast das Gegenteil davon gesagt, nämlich dass ein JPEG unbedenklich ist und dabei in einen Kanon eingestimmt, der das Scannen entsprechender Dateien als unnötig bezeichnet. Meine Aussage ist, dass das Scannen *aller* Daten nötig ist.
Du hast gesagt:
Daten sind Daten. Es gilt sie zu prüfen, egal ob sie irgend einem Format angehören *könnten*, welches bei *korrekter* Handhabung gefahrfrei ist.
Und dem habe ich zugestimmt. Das Prüfen der Daten, ob sie einem bestimmten Format angehören, ist Aufgabe der jeweiligen Zielsoftware und fällt bei der Interpretation der Daten gegen eine Spezifikation ganz automatisch als Nebenprodukt ab. Eine Verletzung der Spec ist entweder egal und produziert nur unsinnige Ergebnisse; oder sie führt dazu, dass die Interpretation an Formalitäten scheitert. Dieser Arbeitsschritt ist gefahrfrei, solange nicht die Daten selbst Programmcode in irgendeiner Weise enthalten (z.B. Scripte, Makros), der bei der Interpretation ausgewertet und "ausgeführt" wird. Eine *zusätzliche* Prüfung durch einen Virenscanner halte ich für ebenso überflüssig wie mit der Taschenlampe nachzusehen, ob die Deckenlampe auch wirklich aus ist.
Schönen Sonntag noch,
Martin
Man gewöhnt sich an allem, sogar am Dativ.