Unser Alltag läuft mit Software. Und ohne Software läuft nichts mehr. Wie in Heathrow. Ausgerechnet an einem langen Ferienwochenende brach Ende Mai auf Europas größtem Flughafen das Computersystem von British Airways zusammen. Zwei Tage lang mussten weltweit fast alle Flüge gestrichen werden, Zehntausende Passagiere strandeten, ihr Gepäck wurde tagelang nicht ausgeliefert. Schwestergesellschaften der britischen Fluglinie waren ebenfalls betroffen, der Schaden summiert sich auf einen dreistelligen Millionenbetrag. Mit ähnlichen Problemen hatten schon andere Fluggesellschaften zu kämpfen gehabt, darunter Delta, Southwest, American Airlines, United und die Lufthansa. Für British Airways war es die zweite schwere Computerpanne innerhalb weniger Monate.

Ein kurzer Stromausfall im Londoner British-Airways-Datenzentrum hatte ausgereicht, um eine weltweite Kettenreaktion auszulösen. Als der Strom wieder floss, kehrten viele Computer nicht in ihren normalen Betriebsmodus zurück – sie waren falsch programmiert. Nach den Preis- und Übernahmeschlachten des vergangenen Jahrzehnts besteht die EDV der meisten Fluggesellschaften aus einem Mischmasch teils veralteter und notdürftig verbundener Technik. Der Luftverkehr aber ist für einen reibungslosen Betriebsablauf auf hochkomplexe Buchungs- und Logistiksysteme angewiesen. Schon ein kurzer Ausfall bringt das Gesamtsystem ins Wanken, und zwar weltweit.

Der Flugverkehr ist durch Softwarepannen besonders gefährdet, doch er ist keineswegs der einzige Lebensbereich, der darunter leidet. Im Januar war der Zentralcomputer der US-Grenzschutzbehörde ausgefallen, Tausende Reisende mussten stundenlang auf die Passkontrolle warten. Im vergangenen Jahr erschraken fast drei Millionen Kunden der Deutschen Bank über falsche Abbuchungen, Vodafone kämpfte mit einem Komplettausfall der Internet- und Telefonverbindung von 1,8 Millionen Kunden, Toyota brachte das Navigations- und Unterhaltungssystem mehrerer Fahrzeugtypen mit einem Software-Update zum Absturz. Und als das Buchungssystem des von BMW und Sixt betriebenen Carsharing-Anbieters drive now versagte, konnten 600.000 Kunden in ganz Europa keine Fahrten buchen.

In keinem dieser Fälle waren Hacker am Werk. Die Pannen waren das Ergebnis fehlerhaft programmierter Software. Die Schäden durch diese sogenannten Bugs (engl. Käfer, Informatikerjargon für Fehler) belaufen sich allein in Deutschland jedes Jahr auf zweistellige Milliardenbeträge. Und das ist erst ein Vorgeschmack auf die unerwünschten Nebenwirkungen unserer zunehmenden Abhängigkeit von Computerprogrammen. Vom Börsenhandel über die Strom- und Wasserversorgung, Fabrikroboter und soziale Netze bis zum Autoassistenzsystem: Ohne Software bricht das öffentliche Leben zusammen.

Wo Menschen programmieren, machen sie Fehler. Völlig verhindern lässt sich das nicht. Entscheidend ist es deshalb, die Bugs zu finden, bevor sie Schaden anrichten – oder ein Hacker sie entdeckt und ausnutzt. Da ein Programmcode aus Zehntausenden, oft sogar aus vielen Millionen Zeilen besteht, kann die Suche nach den Fehlern wiederum nur mit Computern erledigt werden. "Automatische Softwareanalyse" heißt der Sammelbegriff für die dabei üblichen Verfahren. Die digitalen Spürhunde werden von einem guten Dutzend hoch spezialisierter Unternehmen entwickelt und angewandt, zunehmend auch von Wissenschaftlern und Studenten an Universitäten.

Ein Star dieser Szene ist Christian Holler. Als 25-Jähriger hatte er 2011 für seine Masterarbeit an der Universität Saarbrücken ein neues Testverfahren entwickelt, mit dem er auf Anhieb über 100 sicherheitsrelevante Programmierfehler in Firefox, dem weltweit am zweithäufigsten genutzten Web-Browser, entdeckte. Schon einen Monat vor seiner Abschlussprüfung bekam Holler ein Jobangebot der Mozilla Corporation, die den Firefox-Browser vermarktet. Dort arbeitet er seitdem als leitender Sicherheitsingenieur – und hat mit seinem Verfahren inzwischen mehr als 4.000 Softwarefehler gefunden. "Die Kluft zwischen Industrie und Forschung wird kleiner", sagt er.

Mit Preisgeldern locken die Konzerne: Wer einen Bug findet, der gewinnt

"Grammar-based fuzzing" heißt Hollers Suchmethode. Beim fuzzing (Zerfusseln) werden die Eingabemasken von Computerprogrammen mit wirren Datenmassen bombardiert, in der Hoffnung, dass die Software abstürzt und dabei eine Schwachstelle offenbart. Diese Überlastungstechnik wird seit Jahrzehnten für die Fehlersuche genutzt. Statt willkürlicher Eingaben erzeugt Holler jedoch nur solche Zufallsbefehle, die sich exakt an die grammatikalischen Vorgaben der jeweiligen Programmiersprache halten. Dies erhöht die Chance, dass die Eingaben als gültig akzeptiert werden, in die tieferen Funktionen des Programms vordringen und dort auf besonders seltene Fehlerquellen stoßen. Der Finder darf sich fühlen wie ein Goldwäscher mit einem Nugget im Sieb.

Inzwischen loben alle großen Softwarekonzerne sogenannte Bug Bountys aus. Dass heißt, wer Softwarefehler aufdeckt, bekommt einen Finderlohn. Christian Holler strich mit seiner Masterarbeit gut 50.000 Dollar ein, Microsoft bietet bis zu 100.000 Dollar für das Aufdecken sicherheitsrelevanter Macken im neuen Windows 10, Apple zahlt bis zu eine Viertelmillion für jeden, der es schafft, in den innersten Kern seines Betriebssystems einzudringen und dort groben Unfug zu entdecken. Vor einem Jahr hatte sogar das amerikanische Verteidigungsministerium zu einem "Hack the Pentagon"-Wettbewerb aufgerufen – und für über hundert aufgedeckte Softwarefehler 75.000 Dollar gezahlt.

Das klingt nach viel, ist aber ein äußerst kleiner Lohn, wenn es um Software-Bugs geht, die von Hackern als Einfallstor ausgenutzt (engl. to exploit) werden könnten. Im Internet sind sie mehr wert und werden teils verdeckt, teils sogar offen als sogenannte Zero-Day-Exploits gehandelt. Null Tage deswegen, weil den Softwareherstellern überhaupt keine Zeit mehr bleibt, die aufgedeckte Lücke mit einem Software-Update zu schließen, bevor Schaden entstehen kann. "Am Schwarzmarkt wird für so etwas erheblich mehr Geld als in Bug-Bounty-Programmen gezahlt", sagt der Paderborner Informatiker Eric Bodden. Zusammen mit seinem Saarbrücker Kollegen Andreas Zeller arbeitet er unter dem Namen Testify an einem großen, von der Deutschen Forschungsgemeinschaft finanzierten Projekt zur automatischen Suche nach derartigen Schwachstellen.