Speicherkorruption
Speicherkorruption bezeichnet das unbeabsichtigte Verändern von Speicherinhalten während der Programmausführung, wodurch Datenstrukturen, Zustände oder Kontrollinformationen inkonsistent werden. Sie entsteht häufig durch Fehler bei der Speicherverwaltung oder durch fehlerhafte Speicherzugriffe, kann sich in wechselnden Programmzuständen äußern und ist eine zentrale Fehlerquelle in der Softwaresicherheit.
Ursachen sind etwa Pufferüberläufe, bei denen mehr Daten in einen Puffer geschrieben werden, als reserviert sind;
Typische Erscheinungsformen sind Pufferüberläufe, Use-after-Free, Double Free, Use-after-Return und uninitialisierte Reads. Diese Muster können zu Abstürzen,
Erkennung und Prävention erfolgen durch spezialisierte Debug- und Analysewerkzeuge wie AddressSanitizer, Valgrind oder Compiler-Sicherheitsfunktionen (Stack Canaries,
Speicherkorruption bleibt eine zentrale Herausforderung in der Softwareentwicklung und Sicherheit, insbesondere in Systemen mit niedriger Abstraktionsebene.