Ist es sicher, ein GUI-Programm als anderer Benutzer auszuführen?

7

Ich muss ein Programm ( libreoffice) als ein anderer Benutzer ausführen . Ich bemerkte, dass das Programm beim Aufrufen als im Hintergrund gestartet wurde kdesudo -u otheruser libreoffice, möglicherweise um Social-Engineering-Angriffe zu vermeiden.

(Im folgenden Text bezieht sich "angemeldeter Benutzer" auf mich, nicht auf "otheruser")

  • Ist es sicher, ein nicht vertrauenswürdiges Programm auf diese Weise auszuführen?
  • Betrifft es den aktuell angemeldeten Benutzer? (Datei- und Prozesszugriff im Kontext des angemeldeten Benutzers)

Denial-of-Service-Angriffe durch Gabelbomben, mit überschüssiger CPU usw. sind ausgeschlossen, da diese auch auftreten können, wenn ich mich direkt anmelde otheruser. Aus Gründen der Klarheit, ich bin auf der Suche nach Unterschieden zwischen laufenden Programmen in direkt , wenn angemeldet als otheruserund Ausführen von Programmen verwendet kdesudo, gksudound sudo.

Lekensteyn
quelle

Antworten:

7

Nehmen Sie aus Sicherheitsgründen an, dass Programme, die Zugriff auf Ihr X-Display haben, alles tun können, was sie wollen, einschließlich Schnüffeln in Ihrer Zwischenablage, Senden gefälschter Tastenanschläge an eine andere Anwendung und anderer Nicht-Feinheiten. X wurde einfach nicht mit Blick auf Isolation entwickelt.

Für Neugierige oder Paranoide lesen Sie Secure Linux Desktop und Passive und aktive Angriffe über X11. Ist Wayland besser? . Schauen Sie sich Qubes an , das auf virtualisierten Linux-Instanzen basiert, auf denen jeweils ein eigener X-Server ausgeführt wird.

Wenn Sie nicht vertrauenswürdige X-Anwendungen ausführen möchten, müssen Sie diese auf einem separaten X-Display ausführen und sie zusätzlich als anderer Benutzer (oder besser auf einer anderen (virtuellen) Maschine) ausführen. Sie können einen separaten X-Server ausführen und ihn auf verschiedene Arten in einem verschachtelten X-Fenster anzeigen: über eine virtuelle Maschine ( VirtualBox , VMware ,…) mit einem Remote-X-Server wie VNC, mit dem Sie gerade eine lokale Verbindung herstellen, oder mit ein spezielles X-in-X-Programm wie Xnest oder Xephyr .

Wenn Sie über Social-Engineering-Angriffe besorgt sind, ist dies ein anderes Problem. Social Engineering richtet sich an den Benutzer; Die einzige Möglichkeit, sie zu vermeiden, besteht darin, den Benutzer auszulassen.

Gilles 'SO - hör auf böse zu sein'
quelle
Diese Sicherheitsfragen sind interessant. Eine virtuelle / andere Maschine verhindert die Verwendung desselben Systems: Verwenden bereits installierter Anwendungen und Einstellungen. Social Engineering ist nicht mein Anliegen, da ich mir der Sicherheit sehr bewusst bin. Aus Ihrer Antwort schließe ich, dass jede Anwendung mit ausgeführt wurde kdesudooder gksuunsicher ist, weil X gemeinsam genutzt wird. Bedeutet dies jedoch nicht, dass die Verwendung kdesudozum Ausführen als anderer Benutzer völlig nutzlos ist?
Lekensteyn
1
@Lekensteyn: Das Ausführen als anderer Benutzer schützt vor Angriffen, bei denen X nicht als Vektor verwendet wird. Je nachdem, wie paranoid Sie sind, ist das entweder nutzlos oder besser als nichts.
Gilles 'SO - hör auf böse zu sein'
Ist es möglich, dass meine Passphrase-Eingabe erfasst wird, wenn Sie sie in einen kdesudoDialog eingeben? Oder dass meine Firefox-Sitzung erfasst wird? Nur zur Klarstellung, weil Ihre Antwort dies nahelegt.
Lekensteyn
@Lekensteyn: Ja, es ist möglich, wenn Sie zulassen, dass eine unerwünschte Anwendung auf demselben X-Server ausgeführt wird. Joanna Rutkowskas Blog-Artikel erklärt einen Weg.
Gilles 'SO - hör auf böse zu sein'