https://www.faz.net/-gsf-6uh8e

Staatstrojaner : Durch die Hintertür

  • -Aktualisiert am

Für Computer-Programme gibt es keine Unschuldsvermutung. Das beweist die mühsame Kleinarbeit der Software-Verifikation. Wie erkennt man zum Beispiel einen Trojaner?

          2 Min.

          Der Informatik-Laie nimmt gemeinhin an, dass Software eine sehr deterministische Angelegenheit ist, bei der man problemlos nachvollziehen kann, was sie genau tut. Leider ist das nicht der Fall. Jeder, dem schon einmal sein Textverarbeitungsprogramm unter Vernichtung der mühevoll geschriebenen Zeilen abgestürzt ist, hat das am eigenen Leib erlebt. Der Absturz war eine „Funktion“, die der Hersteller nicht vorgesehen hat, von der er nichts wusste, die von den Abnahmetests nicht entdeckt wurde.

          Programmierer verstecken aber auch gerne kleine Extras in ihrer Software. Die harmlosen Varianten davon werden „Easter Egg“ genannt und sind zum Beispiel Mini-Spiele oder aufheiternde Animationen in sonst eher langweiligen Programmen, für deren Aufruf man die richtige Tastenkombination kennen muss. Die wird natürlich nicht offiziell dokumentiert, sondern verbreitet sich informell. Im weniger harmlosen Fall sind es Hintertüren, die später ausgenutzt werden können, wenn der Bösewicht die richtige Zugriffsmethode kennt. Es gibt keine Unschuldsvermutung für Software.

          Fehlfunktionen lassen sich nicht ausschließen

          Eine ganze Disziplin der Informatik beschäftigt sich mit der sogenannten Software-Verifikation, also dem Entwickeln von Methoden, tatsächlich zu verstehen, was ein bestimmtes Stück Code tatsächlich kann. Dabei ist man sehr schnell von den industrieüblichen, praxisoptimierten Programmiermethoden, wie sie etwa bei den gefundenen Trojanern verwendet werden, zu eher esoterischen, an mathematischer Beweisbarkeit orientierten Progammiersprachen und Verfahren gewechselt.

          Die praktisch verwendbaren Ergebnisse dieser Arbeit sind mühevoll errungen und nicht sehr weit verbreitet. In sicherheitskritischen Bereichen, etwa bei Flugzeugsteuerungen, werden solche Verfahren eingesetzt, um Abstürze und Fehlfunktionen zu vermindern. Gänzlich ausschließen lassen sie sich jedoch kaum, wie die bekanntgewordenen Software-Probleme bei Flugzeugen in der Vergangenheit zeigten. Der Test-Code in solchen Projekten hat typischerweise den dreißig- bis fünfzigfachen Umfang des eigentlichen Programms, unter anderem, weil er alle zu erwartenden Ein- und Ausgabewerte simulieren und prüfen muss. Und natürlich enthält auch die Testsoftware Fehler.

          Funktionstests reichen nicht aus

          Vorgenommen werden solche umfangreichen Verifikationen immer in Kenntnis des kommentierten, von Menschen lesbaren Quellcodes, also mit dem expliziten Wissen, was der Programmierer eigentlich erreichen wollte. Ohne dieses Wissen, also nur auf Basis des Maschinencodes, der aus dem Quellcode übersetzt wird, ist die Analyse zwangsläufig noch viel fehleranfälliger, ungenauer und schwieriger. Man muss per digitaler Autopsie mühsam erschließen, was die Funktion der einzelnen Programmteile ist und wie sie zusammenhängen.

          Funktionstests, also das von den deutschen Behörden laut eigener Aussage vorgenommene Verfahren zur Trojanerprüfung, bedeuten nur: zu testen, ob die bestellten Funktionen auch vorhanden sind. Damit kann man aber immer nur das Vorhandensein einer Funktionalität beweisen, nicht aber das Nichtvorhandensein. Funktionstests in der analogen Welt wären das Herumdrücken auf den Knöpfen eines Autos, vielleicht ein wenig herumfahren damit und das Prüfen des Reifendrucks. Damit ließe sich aber niemals feststellen, ob nicht eine Wanze ins Auto eingebaut wurde.

          Weitere Themen

          Heroisch wie im Film

          Richard Neutras Häuser : Heroisch wie im Film

          Das Wohnen in der Wüste wird wieder aktuell: In Wien feiert man die Wohnhäuser des großen österreichisch-amerikanischen Architekten Richard Neutra.

          Filmkomponist Ennio Morricone verstorben Video-Seite öffnen

          Spiel mir das Lied vom Tod : Filmkomponist Ennio Morricone verstorben

          Die italienische Filmmusik-Legende Ennio Morricone ist tot. Er starb im Alter von 91 Jahren in einer Klinik in Rom. Morricone gilt als einer der größten Komponisten der Filmgeschichte. Berühmt wurde er unter anderem mit Titelmelodien den Kultfilm „Spiel mir das Lied vom Tod“.

          Topmeldungen

          Premierminister Morrison präsentiert Australiens neue Verteidigungspläne

          Neue Sicherheitspolitik : Australien bietet China die Stirn

          Seit 1945 stand Australien in allen Kriegen treu an der Seite Amerikas. Jetzt, wo für Canberra das Problem China immer dringlicher wird, sucht die Regierung neue, zuverlässige Verbündete und rüstet auf.

          Newsletter

          Immer auf dem Laufenden Sie haben Post! Abonnieren Sie unsere FAZ.NET-Newsletter und wir liefern die wichtigsten Nachrichten direkt in Ihre Mailbox. Es ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.
          Vielen Dank für Ihr Interesse an den F.A.Z.-Newslettern. Sie erhalten in wenigen Minuten eine E-Mail, um Ihre Newsletterbestellung zu bestätigen.