Mehr Sicherheit durch weniger Geheimhaltung

Autor/Redakteur: Robert Dewar, Mitgründer und Präsident von AdaCore/gg

Quelle: AdaCore
Quelle: AdaCore

Sichere Software ist möglich. Wenn man nur genügend Aufwand treibt, lassen sich Software-Fehler identifizieren. Anders sieht es mit böswilligen Angriffen auf Software aus, hier führen die ansonsten bewährten Verfahren nur bedingt zum Erfolg. Dies liegt nicht an einem Zuwenig, sondern an einem Zuviel an Geheimhaltung: geheime Software lässt sich leichter angreifen. Notwendig ist daher ein Umdenken, das den Einsatz von FLOSS (Freely Licensed Open Source Software) für kritische Aufgaben ermöglicht.

In allen komplexen Systemen spielt heute Software eine entscheidende Rolle. Kommt es zu Pannen, wird gern “die Software” verantwortlich gemacht. So wurden beispielsweise die Startprobleme bei der Inbetriebnahme von Terminal 5 am Flughafen London-Heathrow auf Software-Fehler zurückgeführt. Gleichzeitig aber starteten, flogen und landeten am selben Flughafen hochkomplexe Verkehrsflugzeuge ohne Schwierigkeiten – und das, obwohl sie ohne funktionierende Software wie ein Stein vom Himmel fallen würden. Wenn man sich also nur genügend Mühe gibt und keine Kosten scheut, dann scheint es möglich zu sein, fehlerfreie Software zu erstellen. Immerhin hat bis heute niemand sein Leben wegen fehlerhafter Flugzeugsoftware verloren – eigentlich keine schlechte Bilanz.

Tatsächlich gibt es gute Techniken zur Verhinderung von Bugs. Beispielweise lassen sich “formale” mathematische Methoden anwenden, um festzustellen, ob ein Code fehlerfrei ist. Ein solcher Ansatz wird etwa für iFACTS, das Luftverkehrskontrollsystem in Großbritannien verwendet, das auf dem SPARK-Framework von Adacore aufbaut. Freilich muss man die vorhandenen Techniken zur Erzeugung fehlerfreier Software, wie sie eben bei Avionik-Software durch verschiedene Sicherheitsnormen vorgeschrieben sind, auch einsetzen.

Allerdings hat sich die Welt durch den 11. September 2001 und die nachfolgenden Anschläge in London und Madrid verändert. Heute reicht es nicht mehr, nur sicherzustellen, dass Software frei von Fehlern ist, nun darf sie auch keine Ansatzpunkte für Cyber-Attacken bieten. Jede Software, die kritisch ist, ist ein potentielles Ziel für Angriffe, etwa Software für Systeme, die Kernkraftwerke, Netzverteilernetze oder die Flugsicherung steuern.