In OpenBSD wurde eine Technik zum Schutz vor der Ausnutzung von Schwachstellen implementiert, die auf der zufĂ€lligen Neukompilierung der ausfĂŒhrbaren Datei sshd bei jedem Systemstart basiert. Zuvor wurde eine Ă€hnliche Neukompilierungstechnik fĂŒr den Kernel sowie fĂŒr die Bibliotheken libc.so, libcrypto.so und ld.so verwendet, und nun wird sie auch fĂŒr bestimmte ausfĂŒhrbare Dateien angewendet. In naher Zukunft ist geplant, diese Methode auch fĂŒr ntpd und andere Serveranwendungen zu implementieren. Die Ănderung ist bereits in der CURRENT-Branch enthalten und wird in der Version OpenBSD 7.3 angeboten.
Die Neukompilierung macht die Adressen von Funktionen in den Bibliotheken wenig vorhersehbar, was die Erstellung von Exploits erschwert, die Techniken der RĂŒcksprungorientierten Programmierung (ROP â Return-Oriented Programming) verwenden. Bei der Verwendung der ROP-Technik versucht der Angreifer nicht, eigenen Code im Speicher zu platzieren, sondern arbeitet mit bereits in den geladenen Bibliotheken vorhandenen Abschnitten von Maschinenanweisungen, die mit einer RĂŒcksprunganweisung enden (in der Regel das Ende von Bibliotheksfunktionen). Die Funktionsweise des Exploits besteht darin, eine Kette von Aufrufen solcher Blöcke (âGadgetsâ) zu erstellen, um die gewĂŒnschte FunktionalitĂ€t zu erreichen.
Quelle: opennet.ru
