In OpenSSH wurde der Authentifizierungscode in einen separaten Prozess sshd-auth ausgelagert

Die Entwickler von OpenSSH haben die Trennung von sshd in mehrere separate ausfĂŒhrbare Dateien fortgesetzt. Beim ersten Schritt der Trennung im Mai wurden die Funktionen, die mit der Sitzungsverwaltung zusammenhĂ€ngen, in einen separaten Prozess namens sshd-session ausgelagert, wĂ€hrend sshd nur die FunktionalitĂ€ten beibehielt, die notwendig sind, um neue Netzwerkverbindungen anzunehmen und sshd-session fĂŒr jede neue Sitzung zu starten. Gestern wurde in den Code von OpenSSH eine Änderung eingefĂŒhrt, die einen weiteren Prozess – sshd-auth – hinzufĂŒgt, in den der Code zur DurchfĂŒhrung der Authentifizierung aus sshd-session verschoben wurde.

Der Prozess sshd-auth wird aus sshd-session gestartet und ermöglicht eine zusĂ€tzliche Isolation der mit der Authentifizierung verbundenen Daten im Adressraum eines separaten Prozesses, wodurch der Zugriff auf diese Daten im Speicher im Fall von Angriffen auf den Code, der zur Verarbeitung der Verbindungsschritte vor der Beendigung der Authentifizierung verwendet wird, verhindert wird. DarĂŒber hinaus wird durch die Änderung der Speicherverbrauch leicht reduziert, da der mit der Authentifizierung verbundene Code nun nur wĂ€hrend der Authentifizierung im Speicher vorhanden ist und anschließend beim Beenden des Prozesses sshd-auth entladen wird.

Analog zu sshd, ssh-session und ssh-agent wird fĂŒr den Prozess sshd-auth bei jedem Systemstart eine zufĂ€llige Umstrukturierung der ausfĂŒhrbaren Datei angewendet. Diese zufĂ€llige Umstrukturierung macht die Funktionsverschiebungen in ausfĂŒhrbaren Dateien und Bibliotheken schwer vorhersagbar, was die Erstellung von Exploits, die Techniken der RĂŒcksprung-orientierten Programmierung (ROP – Return-Oriented Programming) verwenden, erschwert. Bei der Verwendung der ROP-Technik versucht der Angreifer nicht, seinen eigenen Code im Speicher zu platzieren, sondern arbeitet mit bereits vorhandenen Abschnitten von Maschinenanweisungen, die mit einer RĂŒcksprungsteuerungsanweisung enden (in der Regel die Enden von Funktionen). Die Funktionsweise des Exploits beschrĂ€nkt sich darauf, eine Kette von Aufrufen Ă€hnlicher Blöcke („Gadgets“) zu erstellen, um die gewĂŒnschte FunktionalitĂ€t zu erhalten.

Quelle: opennet.ru

ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen đŸ”„ ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster