Ein Puffer ist Speicher von einem Programm als Zwischenspeicher mit einem Überschuss von Daten umgehen zugewiesen ; ? Puffer kommen in verschiedenen Größen sind in der Lage, Satz Mengen an Daten speichern . Ein Pufferüberlauf Angriff tritt auf, wenn ein Programm versucht, absichtlich nehmen mehr Speicherplatz als der Puffer verarbeiten kann , wodurch keine zusätzlichen Daten " Überlauf ". Dies kann zu Datenverlusten führen , was wiederum ermöglicht einen Angreifer zu entführen Kontrolle des Programms . Pufferüberlauf kann als Folge einer fehlerhaften Programmierung auftreten, aber Pufferüberlauf-Attacken werden zunehmend als eine Möglichkeit, die Sicherheit des Systems und Angriff Datenintegrität untergraben genutzt . Auswirkungen von Buffer Overflow
Wenn der Puffer bis mit Daten von einem Programm gefüllt , neigt die überschüssigen Daten zum Überlaufen . Diese zusätzlichen Daten können nicht offensichtlich einfach verschwinden , es wird in der Regel gehen Sie zu den benachbarten Puffern , die bewirken, dass die Daten in diesen Puffer kann beschädigt zu sein füllen
Auswirkungen eines Buffer Overflow Angriff
< . br>
Wenn ein Pufferüberlauf Angriff auftritt, können nicht nur Daten in benachbarten Puffern beschädigt, aber die Informationen , die das Betriebssystem Programmausführung Pfad steuert kann überschrieben werden. Dies ermöglicht es einem Angreifer , die Kontrolle über das Programm zu gewinnen, so dass er seinen eigenen Code auszuführen , anstatt Code ursprünglich diktiert durch das Programm .
Am anfälligsten Systeme
Anwendungen , die in C /C + +-Sprache , die Vorrang gibt Code-Länge und Programmierung Effizienz statt auf Sicherheit , codiert werden, sind besonders anfällig für Overflow-Attacken zu puffern. Während C + + ist ein flexibles und leistungsfähiges Werkzeug Codierung , ihre Anfälligkeit für Angriffe bedeutet, dass unerfahrene Programmierer , die nicht über ein volles Verständnis der Sprache sollte mit Vorsicht in Situationen mit sensiblen Daten zu verwenden.
Verhindern von Pufferüberlauf- Attacken
Die todsichere Methode, um einen Pufferüberlauf Angriff zu verhindern, ist eine sichere Codierung verwenden . Es gibt eine Reihe von freien und kommerziellen Software-Lösungen , die auf die Verhinderung dieser Angriffe ausgerichtet sind ; solche Software allgemein verwendet zwei verschiedene Ansätze : library -basierten Verteidigungen , die unsichere Funktionen neu implementiert beschäftigen , um sicherzustellen, dass diese Funktionen nicht überschreiten kann die Größe des Puffers und Bibliothek -basierte Verteidigung , die entworfen, um alle Versuche, fremde Code auf dem Puffer laufen zu erkennen sind .