OS Fingerprint Obfuscation for modern Linux Kernels

Bachelor-Studiengang IT Security

Anton Hinterleitner, BSc
19.09.2014

Ausgangslage

Betriebssysteme lassen sich unter anderem anhand ihrer Charakteristika des TCP/IP-Stacks unterscheiden. Die Kenntnis dieser Spezifika erlaubt es, Rückschlüsse auf das jeweilige Betriebssystem zu ziehen und es zu identifizieren. Mit verschiedenen Tools ist es möglich, diese Eigenschaften einem bestimmten Betriebssystem zuzuordnen. Ein Grund für das Vortäuschen eines Betriebssystems ist der Betrieb eines Honeypots, der eine andere Identität annehmen soll. Potentiellen AngreiferInnen wird dadurch das Erkennen des Honeypots erschwert. Des Weiteren kann für geplante Angriffe auf ein System die Kenntnis des Betriebssystems und dessen spezielle Sicherheitslücken von AngreiferInnen ausgenützt werden.
Zum Zeitpunkt des Entstehens dieser Arbeit sind einige Tools für das Vortäuschen eines ausgewählten Betriebssystems für bestimmte Versionen des Linux-Kernels verfügbar. Für aktuelle Linux-Kernels hingegen gibt es derzeit keine Möglichkeiten bzw. Tools, welche es erlauben, die ausgewählte Identität eines anderen Betriebssystems anzunehmen.

Ziel

Ein Überblick der verfügbaren Implementierungen zeigt die Bandbreite an Möglichkeiten, ein anderes Betriebssystem vorzutäuschen. Die entwickelte Lösung zielt darauf ab, eine andere Identität eines Betriebssystems für eine aktuelle Linux-Version zu simulieren. Ein OS-Fingerprint-Scan des Linux-Systems soll das gewählte Betriebssystem folglich als Identität liefern. Die Umsetzung macht nach Möglichkeit keine Änderungen oder Anpassungen im Linux-Kernel erforderlich.

Ergebnis

Basierend auf einer theoretischen Eingrenzung des Themas und der Definition der Ausgangslage durch die Darstellung des aktuellen Standes der Forschung und Praxis, konnte eine Methode gefunden werden, Betriebssysteme entsprechend der im Ziel definierten Rahmenbedingungen vorzutäuschen. Die präsentierte Lösung ermöglicht es, einem aktuellen Linux-Betriebssystem eine vorausgewählte Identität zuzuordnen und diese bei einem OS-Fingerprint-Scan als Ergebnis zu liefern. Die Implementierung bedarf keiner Eingriffe in den Linux-Kernel und kann deshalb unabhängig von neuen Versionen des Kernels eingesetzt werden.

Ausblick

Mit jedem neuen Release eines OS-Fingerprint-Tools werden potenziell auch dessen Fingerprint-Funktionen angepasst bzw. erweitert, deshalb ist die einfache Erweiterbarkeit der Lösung für OS-Fingerprint-Obfuscation von Nöten, um diese Tools zu täuschen. Durch die Integration weiterer OS-Fingerprint-Tools würde der Ermittlung des tatsächlichen Betriebssystems weiter entgegengewirkt.

FH-Betreuer: Dipl.- Ing. (FH) Thomas Brandstetter, MBA