Hi. Hier kennen sich ja bestimmt einige gut mit Latex aus. Das wird in wissenschaftlichen Kreisen ja gerne verwendet, vor allem von den Linuxusern. Ich kenne mich nicht mit Latex aus, ich wüsste aber gerne, ob Latex Dateien potentiell gefährlichen Code enthalten können, sowie Code, der eventuell vorhandene Sicherheitslücken ausnutzt. In meinem Fall sind auch eventuell vorhandene Includefunktionen und alles, was das einbinden von Dateien aus dem System erlaubt, als gefährlicher Code anzusehen. (da man sonst über Einbinde-Befehle über den Umweg Latex alles mögliche auslesen könnte) Systemcalls, Latex Befehle zum Shellbefehle absetzen, Sockets usw sind ebenfalls als gefährlich anzusehen. Warum ich frage? Ich wollte auf meiner Webseite erlauben, dass man mithilfe von Latexcode Formeln und andere Sachen erzeugen und als Bild in den Artikel einbinden kann. Dafür habe ich ich ein Eingabefenster, dessen Inhalt als temporäre Datei gespeichert wird. Anschließend stoße ich mit php ein Shellscript zur weitetren Verarbeitung an. Ich weiß aber nicht, ob man in einer Latexdatei Schadcode unter bringen kann. Momentan wird das Eingabefeld 1:1 in eine temporäre Datei kopiert. Danach rufe ich mit einem Shellscript einfach Latex auf, speichere als DVI Datei und konvertriere diese mit dvipng. Die temporäre Datei sowie die DVI Datei wird gelöscht, das PNG wird verschoben und eingefügt. Ich habe von Latex 0 Ahung und weiß nicht, was damit alles möglich ist und was nicht. Würde mich freuen, wenn ihr mir die potentiell gefährlichen Funktionen und Befehle, und alles was zum Einbinden von Dateien taugt, kurz erläutern könntet.
a Little Joke... soll denn Latex nicht gerade gefährliche Dinge verhindern ? gruss k.
Beck schrieb: > In meinem Fall sind auch eventuell vorhandene Includefunktionen und > alles, was das einbinden von Dateien aus dem System erlaubt, als > gefährlicher Code anzusehen. (da man sonst über Einbinde-Befehle über > den Umweg Latex alles mögliche auslesen könnte) > Systemcalls, Latex Befehle zum Shellbefehle absetzen, Sockets usw sind > ebenfalls als gefährlich anzusehen. Ja, das geht durchaus. Einfaches Beispiel ist das listings-Paket, das es erlaubt, Text aus Dateien in ein Dokument einzubinden. /etc/passwd wäre ein schöner ansatz für so eine datei ^^ > Warum ich frage? Ich wollte auf meiner Webseite erlauben, dass man > mithilfe von Latexcode Formeln und andere Sachen erzeugen und als Bild > in den Artikel einbinden kann. Da würde ich vorschlagen, dich an mediawiki zu halten. Ist Quelloffen und sicherlich in der Hinsicht durchdacht. Ansonsten wäre ein erster Schritt, einen eigenen Benutzer für das Erstellen des Outputs zu erstellen, der nichts lesen und schreiben darf, was außerhalb seines homes liegt. Den Tex-Compiler dürfte das nicht stören. > Dafür habe ich ich ein Eingabefenster, dessen Inhalt als temporäre Datei > gespeichert wird. Anschließend stoße ich mit php ein Shellscript zur > weitetren Verarbeitung an. Da noch ein kleiner Tipp: lass hier ja keine vom Benutzer eingebbaren Dateinamen zu. http://xkcd.com/327/ =)
LaTeX ist nur ein Erweiterungspaket von TeX. Und Donald Knuth hat meines Wissens nach eine Belohnung ausgelobt für jeden, der Fehler in TeX findet. Wenn ich mich recht erinnere, ist der Betrag die Zahl pi (ohne Dezimalkomma) - für jeden Fehler gibt es eine Nachkommastelle mehr. Also 3$ für den ersten, 31$ für den zweiten, 314$ für den dritten gefundenen Fehler etc. Finanzielle Probleme hat Herr Knuth dadurch bislang nicht bekommen.
Rufus t. Firefly schrieb: > Finanzielle Probleme hat Herr Knuth dadurch bislang nicht bekommen. Doch, er hat diese Wette leider beenden müssen, da sie ihn hätte ruinieren können.
Kann man dem Script nicht mit chroot ein eigenes Rootverzeichnis vergeben? Da sieht es ja gar nix vom echten Filesystem, und kann somit nix manipulieren, soweit ich weis. (nur mal 'ne Idee - schon lange her, daß ich mal damit rumgespielt hatte)
Unabhängig davon wird Donald Knuth keine Verantwortung für Sicherheitsprobleme übernehmen können, die sich aus der geschilderten Applikation ergeben. Ich würde den TeX-Compile-Vorgang in ein chroot einsperren (mit evtl. ge-bind-mountetem Arbeitsverzeichnis, /bin, /usr/bin, und dem TeX-Teil aus /usr/share - eben mit dem, was TeX minimal zum Arbeiten braucht).
Rufus t. Firefly schrieb: > LaTeX ist nur ein Erweiterungspaket von TeX. Und Donald Knuth hat meines > Wissens nach eine Belohnung ausgelobt für jeden, der Fehler in TeX > findet. Wenn ich mich recht erinnere, ist der Betrag die Zahl pi (ohne > Dezimalkomma) - für jeden Fehler gibt es eine Nachkommastelle mehr. > Also 3$ für den ersten, 31$ für den zweiten, 314$ für den dritten > gefundenen Fehler etc. Das verwechselst du mit Versionsnummer von TeX. ;-) Guido schrieb: > Rufus t. Firefly schrieb: >> Finanzielle Probleme hat Herr Knuth dadurch bislang nicht bekommen. > > Doch, er hat diese Wette leider beenden müssen, da sie ihn hätte > ruinieren > können. Er hat es nicht eingestellt, aber der hexadezimale Dollar verdoppelt sich nicht mehr, http://en.wikipedia.org/wiki/TeX#Development
Es sei auch noch darauf hingewiesen, dass man AFAIK auch während des Compilierprogramms externe Programme ausführen lassen kann. Gehe davon aus, dass es vom Sicherheitsaspekt her maximal unsicher ist, beliebigen Quelltext von extern auf dem eigenen System zu übersetzen. Ich würde sogar vermuten, dass es quasi unmöglich ist, den Quelltext vorab auf solche Lücken zu testen. Viele Grüße, Simon
Hallo Beck. > Hier kennen sich ja bestimmt einige gut mit Latex aus. > Das wird in wissenschaftlichen Kreisen ja gerne verwendet, vor allem von > den Linuxusern. Ich kenne mich nicht gut damit aus. > Ich kenne mich nicht mit Latex aus, ich wüsste aber gerne, ob Latex > Dateien potentiell gefährlichen Code enthalten können, sowie Code, der > eventuell vorhandene Sicherheitslücken ausnutzt. Grundsätzlich theoretisch sehe ich auch das Problem. > > In meinem Fall sind auch eventuell vorhandene Includefunktionen und > alles, was das einbinden von Dateien aus dem System erlaubt, als > gefährlicher Code anzusehen. (da man sonst über Einbinde-Befehle über > den Umweg Latex alles mögliche auslesen könnte) > Systemcalls, Latex Befehle zum Shellbefehle absetzen, Sockets usw sind > ebenfalls als gefährlich anzusehen. Dann musst Du genau daß unterbinden. z.B. müsstest Du den Text aus Deiner Eingabe auf Includes parsen, und alles zurückweisen, was nicht einer whitelist entspricht, die für die Bearbeitung der Formeln nötig ist. So als alternative Idee zu den "einsperr" Lösungen der anderen Poster. > Ich habe von Latex 0 Ahung und weiß nicht, was damit alles möglich ist > und was nicht. > Würde mich freuen, wenn ihr mir die potentiell gefährlichen Funktionen > und Befehle, und alles was zum Einbinden von Dateien taugt, kurz > erläutern könntet. Ich schreibe gelegentlich etwas in Latex, aber Dein Wunsch überfordert mich leider. Mit freundlichem Gruß: Bernd Wiebus alias dl1eic http://www.dl0dg.de
Hat das Mediawiki einen eigenen Latex Compiler und Bildrenderer drin? Mediawiki läuft ja immerhin auch auf Shared Hosting, wo man nicht unbedingt Zugriff auf die Kommandozeilenprogramme hat. Mediawiki im Hintergrund laufen lassen wäre auch eine Alternative.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.