Sicherheitslücke
In der IT versteht man unter einer Sicherheitslücke oder einer Schwachstelle einen Fehler im Code oder im Design, der zu einem potenziellen Sicherheitsrisiko im Netzwerk oder im Endgerät führt.
Sicherheitslücken bieten mögliche Angriffsvektoren, unter deren Ausnutzung ein Eindringling beispielsweise Code ausführen oder auf den Speicher des Zielsystems zugreifen kann. Die Wege, auf denen Sicherheitslücken ausgenutzt werden können, sind unterschiedlich und beinhalten unter anderem das Injizieren von Code (Code Injection) und das Provozieren von Speicherüberläufen (Buffer Overrun). Diese können mit Hilfe entsprechender Skripte, Applikationen oder selbstgeschriebenem Code erfolgen. Ein sogenannter Zero-Day-Exploit findet beispielsweise direkt statt, sobald eine Sicherheitslücke allgemein bekannt wird.
Die Frage, wann eine Sicherheitslücke bekannt gegeben werden sollte, ist nach wie vor umstritten. Einige Security-Experten vertreten die Meinung, dass Sicherheitslücken sofort und vollständig offengelegt werden sollten, einschließlich der Informationen, wie die Sicherheitslücke ausgenutzt werden könnte. Die Befürworter der sofortigen Offenlegung gehen davon aus, dass dies zu mehr Updates für Schwachstellen und sicherer Software führen würde. Diejenigen, die gegen eine Offenlegung von Sicherheitslücken sind, argumentieren, dass Informationen über Schwachstellen überhaupt nicht veröffentlicht werden sollten, da diese von potenziellen Angreifern genutzt werden könnten. Um das Risiko zu minimieren, sind viele Experten der Meinung, dass eine begrenzte Anzahl von Informationen einer ausgewählten Gruppe zugänglich gemacht werden sollte, nachdem eine bestimmte Zeit seit der Entdeckung verstrichen ist.
Sowohl Black Hats als auch White Hats suchen regelmäßig nach Sicherheitslücken und testen Angriffsmöglichkeiten. Einige Unternehmen haben Bug-Bounty-Programme, um White-Hat-Hacker auch über finanzielle Anreize zu ermutigen, nach Schwachstellen zu suchen. Die Höhe der Zahlungen richtet sich in der Regel nach der Größe des Unternehmens, der Schwierigkeit, die Schwachstelle auszunutzen und den möglichen Auswirkungen des Fehlers.
Schwachstellenscans und -bewertungen
Die Planung des Schwachstellenmanagements ist ein umfassender Ansatz für die Entwicklung eines Systems von Praktiken und Prozessen zur Ermittlung, Analyse und Behebung von Schwachstellen in Hard- und Software, die als Angriffsvektoren dienen könnten. Zu den Prozessen des Schwachstellenmanagements gehören:
Überprüfung auf Schwachstellen. Dieser Prozess sollte regelmäßige Netzwerkscans, Penetrationstests oder den Einsatz automatisierter Schwachstellenscanner umfassen. Ein Schwachstellenscanner ist ein Programm, das die Diagnosephase einer Schwachstellenanalyse durchführt. Dies beinhaltet oft eine Pentest-Komponente, um Schwachstellen in den Abläufen in der Organisation oder bei den Mitarbeitern zu identifizieren, die durch Netzwerk- oder Systemscans möglicherweise nicht aufgedeckt werden können.
Identifizierung von Sicherheitslücken und Schwachstellen. Dies beinhaltet die Analyse von Netzwerkscans und den Ergebnissen der Penetrationstests oder Schwachstellenscans. So lassen sich Anomalien entdecken, die darauf hindeuten, dass ein Malware-Angriff oder ein anderes bösartiges Ereignis eine Sicherheitslücke ausgenutzt hat oder möglicherweise ausnutzen könnte.
Überprüfung der Schwachstellen. Dier Prozess umfasst die Feststellung, ob die ermittelten Sicherheitslücken auf Servern, in Anwendungen, Netzwerken oder anderen Systemen tatsächlich ausgenutzt werden können. Dazu gehört auch die Einstufung des Schweregrades einer Schwachstelle und des Risikos, das sie für das Unternehmen darstellt.
Entschärfung von Schwachstellen. Bei diesem Prozess versucht man herauszufinden, wie verhindert werden kann, dass Schwachstellen ausgenutzt werden, bevor ein Patch verfügbar ist oder für den Fall, dass es keinen Patch gibt. Dazu kann gehören, den betroffenen Teil des Systems vom Netz zu nehmen (wenn er nicht kritisch ist) oder verschiedene andere Umgehungsmöglichkeiten.
Sicherheitslücken schließen. Dies ist der Prozess der Beschaffung von Patches und Updates – in der Regel von den Anbietern der betroffenen Hard- oder Software – und deren rechtzeitige Anwendungen auf alle betroffenen Bereiche. Dies ist manchmal ein automatisierter Prozess, der mit Patch-Management-Tools durchgeführt wird. Zu diesem Schritt gehört auch das Testen der Patches.