Eingebetteter Code in PDF-Dokumenten

Eingebetteter Code in PDF-Dokumenten

Ich habe über diese Google/China-Episode gelesen und es scheint, dass einer der verwendeten Angriffsvektoren das Einbetten von Code (ich glaube JavaScript) in PDF-Dokumente war. Das macht mir Sorgen, ich möchte sicher nicht, dass PDF-Dokumente Code auf meinem Computer ausführen, es sei denn, ich sage das ausdrücklich. Ich verwende jedoch ausschließlich Linux-Systeme, ist also ein einfaches System chmod -x doc.pdfgut genug? (Nicht, dass meine PDF-Dateien ohnehin Exec-Privilegien hätten)

Gibt es Tools zum Scannen nach PDFs mit eingebettetem Code? Ich suche nach Linux-Tools, aber wenn jemand Windows-Tools dafür kennt, bin ich sicher, dass andere sie nützlich finden würden.

Außerdem ist der Reader, den ich derzeit verwende, Evince. Weiß jemand, ob Evince überhaupt in PDFs eingebetteten Code ausführt? Es gibt keine Möglichkeit, es auszuschalten, und Evince scheint im Allgemeinen minimalistisch zu sein, also vermute ich nicht.

Antwort1

Das Execute-Bit im Dateisystem macht bei diesem Problem keinen Unterschied. Die Ausführung erfolgt innerhalb der Reader-Anwendung. Der Reader verarbeitet dann den geladenen Inhalt und wenn dieser Inhalt JavaScript enthält, wird er ausgeführt. Dies ist dasselbe Szenario wie das Öffnen einer HTML-Seite in einem Browser. Die HTML-Seite muss kein Execute-Bit haben, um JavaScript auszuführen.

Was evince betrifft, weiß ich es nicht genau … aber ich denke, Sie haben Recht, dass es nicht mit eingebettetem JavaScript in PDFs zusammenhängt.

Antwort2

Ein Antivirenprogramm sollte diesen Fall behandeln, und davon gibt es natürlich jede Menge für Windows. Da PDF-Dateien heutzutage ein recht häufiger Angriffsvektor sind, ist das Scannen von PDF-Dateien eine Standardfunktion dieser Produkte. Sie erhalten keine Antwort „enthält Code/enthält keinen Code“, aber es blockiert oder entfernt Dateien, die bekannte oder potenzielle Exploits enthalten.

Antwort3

Ich kann Ihnen mitteilen, dass der in Google Chrome integrierte PDF-Viewer derzeit kein JavaScript ausführt.

Für mich stellt dies ein Problem dar, da ich versuche, mit diesem Code Formularfelder auszufüllen. Für Sie könnte es jedoch von Interesse sein, um mögliche böswillige Angriffe zu verhindern.

verwandte Informationen