
Verwendung von Komponenten mit bekannten Sicherheitslücken
Die meisten Anwendungen verwenden große Mengen an Komponenten von Drittanbietern. Diese Komponenten bieten alles, von Logging über Templating bis hin zum Datenbankzugriff und mehr.
Dies erleichtert die Entwicklung von Software erheblich und spart viel Zeit. Diese Komponenten werden jedoch auch von Menschen hergestellt und einige enthalten unweigerlich Sicherheitslücken. Das bedeutet, dass Sie möglicherweise unwissentlich Sicherheitslücken ausgesetzt sind, die ausgenutzt werden könnten.
Komponenten auf dem neuesten Stand halten
Als allgemeine Faustregel wird dringend empfohlen, Frameworks, Bibliotheken und andere Komponenten regelmäßig auf dem neuesten Stand zu halten. Dies kann auf verschiedene Arten geschehen:
- Viele Programme zur Quellcodeverwaltung können Ihre Repositorys analysieren und Sie warnen, wenn eine Sicherheitslücke in einer Abhängigkeit gefunden wurde.
- Viele Paketmanager können Ihre Anwendung analysieren und alle anfälligen Abhängigkeiten identifizieren, die Sie möglicherweise haben.
- Es gibt zahlreiche Software Composition Analysis (SCA) -Lösungen, mit denen alle anfälligen Abhängigkeiten identifiziert werden können
Minderung des Risikos technischer Schulden
Ein ziemlich heimtückisches Problem bei der Aktualisierung von Bibliotheken besteht darin, dass sie codebrechende Änderungen enthalten können. Obwohl diese häufig dokumentiert sind, kann es auch undokumentierte Änderungen geben, die möglicherweise erst erscheinen, wenn Ihr Code in der Produktion läuft.
Wenn in Ihrer Anwendung viele Versionen hinter der aktuellsten Version ausgeführt werden, ist möglicherweise ein erheblicher Arbeitsaufwand erforderlich, um auf die neueste Version zu aktualisieren. Falls eine zeitkritische Sicherheitslücke aufgedeckt wird, ist es wichtig, dass Sie über die Komponenten von Drittanbietern auf dem neuesten Stand sind, um zu vermeiden, dass das Upgrade Tage in Anspruch nehmen wird.
Es wird auch nicht empfohlen, Pakete blind zu aktualisieren, ohne zumindest die Versionshinweise zu lesen, da sie wichtige Informationen über Änderungen enthalten können, die nicht offensichtlich sind, aber die Funktionsweise Ihrer Anwendung verändern könnten.
Könnte ein Update Sie unsicherer machen?
Es ist zwar nicht üblich, aber es gab Fälle, in denen eine Sicherheitslücke:
- In älteren Versionen nicht vorhanden
- Bei der Behebung einer Sicherheitslücke eingeführt werden
Diese Fälle können zu der Annahme führen, dass eine regelmäßige Aktualisierung von Paketen nicht wirklich wünschenswert ist. Natürlich sollte dieses Denken nach Möglichkeit vermieden werden, da es zur Anhäufung technischer Schulden führt.
Angesichts der relativen Seltenheit, die dieses Szenario darstellt, überwiegen die Vorteile der häufigen Aktualisierung von Paketen bei weitem die Möglichkeit einer neu eingeführten Sicherheitslücke, die ohnehin leicht behoben werden sollte, wenn Sie regelmäßig auf dem Laufenden bleiben.
Es geht auch davon aus, dass Anbieter Sicherheitslücken nicht stillschweigend und ohne Offenlegung beheben, was leider immer noch sehr verbreitet ist.
Bemerkenswerte Beispiele
Einige bemerkenswerte Beispiele, von denen Sie wahrscheinlich in letzter Zeit gehört haben, sind unten aufgeführt. Sie können sehen, wie und warum es wichtig ist, Ihre Bibliotheken zu überprüfen und sicherzustellen, dass Sie auf dem Laufenden bleiben.