MR - stock.adobe.com
Worauf muss man beim Testen von Sicherheitsupdates achten?
Jedes Unternehmen muss Software aktualisieren. Die dafür verwendeten Prozesse sollten aber sorgfältig geplant und durchgeführt werden. Welche Schritte sind besonders wichtig?
Unternehmen können neue Patches nicht einfach in ihrer Infrastruktur und ihrem Netzwerk ausrollen. Vorher sollten sie erst ausgiebig in einer nicht produktiv genutzten Umgebung getestet werden. Software- und Firmware-Patches sind unverzichtbar, um vorhandene Bugs zu reparieren, Schwachstellen zu entfernen und um neue Funktionen hinzuzufügen. Ohne vorherige Tests können sie die vorhandenen Systeme jedoch zusätzlichen Risiken aussetzen oder zu instabilem Verhalten führen.
Die im Folgenden vorgestellten Best Practices für die Tests von Patches decken potenzielle Konflikte in den Systemen und unterschiedlichsten Konfigurationen auf, die ein Unternehmen einsetzt. Sie helfen damit dabei, Unterbrechungen der Geschäftsaktivitäten zu vermeiden.
Besonders kritische Systeme identifizieren
Zunächst sollte festgestellt werden, welche Sicherheitsprobleme und Software-Updates überhaupt für Ihre IT-Umgebung von Bedeutung sind. Das erfordert ein umfassendes Inventar aller Assets im Unternehmen und der eingesetzten Software. In komplexen Umgebungen eignen sich dafür meist automatisierte Lösungen zum Monitoring und Management von Versionsständen und verfügbaren Patches.
Weisen Sie allen Assets abhängig von ihrer Bedeutung für das Unternehmen, Werte für maximal tolerierbare Downtime-Zeiten und ihren Gefährdungsgrad zu. Priorisieren Sie dann die Patches und testen Sie erst diejenigen, die am wichtigsten für Ihre Infrastruktur sind. Ein solides Change Management ist sehr hilfreich für diese Aufgabe. Das System muss jedes Update und jeden einzelnen Schritt des Testens und Einspielen der Patches genau überwachen. Die dafür erstellten Richtlinien sollten alle Prozesse genau beschreiben, die für das Identifizieren und Installieren der Patches benötigt werden. Vermerkt werden sollte zudem, wer jeweils dafür verantwortlich ist.
Die meisten Software-Hersteller veröffentlichen regelmäßig neue Patches. Daher ist es wichtig, dass Sie über besonders kritische Updates auf dem Laufenden bleiben. Hilfreich ist hier zum Beispiel das Common Vulnerability Scoring System (CVSS), dass die Schwere neuer Schwachstellen für die meisten in Unternehmen eingesetzten Software-Lösungen bewertet. Das System wird unabhängig von Software und Herstellern betrieben. Dadurch können die Sicherheits-Teams in den Unternehmen leichter herausfinden, welche Auswirkungen bestimmte Sicherheitslücken auf ihre Systeme haben und dann festzulegen, um welche Bereiche sie sich zuerst kümmern wollen. Intern entwickelte Anwendungen können zudem mit einem geeigneten Analyse-Tool geprüft werden, das ihre Struktur und Zusammensetzung genau unter die Lupe nimmt. Diese Werkzeuge überwachen alle Open-Source- und Drittanbieter-Komponenten, die von der Anwendung genutzt werden. Damit sind sie eine der besten Möglichkeiten, um auf für Sie relevante Updates rechtzeitig hingewiesen zu werden.
Nachdem ein Patch heruntergeladen wurde, sollte aber zuerst seine Echtheit und Integrität geprüft werden. Zu diesem Zweck bieten die meisten Anbieter digitale Signaturen an. Außer wenn eine akute Bedrohung besteht, sollten Sie sich auch immer die Zeit nehmen, auf News-Seiten und in geeigneten Online-Foren nach Hinweisen zu dem jeweiligen Patch zu recherchieren. So erfahren Sie, ob eventuell andere Firmen bereits Probleme nach oder mit der Installation des Updates haben. Wann es um das Einspielen von Patches geht, sollte man vermeiden, der Erste sein zu wollen.
Umgebungen für Tests virtualisieren
Virtualisierung kann ein essenzieller Bestandteil einer umfassenden Strategie zum Testen von Patches sein. Mit dieser Technik ist es mit nur wenig Aufwand möglich, unterschiedliche produktiv genutzte Umgebungen auf einem einzelnen Computer nachzubilden. Im Idealfall sollte dieser aber über identische Hardware verfügen. Das Virtualisieren mehrerer Betriebssysteme spart nicht nur Zeit und Geld, sondern auch Speicherplatz. Mit ihr ist es möglich, sicherzustellen, dass das Einspielen neuer Patches zu keinen unerwarteten oder unerwünschten Ergebnissen führt.
Das ändert aber nichts daran, dass die aktuell eingesetzte Infrastruktur in den meisten Firmen äußerst komplex geworden ist. Daher ist es keine leichte Aufgabe, einen Patch allen erdenklichen Szenarien und Situationen auszusetzen. Das wäre aber meist nötig. Cloud-Dienste wie Microsoft Azure und AWS (Amazon Web Services) sind eine gute Möglichkeit, um eine dedizierte und zugleich kostengünstige Umgebung zum Testen von Patches einzurichten, die identisch ist mit den produktiv genutzten Systemen.
Das Testen von Patches erfordert aber mehr als nur dafür zu sorgen, dass ein System nach dem Einspielen noch korrekt bootet. Prüfen Sie deshalb nicht nur, ob der Patch ordnungsgemäß installiert werden konnte. Vorher sollten Sie noch spezielle Tests durchführen, um den aktuellen Zustand der Umgebung zu prüfen. Im Englischen werden diese Untersuchungen auch Smoke Tests genannt, da sie sozusagen prüfen sollen, ob irgendwo Rauch aufsteigt. Diese vorher durchzuführenden Tests sollen sicherstellen, dass eine Anwendung sich auch wirklich in einem ordnungsgemäßen Zustand befindet, bevor überhaupt weitere Analysen gestartet werden. Achten Sie dabei sorgfältig darauf, ob unerwartete Änderungen an der Testumgebung auftreten. Ein paar Beispiele:
- Programmfehler,
- Änderungen an Berechtigungen,
- neuerdings deaktivierte Dienste,
- neuerdings aktivierte Dienste,
- unterbrochene Dienste,
- negative Auswirkungen auf den Code oder
- alle anderen Arten von Anwendungsfehlern.
Wenn diese Tests zu keinen befriedigenden Ergebnissen führen, versuchen Sie zunächst die grundlegende Ursache der Probleme zu ermitteln, bevor Sie weitere Maßnahmen einleiten.
Eine abgestufte Einführung neuer Patches in die produktive Umgebung ist ein weiterer Teil, der zum Testen gehören sollte. Spielen Sie die ersten Updates nur auf weniger kritischen Systemen ein. Wenn sie anschließend immer noch wie erwartet funktionieren, kann der Rollout weitergehen bis auch die restlichen Systeme aktualisiert werden konnten. Der Testprozess ist erst dann beendet, wenn der komplette Rollout erledigt werden konnte und wenn es zu keinen neuen Problemen in der darauf folgenden Woche gekommen ist. Wenn ein oder mehrere Legacy-Systeme nicht gepatcht werden können, benötigen Sie zudem eine alternative Strategie für die sich daraus ergebenden Bedrohungen.
Neustarts mit Bedacht durchführen
Mindestens 90 Prozent aller Patch-Installationen erfordern einen neuen Start des Systems. Planen Sie daher ein dediziertes Wartungsfenster ein, wenn Sie Patches in einem produktiv genutzten System installieren wollen. So minimieren Sie das Risiko eines unerwarteten Neustarts, der den Unternehmensablauf unterbricht oder zu anderen Problemen führen könnte. Es gibt mehrere mögliche Strategien, um frische Patches einzuspielen. Beispielsweise ist es möglich, neue Updates in einem regelmäßigen monatlichen Turnus zu installieren oder sie auf einmal an einem einzigen Wochenende einzurichten, um damit alle betroffenen Systeme schnell auf den aktuellen Stand zu bringen. Alternativ können Sie kleinere Patches auch im Laufe des Monats installieren. Das Ziel der Best Practices zum Testen neuer Patches ist, unerwartete Probleme ein für alle Mal zu eliminieren.
Aber selbst mit einem solchen äußerst sorgfältig aufgebauten Testprogramm ist es ratsam, einen Notfall- und Rollback-Plan zu haben. Er wird für all die Situationen benötigt, bei denen es zu so ernsten Fehlern kommt, dass die Systeme in den Zustand wiederhergestellt werden müssen, die sie vor dem Patchen hatten. Erstellen Sie daher unbedingt Backups oder komplette Images aller Systeme bevor Sie mit dem Einspielen der Updates beginnen. Wenn dafür nicht genug Personal zur Verfügung steht, ziehen Sie einen externen Anbieter in Betracht. Es gibt Firmen, die Patchen als Dienst anbieten und vorher alle Updates für häufig verwendete Anwendungen einem Test unterziehen. Anschließend erstellen sie Skripte, um die Patches in Ihrer produktiven Umgebung installieren zu können. Seien Sie aber vorsichtig beim Einsatz von Werkzeugen zum automatischen Aktualisieren von unternehmenskritischen Systemen, da Sie bei diesen Lösungen weit weniger Kontrollmöglichkeiten darüber haben, wann die Patches installiert werden.
Das Einspielen von Patches nimmt eine Schlüsselrolle ein, wenn es um die Sicherheit Ihrer Systeme geht. Daher schreiben viele Audit-Standards oder etwa Vorgaben von Regulierungsbehörden das Erstellen von Berichten vor. Strafen und sich aus Fehlern beim Patchen ergebende Kosten könnende extrem hoch sein, wenn später herauskommen sollte, dass die Systeme eines Unternehmens und die von ihm gespeicherten Kundendaten nur deswegen gestohlen werden konnten, weil es nicht gepatchte Software genutzt hat.