nnattalli - stock.adobe.com
Sicherheitsrisiken mit Micropatching eindämmen
Zahllose bekannte, aber ungepatchte Sicherheitslücken stellen ein enormes Risiko dar. Beim Micropatching werden Schwachstellen sehr gezielt ohne große Updates geschlossen.
IT-Systeme, die von Angreifern erfolgreich attackiert und kompromittiert werden, enthalten meist eine oder mehrere Schwachstellen. Dabei gibt es auf dem Markt eine endlose Zahl von Tools und Techniken zum Entdecken und Abwehren von Cyberangriffen. Keine dieser Möglichkeiten löst aber das zugrundeliegende Problem des anfälligen Codes, das Geräte und Systeme einem fortdauernden Risiko aussetzt.
Dieses Problem wird immer größer. Im Jahr 2021 fügte die National Vulnerability Database fast 22.000 neue Schwachstellen zu ihren Datenbanken hinzu – ein neuer Rekord. Das macht das Patch-Management zu einem immer wichtigeren Teil der IT-Security-Strategie. Allerdings ist das leichter gesagt als in der Realität umgesetzt.
Laut dem von Edgescan verfassten Bericht 2021 Vulnerability Statistics Report (PDF) beträgt die durchschnittliche Zeit rund 60,3 Tage, die ein Unternehmen zum Beheben einer erkannten Schwachstelle benötigt. Dieses sogenannte Security Update Gap gibt Angreifern also mehr als 60 Tage Zeit, um Systeme zu finden und zu attackieren, die von einer bekannten Sicherheitslücke betroffen sind. Bedauerlicherweise haben die meisten Unternehmen nicht einmal so viel Zeit, um ein Problem zu beheben. Sobald eine Sicherheitslücke in einem mit dem Internet verbundenen Dienst bekannt geworden ist, wird sie in der Regel schon nach 48 Stunden gezielt durch Schadcode attackiert.
Viele der vorhandenen Schwachstellen werden aber überhaupt nicht oder sogar erst sehr viel später gepatcht. Bei zum Beispiel einer Attacke auf den Finanzdienstleister Equifax im Jahr 2018 drangen die Angreifer durch einen bereits lange bekannten, aber dort immer noch nicht behobenen Fehler ein. Viele der aktuellen Malware- und Ransomware-Vertreter nutzen CVEs (Common Vulnerabilities and Exposures), die es seit fünf Jahren oder länger gibt.
Die Herausforderungen beim Patch-Management
Es gibt mehrere Gründe dafür, dass Schwachstellen so langsam oder manchmal auch gar nicht gepatcht werden. Erstens müssen die Anwender darauf warten, dass ein Hersteller eine Lücke zunächst analysiert und dann repariert, bevor er eine aktualisierte Version seiner Software bereitstellen kann. Erschwerend kommt hinzu, dass automatisierte oder teilautomatisierte Updates in der Regel einen Neustart der betroffenen Systeme nötig machen.
Das gilt auch für Software von Firmen wie Microsoft, Apple, Adobe und Google. Neustarts sind für viele Unternehmen aber zu den meisten Zeiten nicht einfach so durchführbar oder aus anderen Gründen nicht erwünscht. Firmen müssen neue Updates zudem erst gründlich testen, bevor sie sie in ihren produktiven Umgebungen einspielen können. Diese Tests sind ein komplexer und oft sehr mühsamer Prozess, der Wochen oder sogar Monate dauern kann.
Der andere wichtige Grund, warum Patches nie oder viel zu spät installiert werden, ist, dass Unternehmen und Mitarbeiter die Produktivität oft höher als die Sicherheit einschätzen. Auch viele einzelne Nutzer sind nicht bereit, laufende Programme zu beenden, um eine Software neu zu starten und dabei aktuelle Patches einzuspielen. Oft wollen sie es nicht oder sie können es nicht. Das gilt ganz besonders für kritische Geschäftsanwendungen, die nicht mal eben so neu gestartet werden dürfen.
In dem von Splunk veröffentlichten Bericht The State of Security 2022 (PDF) gaben 44 Prozent der befragten Unternehmen zu, dass es bei ihnen zu Unterbrechungen ihrer IT aufgrund von Cyberattacken gekommen ist. Weitere 44 Prozent berichteten, dabei auch vertrauliche Daten verloren zu haben. Beide Zahlen sind im Vergleich zum Vorjahr deutlich gestiegen.
Die Kosten und die Unterbrechung durch einen erfolgreichen Einbruch sind aber meist höher als die Kosten und die Unterbrechung durch das Einspielen kritischer Sicherheits-Updates. Nichtsdestotrotz ändern die meisten IT-Anwender nichts an ihrem Verhalten und schätzen die aktuelle Produktivität weiterhin als wichtiger ein als ihre IT Security. Das gibt Cyberangreifern einen erheblichen Vorteil. Außerdem macht dieses Verhalten deutlich, warum wir dringend eine andere Vorgehensweise bei unserem Umgang mit Patches benötigen.
Was ist Micropatching?
Ein möglicher Weg, um die Zeit bis zum Einspielen von Patches zu reduzieren, nennt sich Micropatching. Dabei wird ein meist winziger Codeschnipsel genutzt, der eine einzige, definierte Schwachstelle reparieren soll, ohne dass dazu das System rebootet werden muss. Ähnlich wie auch ein Hotfix oder auch ein Microsoft Quick Fix Engineering Update wird ein Micropatch bei einem „heißen“, also laufenden System eingespielt. Dabei sind keine Abschaltungen oder Ausfallzeiten nötig.
Während aber ein traditioneller Hotfix meist gleich mehrere Probleme beheben soll und manchmal sogar neue Funktionen hinzufügt, löst ein Micropatch genau ein einziges Problem und nutzt dafür die geringstmögliche Zahl an Codezeilen. Positiv daran ist, dass damit auch mögliche Nebeneffekte vermieden werden, die die Basisfunktionen der Anwendung stören könnten. Das bedeutet, dass der Micropatch selbst sehr klein bleiben kann und nur wenige Daten benötigt:
- Den eigentlichen Patch,
- die anfällige Anwendung,
- die Stelle, an der der Patch eingespielt werden soll sowie
- den Code des Patches.
Micropatches werden aber bislang vor allem von Dritten angeboten und nicht von den eigentlichen Herstellern einer Software.
Vorteile von Micropatches
Zu den wichtigsten Vorteilen von Micropatches gehören die folgenden Punkte:
- Geschwindigkeit. Ein Micropatch steht in der Regel innerhalb weniger Stunden und nicht erst nach Wochen bereit. Das liegt daran, dass weit weniger Zeit benötigt wird, um herauszufinden, ob er zu Problemen mit der grundlegenden Funktion der Anwendung führen kann.
- Einfachheit. Die Tatsache, dass Micropatches sehr schnell lokal oder aus der Ferne angewendet und auch ebenso schnell wieder entfernt werden können, vereinfacht die Tests und die Ausführung in produktiven Umgebungen.
- Höhere Uptime. Micropatches führen nicht zu Ausfallzeiten, da sie keine ausführbaren oder laufenden Dateien ersetzen oder verändern. Stattdessen wird der Fix nur im Arbeitsspeicher angewendet. Das geht auch ohne, dass die Software oder das System neu gestartet werden müssen. So können Anwender und kritische Systeme weiterarbeiten, ohne dass sie bei ihrer Arbeit gestört werden. Diese Technik, die auch als Function Hooking bezeichnet wird, gibt es bereits seit einiger Zeit. Beim Micropatching wird Function Hooking verwendet, um den Patch-Code so in die gerade ablaufenden Prozesse der Anwendung zu injizieren, dass die Software den anfälligen Code umgeht.
Manche Befürworter sind überzeugt, dass Micropatches sogar Legacy-Anwendungen, Software, die ihren End-of-Life-Status (EOL) erreicht hat, und nicht mehr supportete Anwendungen schützen kann. Beispiele dafür sind Office 2010, das Java Runtime Environment (JRE), Windows 7 oder Server 2008 R2. Micropatches funktionieren also auch in Fällen, in denen der ursprüngliche Hersteller ein Produkt nicht mehr unterstützt.
Insgesamt können die Geschwindigkeit, Einfachheit und Unaufdringlichkeit von Micropatches das Security Update Gap signifikant verkürzen. Das führt dazu, dass es Hackern erheblich schwerer fällt, häufig von ihnen genutzte Angriffsvektoren wie Buffer Overflows oder DLL-Injection (Dynamic Link Library) einzusetzen.
Risiken und Grenzen von Micropatches
Allerdings ist es mit Micropatches (noch) nicht möglich, logische Fehler im Design einer Anwendung oder Schwachstellen in geskriptetem Code zu beheben. Das gilt zum Beispiel für PHP und Python, da der Code hier erst beim Ausführen interpretiert wird.
Darüber hinaus ermöglicht Micropatching Herstellern und Entwicklern zwar, Bugfixes schnell und automatisch an die Anwender auszuliefern. Die Sicherheits-Teams in den Unternehmen müssen die Vertrauenswürdigkeit eines solchen Patches aber trotzdem zuerst überprüfen können, bevor sie ihn in ihren produktiv genutzten Umgebungen ausführen.
Traditionelle, vom Hersteller bereitgestellte Patches kommen dagegen immer von offiziellen, vertrauenswürdigen und sicheren Servern. Ohne dass aber eine ähnlich vertrauenswürdige Infrastruktur durch die Drittanbieter aufgebaut wird, lässt sich nicht herausfinden, ob ein solcher Micropatch keinen böswilligen Code enthält oder etwa unerlaubte Zugriffe auf APIs (Application Programming Interfaces) oder vertrauliche Daten ermöglicht.
Erschwerend kommt hinzu, dass viele Software-Anbieter Micropatches bislang als unerlaubte außerordentliche Aktualisierungen betrachten, die daher ihren Lizenzbedingungen zuwiderlaufen.
Micropatching als Dienstleistung
Einige Firmen haben trotz der genannten Einschränkungen bereits damit begonnen, sich auf das Bereitstellen von Micropatches als Dienstleistung für zum Beispiel bestimmte Betriebssysteme zu spezialisieren. Dazu überwachen sie die Sicherheitslage auf frisch entdeckte oder noch nicht bekannt allgemein gewordene Sicherheitslücken, für die sie dann Micropatches entwickeln und gegen eine Gebühr bereitstellen. Das bemerkenswerteste und bekannteste Beispiel für ein solches Angebot ist 0patch von Acros Security, einem slowakischen Anbieter.
Endgeräte, die einen derartigen Dienst abonniert habe, erhalten Micropatches sofort nachdem sie verfügbar gemacht wurden. Ein Management-Dashboard zeigt alle an den Dienst angebundenen Systeme. Administratoren können dann entscheiden, ob ein neuer Micropatch automatisch auf allen Geräten oder zunächst nur in ausgewählten Gruppen ausgespielt werden soll. Letztere können etwa nicht geschäftskritische Bereiche oder speziell für Tests vorgesehene Systeme sein. Alternativ können sie sich natürlich auch entscheiden, noch abzuwarten und die Installation erst dann manuell auszulösen, wenn sie den Micropatch in Ruhe testen konnten.
Die Zukunft der Micropatches
Eine gründlich vorbereitete und durchgeführte Datenmanagement-Strategie erhöht die Widerstandsfähigkeit einer IT-Umgebung gegen Angriffe. Trotz dieser Tatsache kämpfen viele Sicherheitsteams kontinuierlich mit der Aufgabe, Patches über alle von ihnen verwalteten Geräte zeitnah, sicher und skalierbar auszurollen. Erschwerend kommen Legacy-Anwendungen hinzu, mit nicht mehr bekanntem oder schlecht dokumentiertem Quellcode, die für zusätzliche Probleme sorgen. Nicht selten führt das zu einer immer älter werdenden, aber nichtsdestotrotz geschäftskritischen Software, die schon lange keine Patches mehr erhalten hat und teils auch keine mehr erhalten wird.
Micropatching ist jedoch in der Lage, das an vielen Orten klaffende Security Update Gap zu schließen. Die Technik kann vorhandene Schwachstellen mit geringerem Risiko und weniger Aufwand reparieren und damit den Zeitraum überbrücken, bis der eigentliche Software-Anbieter einen eigenen offiziellen Patch entwickeln und bereitstellen kann. Es wird allerdings noch eine Weile dauern, bis Micropatching für die Allgemeinheit zur Verfügung steht. Viele Beobachter nehmen die noch junge Technik allerdings bereits sehr ernst und erwägen ihren Einsatz.
So hat zum Beispiel die amerikanische DARPA (Defense Advanced Research Projects Agency) das AMP-Programm (Assured Micropatching) gestartet. Zusammen mit Forschern von Organisationen wie dem Center for Cybersecurity and Digital Forensics an der Arizona State University soll AMP das schnelle Ausrollen von Micropatches für Legacy-Anwendungen in besonders kritischen Systemen ermöglichen.
Sobald es möglich ist, ein vertrauenswürdiges und verlässliches Ökosystem zum Entwickeln von Micropatches für alle wesentlichen Betriebssysteme und Software-Lösungen aufzubauen, kann damit das Datenmanagement in Unternehmen deutlich beschleunigt und erleichtert werden. Zudem würde das das Leben von Cyberkriminellen um einiges schwerer machen.