Interview mit einem Hacker: Viel Intuition beim Finden von Sicherheitslücken

Manfred Paul hat den Wettbewerb Pwn2Own in Vancouver gewonnen. Gegenüber heise online gibt er Einblick in seine Arbeitsweise.

In Pocket speichern vorlesen Druckansicht 13 Kommentare lesen
Icons der Internetbrowser Safari, Chrome, Edge und Firefox

(Bild: Primakov/Shutterstock.com / Bearbeitung: heise online)

Lesezeit: 9 Min.

Safari, Chrome, Edge und die Firefox-Sandbox: Manfred Paul hat beim diesjährigen internationalen Sicherheits-Wettbewerb Pwn2Own Vancouver den ersten Platz und damit ein Preisgeld von rund 200.000 US-Dollar gewonnen. Er schaffte nicht nur die Webbrowser Apple Safari, Google Chrome und Microsoft Edge zu hacken, sondern auch die Sandbox von Mozillas Firefox. Bereits 2020 hat der damals 21-jährige Paul beim Pwn2Own-Wettbewerb eine Zero-Day-Lücke im Linux-Kernel ausnutzen können. Wir haben mit ihm über seine Motivation und sein Vorgehen gesprochen.

heise online: Es dauert sicherlich etwas, solche Exploits zu entwickeln. Wie viel Zeit haben Sie dafür investiert?

Manfred Paul: Das ist eine Frage, die für mich schwierig zu beantworten ist, gerade, wenn ich mir verschiedene Targets anschaue. Die allermeiste Zeit verwende ich darauf, Dinge zu suchen und nichts zu finden. Ich suche immer wieder nach Schwachstellen, auch, wenn ich erst keine finde, kann es sein, dass zu einem späteren Zeitpunkt doch welche da sind. Die Zeit, in der man nichts Konkretes findet, ist keine verschwendete Zeit. Man lernt dazu und versteht Dinge, die einem dabei helfen können, später vielleicht doch eine Schwachstelle zu finden. Es ist aber zu einem gewissen Grad auch Glückssache.

Was dauert länger? Das Finden einer Lücke oder das Ausnutzen?

Für mich auf jeden Fall das Finden, mit einzelnen Ausnahmen. Manchmal hat man vielleicht auch einfach mehr Glück beim Finden. Natürlich kommt es auch etwas auf die Methode an. Ich schaue mir oft manuell den Code an und versuche auf diese Weise, Bugs zu finden. Andere arbeiten da vielleicht mehr mit automatischen Tools, und da hat es sicher auch viel Zeit gekostet, diese Tools zum Laufen zu bekommen. Das ist eine sehr individuelle Angelegenheit. Für mich nimmt auf jeden Fall das Bug-Suchen den Großteil der Zeit in Anspruch. Natürlich geht es schneller, wenn man schon Erfahrung hat. Es gibt mittlerweile zunehmend Targets, bei denen mehr Mitigations verwendet werden, die dann auch einen großen zeitlichen Aufwand mit sich bringen.

Haben Sie ein Rezept, nach dem Sie vorgehen?

Nicht so wirklich. Es ist auch viel Intuition dabei. Ich schaue mir tendenziell die Teile vom Code an, bei denen ich das Gefühl habe: "Wenn ich da etwas finde, dann ist das schwerwiegend". Es bringt nichts, einfach nur einen Bug zu finden, wenn der sich dann nicht auch ausnutzen lässt und gar keine Sicherheitslücke ist. Ich achte da stark auf den Just-in-Time-Compiler, also auf Code der zur Laufzeit neuen, optimierten Maschinencode erzeugt. Wenn da Dinge schiefgehen, dann richtig. Insgesamt entwickelt sich über die Zeit eine gewisse Intuition. Ok, bei dieser Komponente oder auch diesem Teil der Komponente, die relevante Dinge tut, da möchte ich mal genauer hinschauen.

Haben Sie da schon Vorarbeit geleistet, um die Exploits zu finden? Nutzen Sie etwa eine Datenbank oder etwas Ähnliches?

Ich bin da eher sehr unorganisiert, was solche Sachen angeht. Da sind einige eher anders und lesen dann etwa vergangene Exploits nach und suchen sich Informationen aus verschiedenen Quellen. Ich bin jemand, der sich nicht unbedingt immer alle Informationen von überall holt, weil ich unbefangen an die Sache herangehen möchte. Wenn ich mit dem Gedanken herangehe, "Das wurde schon alles gefunden", dann habe ich auch immer das Gefühl, "okay, der Code wird jetzt irgendwie seine Richtigkeit haben". Dann kann ich nicht wirklich kritisch auf den Code schauen. Insgesamt denke ich aber, dass das etwas sehr Persönliches ist – jeder hat da seine eigene Arbeitsweise.

Auf welchen Exploit sind sie am meisten stolz und warum?

Es ist schwierig zu sagen, weil es, wie gesagt, auch immer eine Glückskomponente ist. Alle haben ihre Herausforderungen. Von denen, die ich dieses Jahr gemacht habe, war Firefox der Einzige, bei dem ich dann auch noch die große Sandbox angegriffen habe. Das hat natürlich eine höhere praktische Relevanz gerade für Endnutzer, weil eben dieser zusätzliche Schutzmechanismus ausgehebelt ist. Aber auch bei den anderen Browsern, Chrome und Safari, war da, denke ich, technisch schon einiges Interessantes dabei.

Hat sich dann auch jemand von Mozilla bei Ihnen gemeldet?

Beim Wettbewerb sind wir mit allen Herstellern im Austausch, häufig sind auch Leute vor Ort; von Mozilla waren welche online zugeschaltet. Ich hatte jetzt auch kurz einmal Kontakt mit jemand von Mozilla und finde auf jeden Fall gut, dass dann sehr schnell auf sicherheitsrelevante Aspekte eingegangen wird. Die Schwachstelle wurde dann im Rekordtempo beseitigt, das Update kam schnell heraus. Das freut mich dann immer. Es sind bei den Browsern künftig auch systematische Veränderungen geplant. Das macht mir natürlich in Zukunft das Leben etwas schwerer. Allerdings ist es doch immer ein Kampf gegen Windmühlen, wenn man immer nur einzelne Bugs findet und die dann behoben werden – den nächsten Bug wird es immer geben. Aber wenn die Leute sagen: "Okay, wir haben jetzt hier ein systematisches Problem und wollen für die Zukunft etwas ändern, um diese eine Sorte Bug unwahrscheinlicher zu machen", dann ist das irgendwie auch eine Auszeichnung dafür, was man mit seiner Arbeit erreicht hat.

Sie haben mit Ihrer Arbeit mal eben Millionen verbrannt. Was ist Ihre Motivation dafür? Und haben Sie nicht Sorge, dass Leute dann verärgert sind, weil ihnen etwas entgeht?

Ich weiß, ich könnte mehr Geld damit verdienen, wenn ich meine Funde an den Höchstbietenden verkaufe, aber das möchte ich nicht. Software sollte außerdem für alle sicher sein. Ich will nicht dafür verantwortlich sein, dass dann letztlich Angreifer – egal, ob staatlich oder andere Organisationen – etwas mit meiner Hilfe machen können. Daher freut es mich auch wirklich, wenn Lücken danach gepatcht sind. Ich denke nicht, dass ich da jemanden groß verärgert habe. Letztlich ist es auch für Kriminelle ein Teil des Lebens, dass solche Lücken gefunden und gepatcht werden. Die müssten dann auch sauer auf die Hersteller sein, wenn die ihren Code sicherer machen. Auf der technischen Seite ist es für alle Beteiligten eine Herausforderung, etwas zu finden, egal für wen. Etwas Selbstschutz steckt auch dahinter, wenn ich die Exploits direkt zum Hersteller bringe und sie dann noch einigermaßen schnell behoben sind. Da hat auch niemand mehr Interesse daran, sie vorher von mir zu stehlen. So kann ich auch etwas ruhiger schlafen.

Welchen Browser benutzen Sie denn persönlich?

Wichtig beim Browser ist nicht, welchen man nutzt, sondern viel wichtiger ist das "Wie". Ich würde da ungern eine Empfehlung aussprechen. Man sollte seine Software aktuell halten, nicht auf jeden Link klinken und Ähnliches. In den meisten Browsern gibt es Wege für mehr Sicherheit, etwa den Just-in-Time-Compiler zu deaktivieren, was natürlich auch zu Performanceverlusten führt. Aber diese Compiler sind ein häufiges Angriffsziel. Manche Browser bieten mittlerweile explizit einen extra sicheren Modus an, in dem der JIT-Compiler ausgeschaltet ist. Das lässt sich aber bei den meisten Browsern in den Einstellungen finden. Für mich ist der Browser nicht Teil einer aktiven Sicherheitsentscheidung, sondern für mich und die allermeisten geht es da auch um Gewohnheit und Komfort.

Wie haben Sie angefangen?

Eine große Sache, die dabei geholfen hat, das Thema IT-Security ernsthaft zu verfolgen, war im Rahmen von Wettbewerben im Stil von "Capture the Flag". Das sind Wettbewerbe, bei denen man teilweise ganz schön ähnliche Sachen macht und Bugs finden soll. Die Schwachstellen wurden aber mit Absicht geschrieben. Dabei habe ich viel gelernt. Ich habe ein Team, mit dem ich das auch immer noch gelegentlich spiele. So etwas ist eine große Hilfe, um einen Einstieg zu finden. Geholfen hat mir auch mein Mathematik-Studium, bei dem ich mir Methoden abgeschaut habe. Ich versuche manchmal quasi mental einen Beweis zu finden, dass Software korrekt ist.

Der Hacker-Paragraf ist bisher nicht, wie von vielen gefordert, abgeschafft. Hatten Sie zu Beginn Ihrer Laufbahn Sorgen, dass jemand sie wegen illegaler Handlungen bezichtigen will?

Da gibt es auf jeden Fall eine große Schieflage, was die Gesetze angeht. Für die IT-Security-Community ist es eine Schande, zu sehen, dass beispielsweise vor Kurzem wieder jemand verurteilt wurde, der eine Sicherheitslücke gemeldet hat. Ich hoffe, dass sich gesetzlich noch einiges ändert, damit die Menschen rechtssicher Lücken melden können. Gerade auch das Thema "Reverse Engineering" ist in Deutschland rechtlich sehr schwierig. Da kann es schon einmal passieren, dass man als Sicherheitsforscher mit dem Urheberrecht in Konflikt kommt. Für mich bestand bisher weniger die Gefahr, weil ich mich primär mit Open Source Software beschäftigt habe. Meine erste Sicherheitslücke habe ich im Linux-Kernel gefunden. Das ist ja keine Infrastruktur, die jemandem gehört.

(mack)