MediaWiki ermöglicht das Einbetten von TeX-Mathecode, der in Bilder gerendert und in die Wiki-Seiten eingefügt wird. Ist das sicher? Wenn man es nicht vertrauenswürdigen Benutzern erlaubt, TeX-Programme einzugeben, die von einem Interpreter ausgeführt werden, der auf einem Webserver läuft, öffnet er dann den Server, um gehackt zu werden, indem er den TeX-Interpreter benutzt, um Dateien von den Platten des Servers zu lesen? Gibt es eine Möglichkeit, nicht vertrauenswürdigen TeX-Code sicher auszuführen?Kann TeX-Code sicher von nicht vertrauenswürdigen Quellen ausgeführt werden?
Antwort
Offensichtlich TeX ist in der Lage, Dateien durch normalen Betrieb zu öffnen und zu schreiben, was ein möglicher Angriffsvektor ist. Putting die Ausführung in eine sandbox oder jail sollte darum kümmern.
Achten Sie darauf, disable\write18
, die eine TeX-Quelldatei OS-Befehle ausführen können. Es gibt keinen guten Grund, diesen Mechanismus zuzulassen.
Wie für den TeX-Interpreter selbst, würde ich sagen, es gibt sehr wenig, worüber man sich Sorgen machen muss, da es wahrscheinlich die geringste Anzahl an Bugs eines Interpreters mit vollem Funktionsumfang hat. Ein anderer Teil Ihres Stapels wird ein weit größeres Ziel sein.
In der Theorie ja.
Es hängt von Ihrem TeX-Interpreter ab. Wenn eine Sicherheitsverletzung in dem von Ihnen verwendeten Interpreter gefunden wird und diese Sicherheitsverletzung bedeutet, dass ein Benutzer beliebigen Code ausführen kann, liegt ein Problem vor.
Wenn Ihre TeX-Distribution die Kpathsea-Bibliothek verwendet (wahrscheinlich), finden Sie in der Dokumentation unter the Security section.
Ein ausgezeichneter Vorschlag. Aus dem Grund würde TeX nicht so viele Dateien benötigen, um die Aufgabe auszuführen, die vom Fragesteller vorgeschlagen wurde, aber andere Verwendungen könnten ein großes Teil des Host-Systems öffnen. –
- 1. Sandbox JVM zum Sichern des Servers vor nicht vertrauenswürdigen Quellen
- 2. Wie kann ich feststellen, ob meine vertrauenswürdigen Anmeldeinformationen sicher sind?
- 3. kann nicht ausgeführt werden ActionBarSherlock
- 4. Kann nicht ausgeführt werden Gradlew
- 5. Einfügeabfrage kann nicht ausgeführt werden?
- 6. Mongodb kann nicht ausgeführt werden
- 7. Kann nicht ausgeführt werden MySQL
- 8. Wie kann man nicht vertrauenswürdigen Clojure-Code (nicht nur einige serialisierte Daten) sicher lesen?
- 9. Welche Python-Vorlagen-Engine kann von nicht vertrauenswürdigen Benutzern verwendet werden?
- 10. kann nicht ausgeführt werden MySql Dienstprogramme
- 11. Algorithmen von 'nicht vertrauenswürdigen' Benutzern auswerten
- 12. IdentityServer3 kann nicht in IIS ausgeführt werden
- 13. Kann JSONP sicher verwendet werden?
- 14. fatal: 'git-svn' kann nicht ausgeführt werden
- 15. Kann Operationen auf Antwortobjekt nicht ausgeführt werden?
- 16. 'Pod Setup' kann nicht ausgeführt werden
- 17. Anwendungspools werden nicht ausgeführt.
- 18. Kann ich vermeiden, Quellen doppelt zu kompilieren, wenn play2 und eclipse ausgeführt werden?
- 19. django fastcgi kann nicht ausgeführt werden
- 20. Java Web-App kann nicht ausgeführt werden
- 21. Mybatis kann nicht ausgeführt werden aktualisiert
- 22. aSync Aufgabe kann nicht zweimal ausgeführt werden
- 23. WPF-App kann nicht ausgeführt werden
- 24. GAE Python-Projekt kann nicht ausgeführt werden
- 25. SeekBar.IOnSeekBarChangeListener, seekBar kann nicht ausgeführt werden
- 26. Selenium asynchrones Skript kann nicht ausgeführt werden
- 27. struts2 kann nicht ausgeführt werden 404
- 28. Der Wirbel kann nicht ausgeführt werden()
- 29. catkin_make kann nicht ausgeführt werden, kann UnicodeDecodeError nicht beheben
- 30. MySQL Einfügen von nicht vertrauenswürdigen Daten
Gründe für die Freigabe von \ write18 existieren - für vertrauenswürdige Dokumente natürlich. dot2tex zum Beispiel. –