Cyber Reasoning Systems

Aus MittelstandsWiki
Wechseln zu: Navigation, Suche

Sind Maschinen die besseren Hacker?

© DARPA

Von Uli Ries

Die gute Nachricht vorweg: Hackende Computer gibt es bislang nur im Forschungslabor – und auf der Bühne eines Forschungswettbewerbs, der als Leistungsschau autonom hackender Maschinen konzipiert war. Die im Sommer 2016 veranstaltete DARPA Cyber Grand Challenge (CGC) war der erste Hackerwettbewerb ohne (menschliche) Hacker. Der Wettstreit lässt weit in die Zukunft der IT-Sicherheit blicken und zeichnet ein Bild vom Krieg der Maschinen: Eigens hierfür programmierte Software untersucht andere Software auf Fehler, die sie noch nie zuvor gesehen hat. Dieselbe Software findet Fehler in sich selbst, programmiert und testet Updates, zieht sie im Zweifel zurück und installiert sie, wenn sie fehlerfrei ist.

Anzeige

Cyber Grand Challenge

War die CGC damit der erste Auftritt von künstlicher Intelligenz (KI) in der IT-Sicherheit? Nein. Auch wenn in den Medien rund um die CGC oft von KI bzw. Artificial Intelligence die Rede war. So effizient und teilweise beeindruckend die Programme auch zu Werke gingen, sie bewegten sich immer innerhalb eines engen Reglements und vorgegebenen Spielfelds. Kreativität, wie sie menschliche Hacker bei der Suche nach Lücken in Netzwerken oder Software mitbringen müssen, um den zu den Besseren ihres Fachs zu zählen, ist zumindest heute noch nicht (öffentlich) zu besichtigen. Dieser Ansicht ist auch Mike Walker. Und der muss es wissen, war er doch schließlich verantwortlich für den Wettbewerb. Er spricht im Zusammenhang mit den Cyber Reasoning Systems (CRS), die im Wettbewerb gegeneinander antraten, lieber von Machine Learning als von KI. Warum dann aber der Aufwand, den der insgesamt 55 Millionen US-Dollar teure Wettbewerb brauchte?

Das CGC-Siegerteam AllForSecure um das CRS Mayhem (Bild: DARPA)

Die DARPA (Defense Advanced Research Projects Agency), der zivile Forschungsarm des US-Militärs, will letztendlich mehr Sicherheit in der ständig stärker vernetzten Welt – die voll ist von fehlerhafter Software. Bislang erfolgen Reaktionen auf Digitalattacken ausschließlich manuell. Daher haben Angreifer laut Mike Walker gut ein Jahr, bis die von ihnen bereits missbrauchte Lücke entdeckt wird und ein Patch bereitsteht. Diese lange Zeitspanne sollen autonom arbeitende Systeme in Zukunft verkürzen. Idealerweise sinkt die Reaktionszeit zwischen dem Aufspüren und dem Schließen eine Lücke durch Patch auf Minuten oder gar Sekunden.

Binärcode als Zielscheibe

Auf dem Weg dahin müssen die Systeme diverse Herausforderungen lösen. Eine davon dreht sich um die Analyse von Binärdateien, die in der wirklichen Welt allgegenwärtig sind und somit auch Kernbestandteil der CGC wurden. Das Problem hierbei: Binärcode hat ein niedriges Abstraktionsniveau, wenig Strukturen, keine Module oder klar definierte Funktionen. Dazu kommen Optimierungen durch den Compiler oder andere Artefakte, die eine Codeanalyse erschweren. All diese Probleme mussten die Programmierer der sieben CRS, die es in die Finalrunde der CGC schafften, bewältigen. Schließlich sollten die CRS ja vollautomatisch Schwachstellen in den Binärdateien finden. Um die Maschinen nicht zu überfordern, erdachte die DARPA das eigens für den Wettbewerb geschriebene Betriebssystem namens DECREE (DARPA Experimental Cyber Research Evaluation Environment). Darauf liefen alle zu untersuchenden Binärdateien, die jeweils einen Dienst anboten wie einen http-Server.

Zu DECREE gehören lediglich sieben Systemaufrufe, was die Analyse der Wettbewerbsergebnisse vereinfachen sollte. Herkömmliche Betriebssysteme kennen Hunderte. Die mit Bugs präparierten Binärdateien sind zwar x86-kompatibel, bringen aber ihr eigenes Binärformat mit und haben keine Gemeinsamkeiten mit Code oder Protokollen, die in der übrigen Softwarewelt verwendet werden. Außerdem sorgt DECREE für einen hohen Grad an Reproduzierbarkeit, sodass sich während des Wettbewerbs erzeugte Codeteile leicht nachvollziehen lassen. Man wollte die Hackersoftware zudem nicht auf ein gängiges Betriebssystem loslassen, um zu verhindern, „dass die Bots binnen weniger Stunden sechshundert Bugs finden, die dem betroffenen Hersteller dann viel Kopfschmerzen bereiten“, sagte Walker.

Dennoch ließen einzelne Teams ihre CRS davon unabhängig zu Testzwecken auf real verwendete Software los. Mit beeindruckenden Ergebnissen. Dazu später mehr.

Serie: Hacker-Szene

  • Teil 1 unterscheidet nach Hut­farbe und sagt, wie die ein­zel­nen Frak­tio­nen mit ent­deck­ten Schwach­stellen umgehen.
  • Teil 2 schildert, welche Reibe­reien es im Um­kreis von Def­con & Co. gibt und warum Cracker bei White Hats einbrechen.

Von der Lücke zum Exploit

Die Aufgabe, Schwachstellen aufzuspüren, fanden Beteiligte wie Prof. Giovanni Vigna, Leiter des Finalistenteams Shellphish, erheblich leichter als Patches zu schreiben – was unter anderem daran liegt, dass die Patches die geschützte Anwendung nicht verlangsamen durften, sonst gab es Punktabzug im Wettbewerb. Für die Maschine ist es jedoch sehr schwer, eventuelle negative Performanceauswirkungen per Test festzustellen. Angriffe waren zudem leichter zu machen, da die CRS gar keine fertigen Exploits für entdeckte Schwachstellen entwickeln mussten. Vielmehr sollten sie den menschlichen und maschinellen Schiedsrichtern schlüssig beweisen, dass ein bestimmter Codeteil anfällig ist für einen Angriff nach einem ebenfalls zu beschreibenden Muster. In der wirklichen Welt wäre es von dort bis zu einem verlässlich funktionierenden Exploit noch ein durchaus weiter Weg. Immerhin fand das von Team Shellphish zur Binäranalyse verwendete Open-Source-Framework namens angr beispielsweise einen funktionierenden Angriff auf eine Abwandlung des berühmt gewordenen Sendmail-Bugs crackaddr. Der Bug wurde bereits im Jahr 2003 entdeckt, und es ist nicht ganz trivial, ihn verlässlich zu missbrauchen.

Angr setzt auf einen Mix aus statischer und symbolischer dynamischer Ausführung. Zuvor lieferte ein Fuzzer reichlich Material aus Abstürzen, die dann von angr auf Verwertbarkeit untersucht wurden. Beim Fuzzing wird ein Programm mit unsinnigen Abfragen überflutet – in der Hoffnung, es zum Absturz zu bringen, um so von außen die Kontrolle über das System zu erlangen. Das Verfahren wird von menschlichen Hackern seit etlichen Jahren verwendet, da es hervorragend darin ist, allgemeinen Input zu produzieren. Symbolische Ausführung hingegen kann bei einem speziellen Input sehr gut komplexe Pfade vorhersagen und schafft so die Grundlage für einen erfolgreichen Exploit. Die Kombination der beiden Techniken ergibt dann ein durchschlagkräftiges Gespann.

Rasend schnell und einfallslos

Wie gut das in der Praxis funktioniert, belegte der Wettbewerb: Innerhalb der 96 Runden lieferten die Maschinen 650 funktionierende Belege für Schwachstellen und 421 Patches – in Code, den weder sie noch ihre menschlichen Programmierer je zuvor gesehen hatten. Menschliche Analysten würden ein solches Ergebnis in so wenigen Stunden niemals zustande bringen. Andererseits taten die Maschinen auch nur das, was Menschen tun würden. Nur schneller. Von Kreativität also keine Spur.

Fachleute wie Raimund Genes, zum Zeitpunkt der Challenge Technikchef des Sicherheitsanbieters Trend Micro, sehen das auch so. Wenngleich es ihn nicht erstaunte. In der Antivirenindustrie ist das Gespann Mensch-Maschine schon seit Jahren im Einsatz. Die schiere Menge neuer Malwareproben – die Rede ist von circa 900.000 Samples täglich – lässt sich nur noch von Maschinen durchkämmen. „Stoßen die Algorithmen jedoch auf Unbekanntes, muss stets der Mensch die Detailanalyse umsetzen“, betonte Genes. Dies verbessert zwar anschließend das Machine Learning, das 99,9 % der Arbeit erledigt, ist aber weit entfernt von einem selbstlernenden System.

Cebit1703-web.jpg
Schwarz auf Weiß: Dieser Beitrag erschien zuerst in unserem Sonderheft zur CeBIT 2017. Das gab es vor Ort auf der Security Plaza, es ist jetzt auch in Vollversion als freies PDF verfügbar. Einen Überblick mit Download-Links zu sämtlichen Einzelheften unserer Magazinreihen bekommen Sie bereits online im Pressezentrum des MittelstandsWiki.

Was der Sieger der Cyber Grand Challenge, ein CRS namens Mayhem, außerhalb von Laborbedingungen leistet, deutete Teamleiter David Brumley im Gespräch an: Zu Testzwecken untersuchte Mayhem 35.000 Linux-Binärdateien – und absolvierte diese Aufgabe in wahnwitzig kurzen 24 Stunden. Ergebnis: mehrere tausend Bugs. Ein Mensch wäre um ein Vielfaches langsamer. Allerdings sagt die schiere Zahl an Bugs noch nichts über deren Schweregrad aus. Hierfür ist nach wie vor der Mensch gefragt. Auf die Frage, was er mit den Bugs vorhabe, antwortete Brumley nur halb scherzhaft: „Sie sind meine Altersversorgung.“ Bugs sind bekanntlich eine begehrte Handelsware und das Mayhem-Team ForAllSecure veröffentlicht den Quelltext seines CRS nicht. Das Unternehmen will die Software kommerziell in Zukunft einsetzen. Raimund Genes würde ein kommerziell verfügbares Produkt begrüßen, denn es dürfte die Codequalität aufseiten der Softwarehersteller erhöhen. Gleichzeitig sänken die Kosten der Bug-Suche. Er ist jedoch skeptisch, was das Versprechen betrifft, künstliche Intelligenz komme zum Einsatz: „Mir ist in dem ganzen Hype um KI noch kein erfolgreiches Startup untergekommen.“

Menschen brechen Regeln

Ohne Mensch geht es übrigens auch aufseiten der Angreifer nicht. Nach dem Einsatz von Machine Learning oder gar KI durch professionelle Cyberkriminelle oder Industriespione befragt, ist sich Raimund Genes sicher: „Es gibt im Untergrund viele exzellente Programmierer, die viel Fachwissen rund um Kryptografie und Angriffstechniken mitbringen.“ Genes weiter: „Künstliche Intelligenz sehen wir hier aber nicht. Keine Maschine ist so kreativ wie diese Programmierer.“ Außerdem verlangt das Entwickeln von mächtigen Machine-Learning- oder gar KI-Tools die Zusammenarbeit zwischen Kriminellen, die aus Sicherheitsgründen typischerweise lieber alleine arbeiten. An sich beruhigend, dass der Untergrund sich die Rechenkraft der Maschinen noch nicht zu eigen macht!

Wie schlecht sich eine Maschine heute noch im direkten Wettstreit mit Menschen schlägt, belegte wiederum Mayhem: Das CRS belegte in einem mehrtägigen Hackerwettbewerb gegen 13 menschliche Teams den letzten Rang. Das hybride Gespann aus Mensch und Maschine vom Team Shellphish schnitt da ein gutes Stück besser ab. Der wahrscheinliche Grund: Der Mensch bricht die Regeln des Wettbewerbs und spielt unfair. Wenn die Maschine auch das beherrscht, müssen wir uns warm anziehen.

Nützliche Links