Probleme im Bereich Use-After-Free, also nachdem ein Vorbenutzer eine Ressource nicht mehr benötigt, kennen Sie selbst vermutlich aus dem systemnahen Programmierumfeld. Dort führt die Verwendung bereits freigegebener Bereiche des Arbeitsspeichers zu Programmabstürzen oder sogar verheerenden Sicherheitslücken. Sollten Sie selbst kein C-Programmierer sein, zeigt Ihnen Listing 1, wie solche Probleme entstehen können. Arbeitsspeicher wird mittels "malloc" vom Betriebssystem angefordert. Es werden Werte verändert und die Speicherstelle anschließend mit "free" wieder freigegeben.
Das ist solange kein Problem, wie nach der Freigabe nicht mehr auf den Speicherbereich zugegriffen wird. Das Betriebssystem kann diesen nämlich nach der Freigabe direkt wieder einem anderen Programm oder demselben Programm für andere Variablen zuweisen. Ändert sich also zwischenzeitlich das Datum an der Speicherstelle, führt dies unweigerlich zu Problemen. Dass solche Fehler auch in großen Unternehmen an der Qualitätssicherung vorbeigehen, zeigen Patches für den Internet Explorer aus den Jahren 2014 und 2016.
...Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.