Backdoors (Hintertüren) in Software

Eine Backdoor ermöglicht den unerwünschten Zugriff auf Software (Betriebssystem, Anwendung, BIOS, Firmware, Verschlüsselungsalgorithmus) mit dem Ziel unentdeckt und illegal

a) geschützte Daten einzulesen

und/oder  

b) Änderungen an geschützten Daten vorzunehmen.

Ken Thompson („Vater“ des Betriebssystems UNIX und der Programmiersprache C) wies in seiner Turing Award-Dankesrede "Reflections on Trusting Trust" (1984) daraufhin, dass nur Software vertrauenswürdig sein könne, welche man vollständig selbst erzeugt habe:

„You can't trust code that you did not totally create yourself.”

und das KEINE Analyse des Source Codes, sei diese auch noch so gründlich, jemanden davor bewahrt, nicht vertrauenswürdigen Code (Malware, Backdoors, Rootkits usw.) zu benutzen:

“No amount of source-level verification or scrutiny will protect you from using untrusted code”

Ken Thompson belegt seine Schlussfolgerung mit dem Beispiel einer Backdoor, welche einem unveränderten Source Code per Kompilierung durch einen kompromittierten Compiler „eingeplanzt“ wird.

Die o.g. Schlussfolgerungen von Ken Thompson sind in ihren Auswirkungen sehr weitreichend und schränken die Möglichkeiten stark ein, sich vor unerwünschter Software durch alleinigen Zugriff auf den Source Code zu schützen, da

  1. jegliche benutzte Software einschließlich der benutzen Compiler im Quellcode vorliegen muss. Da dies AUCH für die Software zur Steuerung der benutzten Hardware (BIOS, Firmware, Prozessor-Microcode usw.) gilt, ist dies für den Durchschnittsnutzer praktisch nicht umsetzbar.
        
  2. der alleinige Zugriff auf den Source Code mehr gefühlte Sicherheit als wirklichen Schutz vor Backdoors bietet. Denn in der gelebten IT-Praxis wird sehr oft einfach der Binärcode von vertrauenswürdigen Anbietern eingesetzt, ohne den vorliegenden Source Code zu analysieren und anschließend zu übersetzen und wenn die Quellen übersetzt werden, dann oft ohne Source Code-Analyse und in den wenigsten Fällen mit selbstgebauten Compilern und mit einer Wahrscheinlichkeit gegen NULL auf Hardware, die durch selbsterzeugte Software gesteuert wird. 

Daher lautet die DRINGENDE Empfehlung des ITMZ nur Software aus vertrauenswürdigen Quellen zu nutzen.

Referenzen

Ken Thompson

Relevante Abschnitte des Strafgesetzbuches (StGB)

Fünfzehnter Abschnitt - Verletzung des persönlichen Lebens- und Geheimbereichs

Siebenundzwanzigster Abschnitt - Sachbeschädigung

Bezugsadressen für Source Code von ausgewählten Software-Anbietern/Produkten:

Weitere Links zum Thema

Backdoors in Open Source

Backdoors in Windows

Sicherheitsprobleme von Standard-Software