Eine Version dieses Artikels erschien in Revista SC. Er wurde geändert und hier veröffentlicht.
Wenn Sie jemals Opfer eines Einbruchs geworden sind, kennen Sie dieses erste Gefühl der Beklemmung, dass etwas nicht stimmt, gefolgt von der Erkenntnis, dass tatsächlich etwas gestohlen und Ihre Privatsphäre verletzt wurde. In der Regel führt dies zu einem anhaltenden Unbehagen, ganz zu schweigen von der Einführung von Sicherheitsmaßnahmen, die denen von Fort Knox in nichts nachstehen.
Stellen Sie sich nun vor, Ihr Haus wird ausgeraubt, weil sich die Diebe einen Schlüssel angefertigt haben. Sie schleichen hin und her, kommen und gehen, wie es ihnen gefällt, aber sie achten darauf, nicht entdeckt zu werden. Eines Tages bemerken Sie dann zu spät, dass der Schmuck, den Sie im Gefrierschrank versteckt hatten, verschwunden ist, dass Ihr Safe leer ist und dass Ihre persönlichen Gegenstände geplündert wurden. Genau dieser Situation sieht sich eine Organisation gegenüber, wenn sie Opfer eines Zero-Day-Cyberangriffs wird. Im Jahr 2020 ergab eine Studie des Ponemon Institute, dass 80 % der erfolgreichen Datenlecks auf Zero-Day-Exploits zurückzuführen waren. Leider sind die meisten Unternehmen nach wie vor schlecht vorbereitet, um diese Statistik deutlich zu verbessern.
Zero-Day-Angriffe lassen Entwicklern per Definition keine Zeit, bestehende Schwachstellen zu finden und zu beheben, die ausgenutzt werden könnten, da der Angreifer als Erster eingedrungen ist. Der Schaden ist bereits angerichtet, und nun muss daran gearbeitet werden, sowohl den Schaden an der Software als auch den Schaden für den Ruf des Unternehmens zu beheben. Angreifer sind immer im Vorteil, und es ist entscheidend, diesen Vorteil so weit wie möglich auszugleichen.
Das Weihnachtsgeschenk, das niemand wollte, Log4Shell, bringt derzeit das Internet zum Explodieren, und es heißt, dass mehr als eine Milliarde Geräte von dieser katastrophalen Java-Sicherheitslücke betroffen sind. Es zeichnet sich als der schlimmste Angriff ab, der jemals an einem einzigen Tag verzeichnet wurde, und wir stehen erst am Anfang. Obwohl einige Berichte behaupten, dass die Exploits bereits einige Tage vor ihrer öffentlichen Bekanntgabe begannen, deutet eine Präsentation auf der Black Hat Conference 2016 darauf hin, dass dieses Problem schon seit einiger Zeit bekannt ist. Oh je. Schlimmer noch, es ist extrem einfach auszunutzen, und alle Skriptersteller und Akteure auf der ganzen Welt versuchen, mit dieser Sicherheitslücke Geld zu verdienen.
Was ist also der beste Weg, um sich gegen eine finstere und schwer fassbare Bedrohung zu verteidigen, ganz zu schweigen von den Schwachstellen, die bei der Softwareentwicklung übersehen wurden? Schauen wir uns das einmal an.
Zero-Day-Angriffe auf wichtige Ziele sind selten (und kostspielig).
Es gibt einen riesigen Markt für Exploits im Dark Web, und Zero-Day-Exploits kosten oft ein Vermögen. In diesem Artikel beispielsweise wurden sie zum Zeitpunkt der Veröffentlichung mit 2,5 Millionen Dollar bewertet. Es handelt sich angeblich um eine Schwachstelle im iOS-System von Apple, daher ist es nicht verwunderlich, dass der Sicherheitsforscher in den Wolken schwebt; schließlich könnte dies das Tor sein, um Millionen von Geräten zu kompromittieren, Milliarden von vertraulichen Datensätzen zu sammeln und dies so lange wie möglich zu tun, bevor sie entdeckt und korrigiert werden.
Aber wer hat überhaupt so viel Geld? In der Regel nehmen organisierte Cyberkriminelle das Geld, wenn sie es für angemessen halten, insbesondere bei Ransomware-Angriffen, die immer beliebter werden. Allerdings gehören Regierungen und Verteidigungsministerien auf der ganzen Welt zu den Kunden von Exploits, die sie nutzen können, um Informationen über Bedrohungen zu erhalten, und in positiveren Szenarien können Unternehmen ihre eigenen potenziellen Zero-Day-Schwachstellen kaufen, um Katastrophen abzuwenden.
Im Jahr 2021 wurden Rekorde bei der Entdeckung von Exploits in Echtzeit von Grund auf gebrochen, und es sind große Organisationen, Regierungsbehörden und Infrastrukturen, die am stärksten gefährdet sind, auf Schwachstellen untersucht zu werden. Es gibt keine Möglichkeit, sich vollständig vor der Möglichkeit eines Zero-Day-Angriffs zu schützen, aber man kann in gewisser Weise „mitspielen“, indem man ein großzügiges und gut strukturiertes Bug-Bounty-Programm anbietet. Anstatt darauf zu warten, dass Ihnen jemand auf einem Dark-Web-Marktplatz die Schlüssel zu Ihrem Software-Schloss gibt, suchen Sie nach legitimen Sicherheitsverbesserungen und bieten Sie ihnen angemessene Belohnungen für die ethische Offenlegung und mögliche Lösungen an.
Und wenn es sich um eine beängstigende Zero-Day-Bedrohung handelt, musst du zweifellos mehr als nur eine Amazon-Geschenkkarte ausgeben (und das wird sich auch lohnen).
Ihre Werkzeuge könnten eine Verantwortung für Ihr Sicherheitspersonal darstellen.
Umständliche Sicherheitstools sind seit langem ein Problem, und der durchschnittliche CISO verwaltet zwischen 55 und 75 Tools in seinem Sicherheitsarsenal. Abgesehen davon, dass es sich um das verwirrendste (metaphorische) Schweizer Taschenmesser der Welt handelt, sind sich laut einer Studie des Ponemon Institute 53 % der Unternehmen nicht einmal sicher, ob sie damit effektiv arbeiten. Eine andere Studie ergab, dass nur 17 % der CISOs ihr Sicherheitssystem für „vollständig effektiv” hielten.
In einem Bereich, der für seine Überlastung bekannt ist, ist der Mangel an qualifizierten Sicherheitsexperten, die die Nachfrage und den Bedarf an Flexibilität decken könnten, eine Belastung für Sicherheitsexperten, die mit einer Überflutung an Informationen in Form von Daten, Berichten und der Überwachung riesiger Tool-Sets konfrontiert sind. Genau diese Art von Szenario kann dazu führen, dass sie eine kritische Warnmeldung übersehen, was durchaus der Fall gewesen sein könnte, als es darum ging, die Schwachstellen von Log4j angemessen zu bewerten.
Präventive Sicherheit muss von Entwicklern vorangetriebene Bedrohungsmodelle umfassen.
Entwickler führen häufig Schwachstellen auf Codeebene ein und benötigen präzise Anleitungen und regelmäßige Lernmöglichkeiten, um sichere Codierungsfähigkeiten zu entwickeln. Entwickler fortschrittlicher sicherer Systeme hatten jedoch die Möglichkeit, im Rahmen ihres Softwareentwicklungsprozesses das Modellieren von Bedrohungen zu erlernen und zu üben.
Es sollte uns nicht überraschen, dass diejenigen, die Ihre Software am besten kennen, die Entwickler sind, die sie erstellt haben. Sie verfügen über fundierte Kenntnisse darüber, wie Benutzer mit ihr interagieren, wo die Funktionen verwendet werden und, wenn sie sich der Sicherheit ausreichend bewusst sind, über mögliche Szenarien, in denen sie versagen oder ausgenutzt werden könnte.
Wenn wir noch einmal auf den Log4Shell-Exploit zurückkommen, sehen wir uns leider mit einer Situation konfrontiert, in der Experten und komplexe Tool-Sets eine katastrophale Schwachstelle nicht erkennen konnten; allerdings wäre es möglicherweise gar nicht dazu gekommen, wenn die Bibliothek so konfiguriert worden wäre, dass sie Benutzereingaben desinfiziert. Die Entscheidung, dies nicht zu tun, scheint eine wenig bekannte Funktion gewesen zu sein, die der Bequemlichkeit diente, aber die Exploitbarkeit enorm vereinfachte (denken Sie an das Niveau der SQL-Injektion, sicherlich keine tollen Dinge). Hätte die Bedrohungsmodellierung von einer Gruppe begeisterter Entwickler und Sicherheitsexperten durchgeführt worden, wäre dieses Szenario höchstwahrscheinlich theoretisiert und berücksichtigt worden.
Ein gutes Sicherheitsprogramm hat eine emotionale Komponente, bei der menschliches Eingreifen und Nuancen entscheidend sind, um von Menschen verursachte Probleme zu lösen. Die Modellierung von Bedrohungen erfordert Empathie und Erfahrung, um effektiv zu sein, ebenso wie die sichere Codierung und Konfiguration auf Architekturebene von Software und Anwendungen. Das ist nichts, was Entwickler über Nacht umsetzen sollten, aber idealerweise sollten sie einen klaren Weg finden, um ihre Fähigkeiten so weit zu verbessern, dass sie das Sicherheitsteam bei dieser wichtigen Aufgabe entlasten können (und das ist eine hervorragende Möglichkeit, eine gute Beziehung zwischen beiden Teams aufzubauen).
Die Nulltage führen zu n Tagen.
Der nächste Schritt, um einem Zero-Day-Angriff zu begegnen, besteht darin, die Patches so schnell wie möglich zu veröffentlichen, in der Hoffnung, dass alle Nutzer der anfälligen Software diese so schnell wie möglich und natürlich bevor ein Angreifer sie zuerst findet, installieren. Log4Shell könnte Heartbleed in seiner Widerstandsfähigkeit und Leistungsfähigkeit in den Schatten stellen, da es in Millionen von Geräten integriert ist und komplexe Abhängigkeiten in einer Software-Kompilierung schafft.
Realistisch betrachtet gibt es keine Möglichkeit, diese Art von heimtückischen Angriffen vollständig zu verhindern. Wenn wir uns jedoch dazu verpflichten, alle verfügbaren Mittel einzusetzen, um sichere und hochwertige Software zu entwickeln, und die Entwicklung mit derselben Mentalität anzugehen wie bei kritischen Infrastrukturen, haben wir alle eine Chance, dagegen anzukämpfen.