So minimieren Sie Probleme mit Software-Updates

Heute möchten wir Sie über unsere Praktiken bei der Veröffentlichung neuer Produkte und bei der Aktualisierung bestehender Versionen informieren, die das Risiko schwerwiegender Zwischenfälle verringern.

Nach Angaben von Microsoft waren von dem durch ein Update der CrowdStrike Falcon-Sicherheitslösung verursachten Bluescreen-Vorfall mehr als 8,5 Millionen Computer weltweit betroffen. Dieser Vorfall kam vielen Unternehmen teuer zu stehen und hat auch eine Menge Diskussionen darüber ausgelöst, wie man verhindern kann, dass sich ähnliche Situationen wiederholen.

Eines vorweg: Niemand ist vor Fehlern gefeit; es ist einfach unmöglich, die völlige Abwesenheit von Bugs in komplexen Softwaresystemen zu garantieren. Allerdings kann ein gut strukturierter Prozess für die Entwicklung, das Testen und die Auslieferung von Produkten und deren Updates für die Geräte der Benutzer das Risiko eines schwerwiegenden Fehlers erheblich minimieren. Bei uns ist dieser Prozess schon seit Jahren fest etabliert.

Auch bei uns gab es Vorfälle, die direkt mit den Updates für unsere Produkte zusammenhingen. Aber das letzte Mal, dass wir ein derartiges Problem in großem Umfang hatten, war im Jahr 2013. Nach dieser unangenehmen Episode führten wir eine gründliche Analyse der Ursachen durch, die zu einer vollständigen Überarbeitung unseres Ansatzes für die Erstellung und das Testen von Updates sowohl bei Produkten für Geschäfts- als auch für Privatanwender führte. Und das System, das wir aufgebaut haben, hat sich als sehr zuverlässig erwiesen: In 11 Jahren hatten wir keinen einzigen Ausfall in ähnlicher Größenordnung.

Wir machen keinen Hehl aus den Mechanismen, die wir für die Veröffentlichung von Updates entwickelt haben, und sind bereit, sie mit der Branche zu teilen. Denn ohne den freien Austausch von bewährten Verfahren und Lösungen, die von verschiedenen Unternehmen entwickelt wurden, wird der Fortschritt in der Cybersicherheitsbranche stark behindert. Zu den wichtigsten Schutzmechanismen bei der Freigabe von Updates gehören mehrstufige Tests, die schrittweise Freigabe von Updates und die automatische Überwachung von Anomalien. Lassen Sie uns diese im Detail besprechen.

Mehrstufige Tests

Es gibt zwei Arten von Updates für unsere Produkte – einige dienen dazu, eine neue Erkennungslogik hinzuzufügen, und andere dazu, die Funktionalität eines bestimmten Produkts zu ändern. Das Hinzufügen neuer Funktionen birgt potenziell mehr Risiken, aber manchmal können auch Logik-Updates Probleme verursachen. Daher testen wir beide Arten von Updates in verschiedenen Phasen sorgfältig.

Prüfung auf falsch-positive Ergebnisse

Bei der Erstellung und Freigabe von Erkennungsregeln (sowohl der automatisch generierten als auch der von Analysten geschriebenen) testen wir diese an einer umfangreichen Datenbank mit legitimen (oder „sauberen“) Objekten. Das können Dateien, Webseiten, Verhaltensmustern und so weiter sein. Auf diese Weise werden false-positive Objekte identifiziert und herausgefiltert. Wir verfügen über eine umfangreiche und ständig aktualisierte Sammlung legitimer Objekte – sowohl Software als auch saubere Web-Ressourcen –, an denen alle erstellten Regeln getestet werden

Diese Datenbank wird u.a. durch unser Allowlist-Programm aufgefüllt, das es Softwareentwicklern (sowohl Kunden, die ihre eigenen Lösungen entwickeln und verwenden, als auch unabhängigen Anbietern) ermöglicht, uns ihre Software zur Verfügung zu stellen. Dadurch wird die Anzahl potenzieller Fehlalarme und das Risiko einer falschen Softwareklassifizierung reduziert.

Andere Methoden zur Beschaffung von Dateien und Metadaten umfassen den Austausch von Informationen mit Technologiepartnern, die Nutzung unseres Threat Intelligence Portals usw. Insgesamt enthält unsere Datenbank mit legitimen Objekten Informationen über rund 7,2 Milliarden Objekte

Testen auf virtuellen Maschinen

Das Testen von Updates beschränkt sich jedoch nicht auf die Überprüfung von Dateisammlungen. Wenn in der ersten Phase keine Probleme festgestellt werden, werden alle aktualisierten Komponenten anschließend mehrstufigen automatischen Tests auf virtuellen Maschinen mit verschiedenen Konfigurationen von Sicherheitsprodukten, Software und Betriebssystemen unterzogen. Dabei werden verschiedene Szenarien durchgespielt, die sich auf unsere Produkte und die Funktionsweise der Sicherheitsmechanismen beziehen, sowie die Nachahmung typischer Benutzeraktionen.

Zu den produktspezifischen Szenarien gehören die Durchsuchung des Dateisystems, die Installation des Produktupdates, der Neustart nach dem Update und so weiter. So können wir sicherstellen, dass das Produkt nach der Aktualisierung normal funktioniert und weder abstürzt noch die Systemstabilität beeinträchtigt. Jedes Update durchläuft diese Prüfung.

Die Benutzerszenarien simulieren typische menschliche Verhaltensweisen am Computer: das Öffnen eines Browsers, Besuch einer Webseite, Herunterladen einer Datei, Starten eines Programms. Mit dieser Prüfung können wir sicherstellen, dass das Produkt keine negativen Auswirkungen auf die Leistung, Arbeitsgeschwindigkeit oder Stabilität des Computers hat.

Unabhängig davon werden die Updates automatisch auf Kompatibilität mit industrieller Software (z.B. SCADA-Systeme) getestet. Jede negative Auswirkung auf Lösungen in diesem Bereich kann zu einer unzulässigen Unterbrechung der Produktionsprozesse und zu einem potenziellen finanziellen Schaden führen.

Qualitätskontrolle

Zusätzlich zu den oben erwähnten Kontrollen verfügen wir über ein eigenes Team für die Qualitätskontrolle. An unsere Kunden wird keine einzige Produktaktualisierung ausgeliefert, ohne dass die Experten des Teams deren Funktionsfähigkeit bestätigt haben. Außerdem passt es bei Bedarf die Überprüfungsprozesse an und verbessert sie ständig und überwacht das Auftreten möglicher operativer Risiken.

Schrittweise Freigabe von Updates für Sicherheitstechnologien

Natürlich sind wir Realisten und geben zu, dass dieses gesamte mehrstufige Kontrollsystem möglicherweise noch nicht ausreicht. Zum Beispiel wird manche Software von Drittanbietern zur gleichen Zeit wie unsere aktualisiert, was zu einem unvorhergesehenen Konflikt führen kann. Und im Allgemeinen ist es unmöglich, alle Kombinationen von Konfigurationen verschiedener Programme und Systeme vorherzusehen. Daher wird ein Update, das sich auf die Funktionalität von Sicherheitslösungen auswirkt, nicht auf einmal an alle Computer unserer Benutzer gesendet, nachdem es fertiggestellt und freigegeben wurde. Stattdessen werden die Updates in Phasen veröffentlicht.

Ein Update wird zunächst auf Computern in unserem eigenen Netzwerk getestet, bevor es auf öffentlichen Update-Servern veröffentlicht wird. Wenn keine Probleme festgestellt werden, wird das Update zunächst an eine sehr kleine Anzahl zufällig ausgewählter Benutzer gesendet. Treten keine Probleme oder Ausfälle auf, wird die Anzahl der Computer, die das Update erhalten, in bestimmten Abständen schrittweise erhöht, bis das Update für alle Benutzer verfügbar ist.

Automatische Überwachung von Anomalien

Was passiert also, wenn ein Update Probleme verursacht? Wir überwachen das Verhalten der aktualisierten Lösungen anhand freiwillig übermittelter anonymisierter Daten über unser KSN und stoppen die Verteilung der Updates umgehend, wenn etwas nicht funktioniert, wie es funktionieren sollte.

Aber das Wichtigste ist, dass dank der Kombination aus automatischer Anomalieüberwachung und schrittweiser Freigabe von Updates nur eine sehr kleine Anzahl von Computern von einem Fehler betroffen wäre – nicht Millionen oder gar Tausende.

Testen von Updates beim Kunden

Unser Unternehmen bietet die Möglichkeit, die erhaltenen Updates noch einmal zu überprüfen, nur diesmal auf der Client-Seite über die Verwaltungskonsole von Kaspersky Security Center.

Die Systemadministratoren des Kunden können eine isolierte Testgruppe von Computern (oder virtuellen Maschinen) mit der gängigsten Konfiguration und Software für das Netzwerk des Unternehmens einrichten und dann eine Aufgabe zur Prüfung von Updates erstellen – wobei diese Testgruppe als Ziel angegeben wird. In diesem Fall werden alle eingehenden Updates zunächst nur auf Testcomputern installiert, in der Praxis getestet und erst nach dem Test über das gesamte Unternehmensnetzwerk verteilt. Weitere Informationen über die Einrichtung einer solchen Prüfung finden Sie auf unserer Website für technischen Support.

Wir analysieren jedes einzelne Problem, das im Zusammenhang mit Software-Updates auftritt (einschließlich derer, die in Vorabtests identifiziert wurden), gründlich, um die Ursachen für ihr Auftreten zu verstehen, und ergreifen dann Maßnahmen, um sicherzustellen, dass sie nicht wieder auftreten. Darüber hinaus haben wir ein Verfahren implementiert, mit dem wir proaktiv die Risiken möglicher Probleme erkennen und bewerten und sie systematisch angehen. Dadurch, dass wir dies während der gesamten Lebensdauer unseres Unternehmens tun, haben wir ein mehrstufiges System aufgebaut, das es uns ermöglicht, das Risiko des Auftretens neuer Probleme erheblich zu verringern.

Natürlich ist es unmöglich, Ihnen in einem einzigen Blog-Beitrag alles über die Feinheiten unseres mehrstufigen Systems zur Überprüfung von Produktaktualisierungen zu erzählen. Wenn dieses Thema jedoch in der Branche auf Interesse stößt, sind wir gerne bereit, weitere Details mit Ihnen zu teilen. Nur eine offene Zusammenarbeit aller Akteure im Bereich der Informationssicherheit kann eine wirksame Barriere gegen die Aktionen von Cyberkriminellen schaffen.

Tipps