Computersicherheit Zehn Wege, wie ein Top-Hacker schwere Sicherheitslücken findet

Der Australier Mark Dowd wurde für seine genialen Hacks mit Mozart vergleichen. Nun verrät er einige seiner Methoden. Eine davon muss man sich leisten können. Eine andere nennt er selbst »unhöflich«.
Computer(un)sicherheit: Code verhält sich mitunter anders, als es gemäß seiner Hersteller-Dokumentation möglich sein sollte

Computer(un)sicherheit: Code verhält sich mitunter anders, als es gemäß seiner Hersteller-Dokumentation möglich sein sollte

Foto: Getty Images

Mark Dowd gilt in seiner Branche als Genie, das längst niemandem mehr etwas beweisen muss. Der Australier hat unter anderem schon kritische Schwachstellen in Microsoft Exchange, im Internet Explorer, dem Firefox-Browser, Adobe Flash und Apples AirDrop entdeckt. Der Öffentlichkeit aber ist er mit einem Hack bekannt geworden, den er bis heute nicht zugibt: Der »Washington Post« zufolge  waren es Dowd und sein Kollege David Wang, die 2016 das gesperrte iPhone 5c des Attentäters von San Bernadino knackten und damit einen fundamentalen Streit zwischen dem FBI und Apple um Hintertüren im iPhone-Betriebssystem überflüssig machten.

900.000 Dollar soll das FBI damals an Dowds Firma Azimuth gezahlt haben – ein Hinweis darauf, wie teuer das Wissen um Softwareschwachstellen und die Entwicklung sogenannter Exploits zum Ausnutzen dieser Schwachstellen ist. Das ist Azimuths Geschäft: Exploits für die Nachrichtendienste und Strafverfolgungsbehörden der Five Eyes  – also USA, Kanada, Großbritannien, Australien und Neuseeland bauen. Die hacken sich damit, unter demokratischer Aufsicht und Kontrolle, in die Kommunikation und die Systeme ausschließlich von Terrorverdächtigen und Kriminellen – das jedenfalls ist die Idealvorstellung. Wie weit etwa die NSA und der britische Dienst GCHQ bei der Internetüberwachung gehen, haben die von Edward Snowden entwendeten Dokumente gezeigt.

Dowd jedenfalls wurde schon als »Mozart of exploit development« bezeichnet. 2018 übernahm wohl auch deshalb das Rüstungsunternehmen L3 Azimuth und dessen Vertriebspartner Linchpin Labs für mindestens 200 Millionen Dollar .

Am vergangenen Wochenende war Dowd in Berlin und hielt einen Vortrag auf der OffensiveCon , einer Konferenz für IT-Sicherheitsexpertinnen und -experten, die sich auf das Aufspüren und Ausnutzen von Sicherheitslücken spezialisiert haben. Er sprach über seine grundsätzlichen Methoden, darüber, wie er vorgeht, wenn er neue Schwachstellen finden will. Das Ganze lässt sich aber auch aus der Sicht der Defensive betrachten: Dowds Liste verrät einiges drüber, wie es um die Sicherheit der heutigen IT bestellt ist:

1. Dowd sagt: »Besonders für die größten Anwendungen gilt: Alle gehen davon aus, dass sich alle anderen die schon angesehen haben – weshalb es nur sehr wenige wirklich tun«. Deshalb fand er schon früh in seiner Karriere Schwachstellen in besonders weit verbreiteten Programmen wie etwa Internetbrowsern. Die Annahme, dass besonders bekannte Apps besonders sicher sind, weil sie besonders viel Aufmerksamkeit von Sicherheitsforschern bekommen, ist demnach falsch.

2. Updates führen Schwachstellen wieder ein, die vorherige Updates bereits Jahren geschlossen hatten: Dowd sagt, es sei immer wieder erstaunlich, wie häufig das passiere: »Eine Schwachstelle wird gefunden, sie wird geschlossen, dann entdeckt jemand eine subtilere Variante, dann wird auch die geschlossen und so weiter. Und die ganze Zeit werden die gleichen Code-Funktionen neu geschrieben und dabei Bugs (engl. für Programmfehler, Schwachstellen – Anm. der Red.) wieder eingebaut, die vor zwei Jahren eigentlich schon beseitigt wurden«.

Software kann menschliche Kreativität nicht ersetzen

3. Der Mensch ist kreativer als Maschinen: Dowd versucht stets, einen Code wirklich zu verstehen. Zwar gibt es Werkzeuge, mit denen sich Programmcode automatisiert nach potenziellen Schwachstellen durchsuchen lässt. Dowd weiß, dass die viel Zeit sparen und »die niedrig hängenden Früchte finden«. Deshalb empfiehlt er Exploit-Entwicklern auch, sich immer jemanden zu suchen, der im Umgang mit diesen Werkzeugen versiert ist.

Er selbst allerdings befürchtet, Ansätze für einen Exploit zu übersehen, wenn er einen Code nicht selbst durchdringt. Heutzutage sei es oft nötig, mehrere »Ideen zusammenzuknüpfen«, um eine Schwachstelle ausnutzen zu können. Im Umkehrschluss heißt das: Hersteller können ihre Produkte noch so oft automatisiert überprüfen, an den Einfallsreichtum versierter Exploit-Entwickler reicht die Software nicht heran.

4. Code lesen, nicht die Dokumentation zum Code: Häufig ergeben Dowds Experimente, dass sich ein Code anders verhält, als es gemäß seiner offiziellen Hersteller-Dokumentation möglich sein sollte.

5. Ideen, die nicht funktioniert haben, aufschreiben und aufheben: Dowd greift mitunter auf jahrealte eigene Aufzeichnungen zurück, um zu sehen, »ob die Bedingungen noch die gleichen sind«. Sprich: eine Schwachstelle ließ sich früher vielleicht nicht ausnutzen, weil drumherum zu vieles nicht passte. Weil Code aber häufig umgeschrieben und aktualisiert wird (siehe Punkt 2), kann sich das Drumherum mitunter ändern.

6. »Ich suche nach Komplexität«: Rückwärtskompatibilität zu alten Softwareversionen, neue Features, mit denen sich ein Anbieter von der Konkurrenz abheben möchte oder auch akute Eindämmungsmaßnahmen, die noch vor einem generellen Update vor einer bestimmten Gefahr schützen sollen, bedeuten allesamt eine vergrößerte Angriffsfläche, sagt Dowd. Das gleiche gelte für Funktionen, die einer Anwendung mithilfe handelsüblicher Softwarebausteine hinzugefügt werden. Diese Bausteine sind oft universell einsetzbar und bringen daher mehr Funktionen mit, als die Anwendungen eigentlich bekommen sollte.

Über Bande angreifen

7. Aufwendige Abwehrmaßnahmen sind ein Tipp: Wenn Dowd erkennt, dass eine Firma eine potenzielle Gefahr durch komplexe Vorsichtsmaßnahmen auszuschließen versucht, schaut er, ob die jeweiligen Konkurrenten das in ihren Produkten auch tun. Wenn nicht, hat er damit ein neues Ziel gefunden und schaut sich diese möglicherweise schlechter geschützten Produkte an. Für die IT-Branche heißt das: Wenn Firmen in Sicherheitsfragen kooperieren, kann das helfen, mehr Menschen zu schützen als nur die eigenen Nutzerinnen und Nutzer.

8. Sechs Schwachstellen zum Preis von einer: Wenn Experten eine Lücke finden, schauen sie zur Konkurrenz des Anbieters – denn manchmal macht die den gleichen Fehler. Als Beispiel nennt Dowd die Sicherheitsforscherin Natalie Silvanovich von Googles Project Zero. Sie hatte 2019 eine Schwachstelle in Apples Videocall-App FaceTime entdeckt, mit der sich Nutzer aus der Ferne abhören ließen – und dann ganz ähnliche in fünf anderen Messengern , darunter Signal und Facebooks Messenger.

Die beiden letzten Methoden sorgten bei der OffensiveCon für Heiterkeit:

9. Manche Programmierer machen vergleichsweise viele sicherheitsrelevante Fehler – und Exploit-Entwickler merken das. »Mehr als eine Person hat mir gesagt«, erzählte Dowd, »dass sie bestimmte Programmierer im Blick behalten und sich alle deren Beiträge (auf öffentlichen Code-Plattformen wie GitHub – Anm. der Red.) vornehmen. Das ist irgendwie unhöflich, aber ich schätze, es funktioniert.«

Die Konkurrenz einfach aufkaufen

10. Dowd selbst hatte einst zwei Schwachstellen in Googles Chrome-Browser entdeckt, doch beide wurden geschlossen, kurz bevor er sie Google melden konnte. Aus Frust tat er, »was wir bei Azimuth ›rage audit‹ nennen«: Er versuchte sofort, eine dritte Chrome-Sicherheitslücke zu finden – und hatte Erfolg. Doch wieder wurde diese Lücke geschlossen, unmittelbar bevor er selbst sie einreichen konnte.

Dowd fand heraus, dass alle drei vom selben Sicherheitsforscher entdeckt und gemeldet worden waren, »also habe ich ihn eingestellt, damit war das Problem gelöst«. Sicherheit ist manchmal eben auch eine Frage des Geldes.

Dowd will damit aber nicht sagen, dass moderne IT komplett unsicher ist. Dem SPIEGEL schrieb er auf Anfrage: »Im Laufe meiner Karriere haben sich die wichtigen Anbieter erheblich verbessert. Sie wissen viel mehr über potenzielle Gefahren, sie haben viel ausgeklügeltere Infrastruktur und Werkzeuge, um zu verhindern, dass Schwachstellen in ihrem Code landen.« Außerdem habe auch die Geschwindigkeit zugenommen, mit der gefundene Sicherheitslücken zumindest notdürftig geschlossen werden.