Wie verhindere ich, dass Programme Tastenanschläge an su / gksu schnüffeln?

10

Ich habe hier gelesen , dass es für jede App, die den X-Server verwendet, möglich ist, Tastenanschläge an jede andere App zu schnüffeln, die ebenfalls den X-Server verwendet, einschließlich su(auf einem Terminal) oder gksu. Ich habe von einigen Möglichkeiten gehört, den X-Server wie Xephyr sicher zu machen , bin mir aber nicht sicher, welchen ich verwenden soll. Ich möchte nur verhindern, dass eine App wie xinputdie Tastenanschläge leicht schnüffelt, wenn ich ein Passwort in das Terminal oder eintippe gksu. Ich benutze derzeit Debian Sid.

Magnus
quelle
Tippe nicht. läuft
Ignacio Vazquez-Abrams
1
jede App = jede Anwendung mit Zugriff auf Ihren X11 - Server , siehe X.Org-Sicherheitsdokumentation für die ersten Zeiger. Beachten Sie auch, dass XACEdie ganze Geschichte mit vertrauenswürdigen / nicht vertrauenswürdigen X11-Clients etwas komplizierter erscheint. Keine Ahnung, wie viel davon in den letzten Xorg-Setups verwendet wird.
sr_
1
Ich habe Xephyr installiert. Es ist sehr umständlich und erfordert komplexe Bash-Magie, aber xinput, das auf dem verschachtelten X-Server ausgeführt wird, konnte keine Tastendrücke außerhalb von Xephyr erkennen (xinput, das außerhalb von Xephyr ausgeführt wird, kann jedoch weiterhin alle Tastendrücke erkennen). Ich habe versucht, die SELinux-Sandbox zu verwenden, aber ich konnte sie nicht zum Laufen bringen. Ich werde diese Frage immer noch offen lassen, falls jemand eine bessere Idee hat.
Magnus

Antworten:

1

Beachten Sie, dass Xephyr / Xnest / vnc-server die Anwendung mit einem anderen X-Server kommunizieren lässt, es jedoch nicht verbietet, mit Ihrem anderen X-Server zu kommunizieren, auf dem Sie gksu ausführen.

Am besten führen Sie es auf einem anderen X-Server und als anderer Benutzer aus (oder verwenden Sie ein LSM, um zu verhindern, dass die Anwendung eine Verbindung zum X-Server herstellt oder Ihre .Xauthority-Datei liest). Um noch einen Schritt weiter zu gehen, können Sie es in einem Chroot-Gefängnis laufen lassen, und um noch einen Schritt weiter zu gehen, können Sie es in einem Container laufen lassen, und um es noch einen Schritt weiter zu machen, führen Sie es vollständig kontrolliert aus virtuelle Maschine (zum Beispiel mit kvm -snapshot).

Wenn Sie der Anwendung nicht vertrauen, müssen Sie wahrscheinlich den ganzen Weg gehen.

Stéphane Chazelas
quelle
-1

Ich glaube, aber ich weiß nicht, wie ich beweisen soll, dass jede X11-App, die verhindert, dass Sie irgendwo anders tippen (z. B. Passwortabfragen), nicht beschnuppert werden kann.

Versuchen Sie Folgendes: Führen Sie Folgendes aus gksu, und versuchen Sie beim Öffnen der Kennwortabfrage, die Lautstärke mithilfe von Tasten anzupassen (sofern auf Ihrem Computer vorhanden), oder drücken Sie andere Tastenkombinationen (Super, Stromversorgung usw.), um festzustellen, ob sie etwas bewirken. Wenn nicht, sind Sie sicher.

Ich denke, Strg-Alt-F1 usw. funktioniert immer.

ams
quelle
2
Tatsächlich kann xinput Tastendrücke sogar in gksu verfolgen. Ich habe das versucht und obwohl die Tastendrücke bei der Eingabe des Passworts nicht angezeigt wurden, wurden die Tastendrücke angezeigt, sobald das gksu-Dialogfeld nicht mehr angezeigt wurde.
Magnus
@Magnus: Das ist enttäuschend. :(
ams