? Ein Pufferüberlauf ist eine Art von Fehler in der Informatik , die erhebliche Probleme mit der Sicherheit verknüpft ist . Ein Puffer ist ein Ort , um Gruppen von Daten zu speichern, und ein Pufferüberlauf tritt auf, wenn ein Programm versucht, mehr Daten in einem Puffer als seine Kapazität zu speichern.
Buffer Overrun ist eine Art von Fehler in der Informatik
Beispiel
Der folgende Code zeigt ein einfaches Pufferüberlauf :
//Erstellt ein Array von zehn integersint [10] arrayOfTenIntegers ;
//Versuch , Daten an die 100. Adresse des arrayarrayOfTen schreiben [100 ] = 1;
ein Pufferüberlauf auftritt, und alle Daten, die in die in die gespeicherte Lage direkt neben arrayOfTenIntegers im Speicher überschrieben.
Sicherheit Implikationen
Dieser Fehler kann durch einen Virus ausgenutzt werden, um einen Computer in das Ausführen von Code auszutricksen es sonst der Fall wäre nie , durch Einspritzen der Code in einer anderen Programmen Abschnitt des Speichers .
Execution Naturschutzgebieten
in der Praxis versuchen die meisten modernen Betriebssysteme , um die Bereiche des Speichers verwendet trennen für den Programmablauf und die für die Datenspeicherung verwendet , eine Funktion namens Execution Naturschutzgebieten .
Sanity Checking
Pufferüberläufe verdeutlichen die Notwendigkeit einer guten Fehlerprüfung auf eingehenden Daten , wenn Schreiben von Software .
Gefahren von C
Die C /C + +-Sprache bietet wenig eingebauten Schutz gegen Pufferüberläufe , verglichen mit Sprachen wie Java.