Skip to main content

Buffer Overflow

Was bedeutet Buffer Overflow?>>>>>>>>>>>>>>>>>>>>>>>>>>

Bei einem sogenannten Buffer Overflow oder auch Stack Overflow (Pufferüberlauf) handelt es sich um einen Fehler in der Programmierung.

Programmierfehler

Dieser Programmierfehler führt unter Umständen dazu, dass der Zwischenspeicher eines Computers mit Daten überläuft. Konkret bedeutet das, dass Daten nicht im vorgesehenen Puffer abgelegt werden, sondern auch Speicherstellen überschreiben, die für die Speicherung dieser Daten überhaupt nicht vorgesehen sind, was in den meisten Fällen zu einem Programmabsturz führt. Hacker nutzen diese Schwachstelle oft aus, um Kontrolle über das betroffene System zu erhalten oder Schadsoftware zu installieren.

Wie kommt es zu einem Buffer Overflow?

Bei jedem Computerprogramm werden während der Programmlaufzeit Variablen lokal in einem Segment gespeichert. Beim Programmstart werden drei unterschiedliche Segmente angelegt, und zwar:

  • ein Code-Segment
  • ein Daten-Segment (Heap)
  • ein Stack-Segment

In diesem Kontext kommt dem Stack-Segment eine besonders wichtige Rolle zu, da dieses Segment bei der Ausführung von Programmen als Zwischenspeicher genutzt wird und ist am oberen Ende des Adressraums angesiedelt. Wenn ältere Datensegmente abgerufen werden sollen, muss der Stack zunächst entleert werden. In diesem Moment kann ein Stack Overflow stattfinden. Es kann nämlich passieren, dass ein Programm eine Variable mit Daten füllt, die größer sind als der verfügbare Speicherplatz innerhalb der Variable. Das Resultat ist ein Buffer Overflow, der in den meisten Fällen zu einem Programmabsturz führt.


Sie haben noch Fragen?

Kontaktieren Sie uns


Weitere Inhalte