sudo-rs hat sich zum Ziel gesetzt, einen Ersatz für das klassische sudo bereitzustellen. Dabei setzt das Projekt auf Rust, um eine "safety oriented and memory safe implementation" zu realisieren.
Hintergrund
Kurz zum Hintergrund: sudo unterscheidet sich von normalen Kommandos dadurch, dass das setuid-Flag der Binary gesetzt ist und das Programm beim Aufruf direkt mit Root-Rechten gestartet wird. Die Privilege Escalation ist wiederum die Voraussetzung dafür, dass ein Nutzer nach erfolgreicher Authentifizierung Root-Rechte annehmen kann. Sind jedoch im sudo-Programm selbst Bugs vorhanden, wird die Rechteerweiterung zum Sicherheitsrisiko. Wichtig an dieser Stelle: Privilege Escalation bezeichnet zunächst nur die Technik. Sie tritt häufig als Folge von Sicherheitslücken auf, hat aber auch legitime Einsatzszenarien.
Die gesamte Sicherheit hängt also von den Werkzeugen ab, die über setuid-Privilegien verfügen. Genau hier möchte sudo-rs ansetzen und eine Implementierung anbieten, die vom Speichersicherheitsmodell von Rust profitiert, um das Risiko bisher unentdeckter Sicherheitslücken in der Speicherverwaltung zu reduzieren.
Neue Darstellung von Passwörtern
Dass sudo-rs kein vollständiges Drop-in-Replacement wird, zeigt die Änderung, dass Passwörter nun standardmäßig in der Konsole maskiert angezeigt werden. Bisher hat sudo jegliche Ausgabe unterdrückt.
Administratoren, die dieses Verhalten abstellen wollen, können Defaults !pwfeedback in die sudoers-Datei einfügen. Das ist insbesondere dann relevant, wenn andere Programme davon …