2016-03-18 16 views
0

Ich möchte etwas nicht vertrauenswürdigen Code mit chroot ausführen.Ausführen von nicht vertrauenswürdigem Code mit chroot

Allerdings behaupten viele, dass chroot kein Sicherheitsmerkmal ist und leicht ausbrechen kann.

Daher ist meine Frage, wie Apps wie https://ideone.com/ verwalten, um nicht vertrauenswürdigen Code schnell und sicher auszuführen. Auch wenn chroot ausbrechen kann, könnte es nicht möglich sein, aus chroot in https://ideone.com/ auszubrechen.

Antwort

0

Ich bin nicht sicher, welchen nicht vertrauenswürdigen Code Sie meinen, aber chroot ändert nur die scheinbare Dateistruktur - theoretisch können Sie nicht über einem bestimmten Level sehen. Aber symbolische Links können immer noch funktionieren. Wenn dein chroot-Verzeichnis einen symbolischen Link zu einem Verzeichnis oben hat, tut dir chroot nichts.

Es ist auch möglich, dass Anwendungen über andere Anwendungen auf Ressourcen zugreifen können. Einige clevere Hacker wissen, wie man laufende Apps ausnutzt, aber wenn Sie die ideone-Umgebung als root einrichten, ist alles möglich.

Mehr theoretisch könnten Sie eine Master-Anwendung installieren, die vollen Zugriff auf das Dateisystem hat. Dann führen Sie Code in einer chroot-Umgebung aus. Wenn diese Master-App ausgeführt wird und zuhört, kann sie Ressourcen an Ihre chroot-Anwendung weiterleiten.

Schnell? Sicher ... Sicher ... nun ... mit meinem Beispiel ist die Master-App ein Gatekeeper, aber es ist immer noch Sicherheit durch das Vertrauen der Master-App.

+0

Wie also führt ideone Benutzercode aus (potenziell böswillig)? –

+0

"Ideone ist ein Online-Compiler und Debugging-Tool, mit dem Sie Quellcode kompilieren und online in mehr als 60 Programmiersprachen ausführen können." - Flexible Tools führen zu flexiblen Lösungen. Auch hier ist chroot nur eine Sicherheitskonfiguration für das Dateisystem. Wenn Ihr Code einen laufenden Prozess aufruft, der auf Ihr chroottes Dateisystem zugreifen kann, sind alle Wetten deaktiviert. –