Willkommen auf SICHERHEITSLüCKEN.DE

sicherheitslücken.de bietet Ihnen weiterführende Links auf Webseiten zum Thema Sicherheitslücke

Startseite > Sicherheitslücke

Eine '''Sicherheitslücke''' oder '''Schwachstelle''' ist im Gebiet der ein oder , durch den ein Programm mit Schadwirkung () oder ein Angreifer in ein system eindringen kann.

Entstehung

Eine Sicherheitslücke stellt eine Bedrohung für die Sicherheit eines Computersystems dar. Es besteht das , dass die Sicherheitslücke ausgenutzt und das betroffene Computersystem kompromittiert werden kann. Sicherheitslücken entstehen unter anderem durch den unzureichenden eines s vor Angriffen aus dem (beispielsweise mangels oder anderer ) sowie durch im , oder anderen anwendungen, die auf dem System betrieben werden.

Sicherheitslücken können im Entwicklungsprozess entstehen, wenn Sicherheitsaspekte in der Planung, Konzeption und Entwicklung vernachlässigt werden und Sicherheitsvorgaben nicht ausreichend berücksichtigt werden, z. B. als Qualitätsziele.
Des Weiteren ergeben sich Sicherheitslücken aus Fehlern, die auf Grund der Komplexität von Softwaresystemen im Entwicklungsprozess entstehen können. Grobe Schätzungen zeigen, dass ein Programmierer pro 1000 Programmzeilen einen Fehler erzeugt, das entspricht einem ; bei 1.000.000 Zeilen sind also etwa 1000 Fehler zu erwarten. Falls beim nicht alle Fehler gefunden werden, entsteht ein fehlerhaftes Produkt.

Viele Fehler werden nie entdeckt, da der Fehlergehalt gering ist oder die Auswirkung erst bei längerer Laufzeit des Programms Schaden erzeugen würde. In hochkomplexen Programmen werden solche einfachen Fehler bei Entdeckung zunächst nur dokumentiert und erst später behoben. Dies nicht nur aus Kostengründen, sondern auch deshalb, da jede zur Behebung notwendige Änderung am Programmcode wiederum Quelle neuer Fehler sein kann. Manche Fehler erzeugen jedoch schwerwiegende Sicherheitslücken, ohne dass dies sofort zu einem kompletten Absturz führt.

Derartige Sicherheitslücken sind symptomatisch für Programme, welche mit ). Durch die weite Verbreitung von derartigen Programmiersprachen, dem hohen Zeitdruck in der Softwareerzeugung, verbunden mit dem ausgeprägten Kostendruck der Softwareerzeugerfirmen und dem wenig sensiblen Umgang mit dem Thema sichere Software sind Sicherheitslücken eher die Regel als die Ausnahme.

Ein häufig genanntes Problem sind vor allem Softwareangebote von herstellern zu ihren Produkten, welche oftmals nur aus Marketinggründen bei bestimmten Produkten beiliegen (vergleiche bei n). Durch kostengünstige Entwicklung und dadurch schlechte Programmierung werden eine Vielzahl von n und Sicherheitslücken geschaffen, die vor allem den Heimanwenderbereich betreffen. Erschwerend kommt hinzu, dass Hardwarefirmen oft nicht auf die Entwicklung von Anwendungssoftware spezialisiert sind, daher Entwicklungsaufträge an Fremdfirmen und somit die auch nicht mehr ohne weiteres selbst überprüfen können. Zum andern sind die Fremdfirmen unter Umständen noch nicht einmal auf die Entwicklung der speziellen Software spezialisiert.
Diese Faktoren führen dazu, dass immer wieder neue, fehlerbelastete Software auf den Markt kommt, anstatt dass alte Software weiterentwickelt und verbessert wird.

Einige Fehler könnten heute einfach vermieden werden, wenn statt der sehr systemnahen Sprachen, die eine direkte Adressierung von Speicherbereichen zulassen, Programmiersprachen wie zum Beispiel verwendet werden. Einige Entwickler des sehr viel im Serverbereich verwendete Betriebssystem überlegen Rust für einzelne Kernel-Module zu verwenden.

Zero-Day

Als ''Zero-Day'' (auch ''0day'') wird eine Sicherheitslücke bezeichnet, für die noch kein Patch des Herstellers der Komponente verfügbar ist.

Ausnutzung

Diese Programmfehler ermöglichen es unter Umständen einem Angreifer zum Beispiel mit einem in ein Computersystem einzudringen und dort Programme auszuführen, die schaden können. Einer der häufigsten Fehler, der zum Eindringen in Computersysteme benutzt wird, ist der . Mangelnde oder überhaupt fehlende Überprüfung der kopierten Datenmenge führt zum Überschreiben anderer Programmteile, was von Angreifern gezielt zum Verändern des Programms oder Einbringen fremder Programmteile benutzt wird.

Bei vorhandenen n kann durch Anpassung der darauf laufenden Software die Ausnutzung verhindert oder erschwert werden. So werden bei Hardware-Designfehlern entweder am der Prozessoren selbst oder s in der auf den Systemen laufenden Software, oder beides in Kombination realisiert. Nach der 2018 veröffentlichten Entdeckung der Sicherheitslücken und mussten auch in großem Umfang die e und diverse angepasst werden, allerdings konnte der Fehler ohne eine veränderte Funktionsweise des Prozessors selbst (u. a. durch angepassten Mikrocode) nicht vollständig beseitigt werden. Besonders auf älteren Prozessoren, die keine - mehr erhielten, kann eine Ausnutzung der Sicherheitslücke daher nicht verhindert werden.

Umgang

In so genannten -Anwendungen ist es die Aufgabe des Herstellers des Programms, die Sicherheitslücke durch einen oder die Bereitstellung einer neuen, fehlerbereinigten Version zu beheben. Die Bereinigung ist nicht zwingend und kann unterbleiben, wenn z. B. der Supportzyklus für das Produkt abgelaufen ist oder der Hersteller die Sicherheitslücke nicht als solche anerkennt und keinen Handlungsbedarf sieht.

Bei und freier Software sind es oftmals mehrere Entwickler (meist diejenigen, die schon länger an dieser Software beteiligt sind), verstreut auf der ganzen Welt, die einen Patch dafür schreiben, sobald der Fehler entdeckt und veröffentlicht wurde. Gerade bei großen Open-Source-Projekten, wie z. B. gibt es meist kurz nach der Entdeckung der Lücke Patches, um diese zu beheben.

Beispiele

Zu den Sicherheitslücken mit großem Bekanntheitsgrad gehören:
  • (, 2014)
  • (, 2014)
  • (, 2015)
  • (, 2017)
  • BlueKeep (Windows, 2019)

Weblinks

Sicherheitslücken werden unter anderem publiziert auf:
  • (Archiv; deutsch)
  • (Archiv; englisch)

Einzelnachweise