Eine Version dieses Artikels erschien in SC Magazineveröffentlicht. Sie wurde hier überarbeitet und gemeinsam veröffentlicht.
Wenn Sie jemals einen Einbruch in Ihrem Haus erlebt haben, kennen Sie das anfängliche Gefühl der Verwirrung, dass etwas nicht stimmt, und dann die Erkenntnis, dass tatsächlich etwas gestohlen wurde und Ihre Privatsphäre verletzt wurde. Dies führt oft zu anhaltendem Unbehagen, ganz zu schweigen von der Umstellung auf Sicherheitsmaßnahmen, die denen von Fort Knox in nichts nachstehen.
Stellen Sie sich nun vor, dass in Ihr Haus eingebrochen wird, weil sich die Diebe einen Schlüssel angefertigt haben. Sie schleichen herum, kommen und gehen, wie es ihnen gefällt, aber sie verhalten sich vorsichtig, um nicht entdeckt zu werden. Dann, eines Tages, stellen Sie fest, dass Ihr im Kühlschrank versteckter Schmuck verschwunden ist, der Safe leergeräumt wurde und Ihre persönlichen Gegenstände geplündert wurden.Es ist zu spät. Das ist die gleiche Realität, mit der Organisationen konfrontiert sind, die Opfer von Zero-Day-Cyberangriffen werden. Eine Studie des Ponemon Institute aus dem Jahr 2020 zeigt, dass 80 % aller erfolgreichen Datenlecks auf nicht gepatchte Schwachstellen zurückzuführen sind. Leider sind die meisten Unternehmen nach wie vor nicht in der Lage, diese Statistik wesentlich zu verbessern.
Wie der Name schon sagt, lassen Zero-Day-Angriffe Entwicklern keine Zeit, bestehende Schwachstellen zu entdecken und zu beheben, die ausgenutzt werden könnten, da die Angreifer zuerst zugreifen. Der Schaden ist bereits angerichtet, und dann beginnt ein hektischer Wettlauf um die Reparatur der Software und die Wiederherstellung des Rufs des Unternehmens. Die Angreifer sind immer im Vorteil, und es ist von entscheidender Bedeutung, diesen Vorteil so weit wie möglich zu verringern.
Das unerwünschte Weihnachtsgeschenk – Log4Shell – sprengt derzeit das Internet, wobei Berichten zufolge über eine Milliarde Geräte von dieser katastrophalen Java-Sicherheitslücke betroffen sind. Dies wird der schwerwiegendste Zero-Day-Angriff seit Beginn der Aufzeichnungen sein, und wir stehen erst am Anfang. Obwohl einige Berichte darauf hindeuten, dass die Ausnutzung der Sicherheitslücke bereits einige Tage vor der öffentlichen Bekanntgabe begann, ein Vortrag auf der Black Hat-Konferenz 2016 deutet darauf hin, dass dieses Problem bereits seit einiger Zeit bekannt ist. Autsch. Schlimmer noch: Die Schwachstelle ist leicht auszunutzen, und jeder Skripter und jeder Angreifer auf diesem Planeten nutzt sie, um Profit zu machen.
Was ist also der beste Weg, um sich vor absurden und bösartigen Bedrohungen zu schützen, ganz zu schweigen von den Schwachstellen, die während der Softwareentwicklung übersehen werden? Schauen wir uns das einmal an.
Zero-Day-Angriffe auf große Ziele sind selten (und kostspielig).
Der Markt für Exploits im Darknet ist riesig, und Zero-Day-Exploits sind oft sehr teuer. Ein Beispiel : Zum Zeitpunkt der Erstellung dieses Artikels lag der Listenpreis bei 2,5 Millionen US-Dollar. Berichten zufolge handelt es sich um eine Schwachstelle in Apples iOS, sodass es nicht verwunderlich ist, dass die Sicherheitsforscher einen hohen Preis verlangen. Schließlich könnte dies tatsächlich ein Einfallstor sein, um Millionen von Geräten zu hacken, Milliarden von sensiblen Datensätzen zu sammeln und so lange wie möglich Angriffe durchzuführen, bevor die Schwachstelle entdeckt und behoben wird.
Aber wer hat schon so viel Geld? In der Regel zahlen organisierte Cyberkriminelle Bargeld, wenn sie glauben, dass es sich lohnt, insbesondere bei beliebten Ransomware-Angriffen. Allerdings sind Regierungen und Verteidigungsbehörden weltweit potenzielle Kunden für Schwachstellen, die für Bedrohungsinformationen genutzt werden können. In einem positiveren Szenario könnten diese Unternehmen selbst ihre potenziellen ungeschützten Schwachstellen kaufen, um Katastrophen zu vermeiden.
2021 wurde ein Rekord bei der Entdeckung von Echtzeit-Sicherheitslücken ohne Patches gebrochen, wobei große Organisationen, Regierungsbehörden und Infrastrukturen am ehesten von Untersuchungen zu Sicherheitslücken betroffen waren. Es gibt keine Möglichkeit, sich vollständig vor Zero-Day-Angriffen zu schützen, aber Sie können durch großzügige und gut strukturierte Bug-Bounty-Programme „das Spiel spielen“. Anstatt darauf zu warten, dass jemand auf dem Darknet-Marktplatz den Schlüssel zur Software-Festung anbietet, sollten Sie legale Sicherheitsbegeisterte auf Ihre Seite bringen, indem Sie ihnen großzügige Belohnungen für ethische Offenlegung und potenzielle Behebungen anbieten.
Und wenn es sich zufällig um eine beängstigende neue Sicherheitslücke handelt, dann kann man mit Sicherheit sagen, dass Sie mehr als nur einen Amazon-Gutschein brauchen (und es lohnt sich, sich die Zeit dafür zu nehmen).
Ihre Werkzeuge können in der Verantwortung Ihres Sicherheitspersonals liegen.
Umständliche Sicherheitstools sind seit langem ein Problem. Der durchschnittliche Chief Information Security Officer (CISO) verwaltet zwischen 55 und 75 Tools in seinem Sicherheitsarsenal. Abgesehen davon, dass es sich um das verwirrendste (im übertragenen Sinne) Schweizer Taschenmesser der Welt handelt, sind sich 53 % der Unternehmen laut einer Studie des Ponemon Institute nicht einmal sicher, wie effizient sie arbeiten. Eine weitere Studie ergab, dass nur 17 % der CISOs ihre Sicherheitsmaßnahmen als „vollständig effektiv“ betrachten.
In einem Bereich, der für seine Erschöpfung, den Mangel an qualifiziertem Sicherheitspersonal zur Deckung des Bedarfs und die Forderung nach Flexibilität bekannt ist, ist es eine enorme Belastung für Sicherheitsexperten, mit einer Informationsflut in Form von Daten, Berichten und der Überwachung umfangreicher Tools umzugehen. Genau das kann dazu führen, dass sie wichtige Warnmeldungen übersehen, was bei der richtigen Bewertung der Schwachstelle von Log4j sehr wahrscheinlich der Fall war.
Präventive Sicherheit sollte entwicklergesteuerte Bedrohungsmodellierung umfassen.
Code-Level-Schwachstellen werden in der Regel von Entwicklern verursacht, die präzise Anleitungen und regelmäßige Schulungen benötigen, um sichere Programmierfähigkeiten zu erwerben. Als Teil des Softwareentwicklungsprozesses haben Entwickler der nächsten Generation jedoch die Möglichkeit, sich mit der Modellierung von Bedrohungen vertraut zu machen und diese zu üben.
Es ist nicht verwunderlich, dass diejenigen, die sich mit Software am besten auskennen, die Entwickler sind, die sie erstellen. Sie verfügen über umfassende Kenntnisse darüber, wie Benutzer mit der Software interagieren, wo sie diese Funktionen nutzen und wann sie über ein ausreichendes Sicherheitsbewusstsein verfügen, sowie über potenzielle Szenarien, in denen sie kompromittiert oder ausgenutzt werden könnte.
Wenn wir dieses Problem auf die Log4Shell-Sicherheitslücke zurückführen, sehen wir leider, dass eine katastrophale Sicherheitslücke der Erkennung durch Experten und komplexe Tools entgangen ist.Wenn die Bibliothek jedoch so konfiguriert worden wäre, dass Benutzereingaben bereinigt werden, wäre dies möglicherweise gar nicht passiert. Die Entscheidung, dies nicht zu tun, um die Benutzerfreundlichkeit zu erhöhen, scheint eine unbedeutende Funktion zu sein, die jedochsehr leicht ausgenutzt werden kann (man denke an SQL-Injection, was natürlich keine Genialität erfordert). Wenn die Bedrohungsmodellierung von einer Gruppe scharfsinniger, sicherheitsbewusster Entwickler durchgeführt worden wäre, wäre dieses Szenario wahrscheinlich theoretisch durchdacht und berücksichtigt worden.
Ein guter Sicherheitsplan beinhaltet emotionale Komponenten, und menschliche Eingriffe und Nuancen sind der Schlüssel zur Lösung menschlicher Probleme. Bedrohungsmodellierung erfordert Empathie und Erfahrung, um effektiv zu sein, ebenso wie sicheres Codieren und Konfigurieren auf der Ebene der Software- und Anwendungsarchitektur. Dies ist keine Aufgabe, die Entwickler über Nacht bewältigen sollten, aber es ist ein klarer Weg, ihre Fähigkeiten so zu verbessern, dass sie das Sicherheitsteam bei dieser wichtigen Aufgabe entlasten können – was ideal ist (und auch eine gute Möglichkeit, eine harmonische Beziehung zwischen den beiden Teams aufzubauen).
Null Tage führen zu n Tagen
Der nächste Schritt zur Behebung ungeschützter Sicherheitslücken besteht darin, so schnell wie möglich Patches zu veröffentlichen. Er hofft sehr, dass alle Nutzer der anfälligen Software diese Patches so schnell wie möglich installieren – natürlich bevor Angreifer darauf zugreifen können. Log4Shell könnte Heartbleed in den Schatten stellen, da es in Millionen von Geräten eingebettet ist und komplexe Abhängigkeiten in der gesamten Softwareversion erzeugt, wodurch es sehr langlebig und wirksam ist.
Tatsächlich gibt es keine Möglichkeit, solche heimtückischen Angriffe vollständig zu verhindern. Aber solange wir uns dazu verpflichten, alle Mittel einzusetzen, um hochwertige, sichere Software zu entwickeln, und diese mit derselben Sorgfalt entwickeln wie kritische Infrastrukturen, haben wir alle die Chance, uns dagegen zu wehren.