← Neueste Arbeiten
💻 computer science

The Linux IOCTL Census: A Source-Derived Database of the Linux Kernel Control-Code Surface

Dieses Paper führt die Linux IOCTL Census ein, eine quellengestützte Datenbank, die durch die Analyse von 878 Modulen systematisch die ioctl-Befehlsoberfläche des Linux-Kernels katalogisiert, indem sie Dispatch-Punkte, Befehlscodes und Sicherheitsgates identifiziert und somit plattformübergreifende Schwachstellenanalysen sowie Threat Modeling ermöglicht.

Ursprüngliche Autoren: Michael J. Bommarito

Veröffentlicht 2026-06-10
📖 5 Min. Lesezeit🧠 Tiefgang

Ursprüngliche Autoren: Michael J. Bommarito

Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen

Stellen Sie sich das Linux-Betriebssystem als eine riesige, geschäftige Stadt vor. In dieser Stadt gibt es Tausende von spezialisierten Geschäften (genannt Treiber), die alles steuern – von Ihrer Maus und Tastatur bis hin zu Ihrer Festplatte und Ihrer Netzwerkkarte.

Um in diesen Geschäften etwas zu erledigen, müssen Sie (der Nutzer) dem Ladenbesitzer ein bestimmtes Ticket übergeben. Dieses Ticket ist eine Zahl, die als IOCTL-Befehl bezeichnet wird. Wenn Sie das richtige Ticket übergeben, öffnet der Ladenbesitzer die Tür und tut das, was Sie verlangt haben. Wenn Sie jedoch das falsche Ticket oder ein Ticket mit einem darin versteckten Trick übergeben, könnte der Ladenbesitzer versehentlich das Geschäft beschädigen, Daten stehlen oder einen Fremden hereinlassen.

Das Problem ist, dass es kein zentrales Telefonbuch für diese Tickets gibt. Jeder Ladenbesitzer erfindet seine eigenen Tickets, schreibt seine eigenen Regeln und bewahrt sie in seinem eigenen Hinterzimmer auf. Sicherheitsexperten, die versuchen, die Schwachstellen zu finden, müssen an jede einzelne Tür klopfen, eine nach der anderen, in der Hoffnung, einen Ladenbesitzer zu finden, der vergessen hat, die Gültigkeit eines Tickets zu prüfen.

Dieses Paper stellt eine „Volkszählung der Stadt“ für diese Tickets vor.

Hier ist, wie die Autoren diese Volkszählung aufgebaut haben und was sie herausgefunden haben, unter Verwendung einfacher Analogien:

1. Die große Landkarte (Die Volkszählung)

Anstatt jede Tür einzeln abzuklopfen, bauten die Autoren einen Roboter, der die Blaupausen (den Quellcode) der gesamten Stadt las.

  • Der Prozess: Sie erstellten eine Liste aller Geschäfte (878 Module), die in einem Standard-Stadtlayout für das Geschäft geöffnet waren.
  • Das Ergebnis: Sie erstellten eine riesige, durchsuchbare Datenbank, die Folgendes enthielt:
    • 586 Ticket-Dispatcher: Die Haupt-Empfangspersonen, die Ihre Tickets entgegennehmen.
    • 1.289 dekodierte Tickets: Sie fanden heraus, was 1.289 verschiedene Ticketnummern tatsächlich bedeuten (z. B. „Status prüfen“, „Daten schreiben“).
    • 3.583 gefährliche Öffnungen: Sie fanden Orte, an denen der Ladenbesitzer Ihr Ticket entgegennimmt und sofort darauf reagiert, ohne zu prüfen, ob es sicher ist (wie ein Ladenbesitzer, der Sie die Ware anfassen lässt, bevor er Ihren Ausweis kontrolliert).

2. Der „VIP-Filter“ (Das Bedrohungsmodell)

Nicht jedes Geschäft ist für die allgemeine Öffentlichkeit geöffnet. Einige sind nur für den Bürgermeister (den Systemadministrator) oder die Polizei (Sicherheitsmodule) reserviert.

  • Das Problem: Wenn ein Geschäft hinter einem „Nur für den Bürgermeister“-Tor verschlossen ist, kann ein normaler Bürger nicht hineinkommen, wesな es für den alltäglichen Hacker weniger besorgniserregend ist.
  • Die Lösung: Die Autoren fügten einen Filter zu ihrer Karte hinzu. Sie fragten: „Gibt es ein hartes Schloss (ein Capability-Gate), das einen normalen Menschen am Betreten hindert?“
  • Das Ergebnis: Sie filterten 50 Geschäfte heraus, die streng gesichert sind. Dies hinterließ 281 Geschäfte, die potenziell für normale Menschen zugänglich sind. Dies ist keine Garantie, dass jeder hineinkommen kann, aber es ist die „Worst-Case-Szenario“-Liste der Orte, die könnten erreichbar sein.

3. Die „Sicherheitsprüfung“ (Sanitization)

Die Autoren untersuchten die 281 potenziell offenen Geschäfte, um zu sehen, ob die Ladenbesitzer vorsichtig waren.

  • Die Heuristik: Sie suchten nach einem bestimmten Muster: Hat der Ladenbesitzer die Größe des Tickets geprüft, bevor er den Nutzer an die sensiblen Dinge heranließ?
  • Das Ergebnis: Sie fanden 3.201 Stellen, an denen der Ladenbesitzer diese Prüfung scheinbar übersprungen hat.
  • Die Einschränkung: Die Autoren sind ehrlich in Bezug auf dies. Sie nennen dies einen „Proxy“ oder eine „beste Schätzung“. Es ist, als würde man sehen, wie ein Ladenbesitzer kurz auf ein Ticket blickt und davon ausgeht, dass er es geprüft hat, ohne tatsächlich dabei zuzusehen, wie er die Berechnungen durchführt. Es ist eine Obergrenze für die Anzahl der Orte, die eventuell riskant sind, nicht eine bestätigte Liste defekter Geschäfte.

4. Testen der Karte (Der Backtest)

Um zu sehen, wie genau ihre Karte ist, nahmen sie 22 bekannte Sicherheitslücken (CVEs), die kürzlich in der Stadt gefunden worden waren, und prüften, ob ihre Karte diese anzeigte.

  • Der Erfolg: Ihre Karte fand den Ort von 7 dieser Lücken.
  • Die Fehlgriffe: Sie haben 15 verpasst. Warum? Weil diese 15 Lücken in Geschäften lagen, die nicht das standardmäßige „Ticket-Schalter“-System verwendeten. Sie nutzten eine geheime Seitentür oder eine andere Liefermethkeit, nach der der Roboter noch nicht programmiert war.
  • Die Lehre: Die Karte ist sehr gut darin, Standard-Ticket-Schalter zu finden, aber sie muss auch die geheimen Seitentüren (wie jene, die von Grafikkarten oder Videotreibern genutzt werden) lernen, um vollständig zu sein.

5. Warum das wichtig ist

  • Es ist eine statische Liste: Im Gegensatz zu anderen Tools, die versuchen, in die Stadt einzubrechen, indem sie sie laufen lassen und zum Absturz bringen (dynamisches Testen), liest dieses Tool lediglich die Blaupausen. Es findet die Form der Gefahr, selbst wenn noch nie jemand versucht hat, dort einzubrechen.
  • Es ist durchsuchbar: Sicherheitsforscher können nun Fragen stellen wie: „Zeige mir alle Geschäfte, die das ‚Watchdog‘-Ticket verwenden und kein Schloss haben.“ Sie müssen nicht tausende Seiten Code manuell lesen.
  • Es ist offen: Die Autoren haben den „strukturellen“ Teil der Karte (die Liste der Geschäfte und Tickets) für alle freigegeben, behielten aber den „zielgerichteten“ Teil (die spezifische Liste der gefährlichsten, unverifizierten Löcher) privat, um zu verhindern, dass böswillige Akteure es sofort nutzen können.

Zusammenfassung

Die Autoren haben ein durchsuchbares Inventar der Steuerungs-Buttons des Linux-Kernels erstellt. Sie haben tausende Befehle kartiert, diejenigen herausgefiltert, die hinter „Nur für Admins“-Toren gesperrt sind, und diejenigen hervorgehoben, die möglicherweise keine Sicherheitsprüfungen besitzen. Es ist keine Liste bestätigter Bugs, sondern eine massive, organisierte Karte, die Sicherheitsexperten genau zeigt, wo sie zuerst suchen müssen, um sie zu finden.

Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?

Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.

Digest testen →