Das Team von OpenBSD will den Syscall-Aufruf komplett aus seinem System entfernen. Das soll Exploits deutlich erschweren.
Das auf Sicherheit fokussierte Open-Source-Betriebssystem OpenBSD möchte den Systemaufruf Syscall komplett aus dem eigenen Kernel und der Standard-C-Bibliothek entfernen. Das kündigt der Begründer und Leiter von OpenBSD, Theo de Raadt, auf der Mailingliste des Projekts an und verschickt dazu auch passende Änderungsdateien. Ziel dieser tiefgreifenden Änderung ist, wie es bei dem Projekt zu erwarten ist, die Sicherheit zu erhöhen.
Mit Hilfe des Syscall-Aufrufs können die anderen Systemaufrufe des Betriebssystems indirekt über eine Zahl aufgerufen werden, die die entsprechende Assembler-Sprache der genutzten Plattform unterstützen muss. Dafür gibt es Tabellen, welche etwa im Fall von OpenBSD bis zur Gründung des Projekts zurückreichen. Die Idee des Syscall-Aufrufs ist dabei noch deutlich älter und stammt dabei aus dem originalen BSD von Anfang der 80er Jahre, ist seitdem aber auch von anderen unixartigen Systemen implementiert worden. In der Linux-Dokumentation etwa heißt es, der Aufruf sei sinnvoll für den Fall, falls der gewünschte Systemaufruf über keine eigene Wrapper-Funktion in der C-Bibliothek verfüge.
De Raadt begründet den Schritt mit dem Ziel, möglichst viele Aktionen unterbinden zu wollen, die bei der Ausnutzung einer Sicherheitslücke zum Ausführen von Code führen können. Er schreibt weiter: “Mir ist klar, dass wir niemals alle [von den Angreifern] verwendeten Mechanismen vollständig beseitigen können. Ich hoffe jedoch, dass ich die Programmierer von Angriffen dazu zwinge, immer kompliziertere Methoden zu verwenden. Gleichzeitig bedeutet dies, dass weniger Methoden verfügbar sind. Andere Methoden machen die Ausnutzung anfälliger. Dies drückt die Erfolgsquoten in den ‘statistischen Niedrigprozentbereich’.”
Weiter heißt es, der Entwickler versuche dabei zuerst, die einfachen Methoden zu entfernen und Angreifer eben zu immer komplexeren Aufgaben zu zwingen. In Zukunft sollen auch die komplexeren Aufgaben zum Ausnutzen von Sicherheitslücken unterbunden werden. Sollte die Änderung für den Syscall-Aufruf wie geplant umgesetzt werden, muss sich das Team zunächst aber um die damit verbundenen Auswirkungen auf andere Software kümmern. So müssen viele Programme angepasst werden, die den Aufruf bisher benutzt haben. Das gelte insbesondere für das Go-Ökosystem, schreibt de Raadt.
Der Beitrag OpenBSD will indirekte Systemaufrufe unterbinden erschien zuerst auf Linux-Magazin.