Tipps & Tutorials

Zero-Day-Exploits (0-Days): So schützen Sie sich vor der Gefahr im Verborgenen


Veröffentlicht am 23.10.2020 von DomainFactory

Zero-Day-Exploits sind wie seltene Fabelwesen: Sie leben im Verborgenen, von Mythen umrankt. Wer eines fängt, kann auf dem Markt hohe Preise erzielen. Wer nicht weiß, wie man sich wirksam schützt, dem können sie sehr gefährlich werden. Und manchmal sind sie unsterblich.

Was sind Zero-Day-Exploits?

Zero-Day-Exploits, liebevoll auch „0-Days“ genannt (gespr. „Oh-days“), nutzen Sicherheitslücken aus, die dem Hersteller der betroffenen Software noch gar nicht bekannt sind. Solche 0-Days sind bei Cyber-Kriminellen und Geheimdiensten sehr beliebt: Denn wer von einer Lücke nichts weiß, der hat genau Null Tage Zeit, um auf einen Angriff zu reagieren.  

Cyberwaffen-Dealer wie Zerodium zahlen derzeit bis zu 2,5 Millionen Dollar für voll funktionsfähige „Premium-Zero-Days“. In den letzten zehn Jahren haben sich die Preise zum Teil verzehnfacht. Denn Software-Hersteller betreiben immer mehr Aufwand, um ihre Produkte sicherer zu machen. Gleichzeitig steigt die Nachfrage, weil nicht nur Kriminelle, sondern auch Staaten sich für den Cyber-War rüsten.

Da es in ihrer Natur liegt, verborgen zu bleiben, ist wenig über Zero-Day-Exploits bekannt. Wer mehr weiß, hat meistens gute Gründe, nicht viel darüber zu reden. Trotzdem wollen wir einmal versuchen, das Leben und Sterben eines 0-Days nachzuzeichnen.

Von der Geburt …

So könnte sie abgelaufen sein, die Geburt eines 0-Days – nennen wir ihn „Heartbleed“.

Ende 2011: Robin, ein Student aus Münster, programmiert eine Erweiterung für OpenSSL, eine weit verbreitete Open-Source-Implementierung des Netzwerkverschlüsselungsprotokolls SSL/TLS (Secure Sockets Layer / Transport Layer Security). Es geht darum, mittels einer sogenannten Heartbeat-Funktion periodisch zu prüfen, ob die Verbindung noch besteht. Robin schickt seinen Code an das OpenSSL-Team, und Stephen, der einzige fest angestellte Mitarbeiter des OpenSSL-Teams, pflegt am 31. Dezember 2011 den Code in das OpenSSL-Git-Repository ein. Am 14. März 2012 wird dieser mit der OpenSSL-Version 1.0.1 veröffentlicht. Was zu dieser Zeit niemand weiß: Der Code enthält eine Sicherheitslücke, die später von manchem als die schlimmste aller Zeiten bezeichnet wird. Sie schlummert seitdem im Verborgenen – oder nicht?

… bis zum Tod …

Im März 2014 entdeckt ein Mitarbeiter von Google Security, dass eine Schwachstelle in OpenSSL es Angreifern erlaubt, den privaten Schlüssel des SSL-Zertifikats des Servers auszulesen. Über die „Heartbleed“ getaufte Lücke können Zugangsdaten abgegriffen, verschlüsselte Verbindungen mitgehört, aber auch aufgezeichneter Datenverkehr nachträglich entschlüsselt werden. Betroffen sind geschätzte zwei Drittel aller Webserver weltweit – Hundertausende Websites und Dienste, aber auch Millionen Android-Geräte, Router, Netzwerk-Drucker und IP-Telefone. 

Am 7. April 2014, 25 Monate nach Veröffentlichung des anfälligen Codes, erscheint eine gepatchte OpenSSL-Version 1.0.1g.  Schon bald darauf wird von ersten Heartbleed-Angriffen berichtet, unter anderem auf die Website der kanadischen Steuerbehörde.  Dennoch gilt aus Sicht der Security-Szene der 0-Day – falls es sich um einen solchen handelt – als tot, sobald er enttarnt (und gepatcht) wird. 

Es gibt für 0-Days noch andere Todesarten neben der Entdeckung. Die häufigste davon ist einer Studie der Rand Corporation zufolge der sogenannte Code Refactor: Die Schwachstelle fällt schlicht umfangreicheren Code-Änderungen zum Opfer, zum Beispiel bei einem größeren Versionssprung. Da ältere Versionen die Lücke noch aufweisen, sind diese 0-Days quasi Zombies. Manche 0-Days aber sind unsterblich – wenn nämlich der Hersteller keinen Support mehr leisten kann oder will.

… ein Leben im Verborgenen

War Heartbleed ein 0-Day? Wir wissen es nicht. Zumindest fanden sich in Server-Logfiles Anzeichen dafür, dass die Lücke schon vor ihrer Entdeckung, spätestens im November 2013, ausgenutzt worden sein könnte. Am 12. April berichtet Bloomberg, die NSA habe von Heartbleed gewusst und die Lücke zur Informationsbeschaffung genutzt – wie beim Exploit EternalBlue, den die NSA fünf Jahre lang verwendete, bis er ihr gestohlen wurde und als WannaCry verheerende Schäden anrichtete. NSA und US-Regierung dementieren. 

Der zitierten Rand-Studie zufolge haben 0-Days im Durchschnitt eine Lebenserwartung von sieben Jahren, länger als viele Experten vorher dachten. Für ihre Untersuchung nutzten die Forscher Daten, die von einem nicht identifizierten 0-Day-Verwerter zur Verfügung gestellt worden waren. Das Leben des 0-Days beginnt, wenn eine Lücke entdeckt und für aussichtsreich genug befunden wird, um einen Exploit dafür zu entwickeln. Der genaue Geburtstag eines 0-Days ist daher in der Regel unbekannt. Der Tod tritt ein wie oben beschrieben – bei etwa einem Viertel der von Rand untersuchten 0-Days schon nach bis zu anderthalb Jahren, bei einem weiteren Viertel erst nach über 9 Jahren. Der hohe Durchschnittswert lässt darauf schließen, dass die meisten 0-Days ziemlich alt werden.

Trügerische Sicherheit

Viele Website-Betreiber glauben sich in Sicherheit, weil sie starke Passwörter nutzen und ihre Systeme stets aktuell halten. Aber gegen 0-Days können Sicherheitsupdates per definitionem nicht schützen. 

Gleichzeitig macht die wachsende Komplexität von Software diese immer anfälliger. Denn Schätzungen zufolge enthalten 1.000 Codezeilen zwischen 3 und 20 Fehler (vor Reviews; Quelle: Rand Corp.). Der Linux-Kernel allein besteht aus 25 Millionen Zeilen, Apache mit allen Projekten umfasst über 200 Millionen und die Google-Dienste zusammen zwei Milliarden Codezeilen. Nicht alle in einer Software enthaltenen Fehler können für sicherheitskritische Aktionen ausgenutzt werden – aber doch mit hoher Wahrscheinlichkeit einige. 

Sicherheitslücken sind also unvermeidbar. Niemand weiß, wie viele davon überhaupt und wie viele davon zuerst von den Guten entdeckt werden. Die Differenz sind die 0-Days. Je nach Schwachstelle können sie automatisiert ausgenutzt, aber auch für komplexe, zielgerichtete Angriffsszenarien verwendet werden, bei denen über einen längeren Zeitraum Daten gestohlen oder Schaden angerichtet werden soll (sogenannte Advanced Persistent Threats). Besonders gefährdet sind Anwender der großen Software-Ökosysteme von Microsoft, Apple, Google & Co., denn hier gibt es für Angreifer besonders viel zu holen.

So können Sie sich schützen

Mit herkömmlichen Security-Werkzeugen können Sie gegen 0-Days wenig ausrichten. Vor allem kleinere Unternehmen ohne IT-Sicherheitsexperten stellt das vor Probleme.

Sie können Ihre Angriffsfläche verringern, indem Sie keine unnötigen Anwendungen einsetzen und die Zahl Ihrer Installationen auf ein Minimum reduzieren. Konsequenter Einsatz von Verschlüsselung und abgestuften Berechtigungen senken ebenfalls das Risiko. Mehr Schutz bieten sogenannte Intrusion-Detection- bzw. Intrusion-Prevention-Systeme (IDS, IPS): Sie überwachen den Datenverkehr im Netz auf verdächtige Muster, um Angriffe zu erkennen und abzuwehren.  So verfügt die Security-Suite Sucuri Website Security über eine Web Application Firewall sowie Intrusion Prevention auf Netzwerkebene.  Sie blockiert verdächtige Aktivitäten und schützt per Virtual Patching neu entdeckte Sicherheitslücken, solange dafür noch kein Hersteller-Patch verfügbar ist.

Trotzdem sollten Sie natürlich Ihre Systeme stets aktuell halten. Drei Jahre nach Bekanntwerden der Heartbleed-Lücke waren noch 200.000 Server ungepatcht – für jeden Hacker eine Einladung zum Nulltarif.

 

Der Autor:


Als Qualitätsanbieter überzeugen wir mit HighEnd-Technologie und umfassenden Serviceleistungen. Mit mehr als 1,3 Millionen verwalteten Domainnamen gehören wir zu den größten Webhosting-Unternehmen im deutschsprachigen Raum.