MacMark
Jakob Lebel
- Registriert
- 01.01.05
- Beiträge
- 4.874
Es gibt Format-String-Attacken, die Pufferüberläufe ausnutzen.
Libgmalloc verwendet man zum Debuggen, nicht für Produktivsysteme.
Man kann printf() et aliud verwenden und trotzdem sicher sein vor Format-String-Angriffen. Man muß halt, falls man Daten aus externen Quellen im Format-String verwendet, diese prüfen und nicht unkontrolliert einsetzen. Man könnte beispielweise sämtliche Eingaben, die Token der Art %s (wird für Leseangriff verwendet) oder der Art %n (wird für Schreibangriff verwendet) enthalten, ignorieren. Oder man übernimmt externen Input überhaupt nicht im Formatstring, sondern nur in den restlichen Argumenten von printf().
Format-String-Angriffe sind möglich durch unsauberes Programmieren, durch Entwickler-Bugs. Diese lassen sich vermeiden und beheben. Daher sehe ich seine prinzipielle Kritik nicht gerechtfertigt.
Apple wird, falls noch nicht geschehen, diese Bugs fixen, denn sie sind sehr leicht zu beheben. Zudem liegen meines Wissens diese Bugs nicht im Darwin-Bereich und sind somit Closed Source, was ihre Ausnutzung erschwert.
Diese Art Bugs sind übrigens weit über Skriptkiddie-Niveau und erfordern erhebliches Wissen, Zeit und Erfahrung, um sie ausnutzen zu können.
Libgmalloc verwendet man zum Debuggen, nicht für Produktivsysteme.
Man kann printf() et aliud verwenden und trotzdem sicher sein vor Format-String-Angriffen. Man muß halt, falls man Daten aus externen Quellen im Format-String verwendet, diese prüfen und nicht unkontrolliert einsetzen. Man könnte beispielweise sämtliche Eingaben, die Token der Art %s (wird für Leseangriff verwendet) oder der Art %n (wird für Schreibangriff verwendet) enthalten, ignorieren. Oder man übernimmt externen Input überhaupt nicht im Formatstring, sondern nur in den restlichen Argumenten von printf().
Format-String-Angriffe sind möglich durch unsauberes Programmieren, durch Entwickler-Bugs. Diese lassen sich vermeiden und beheben. Daher sehe ich seine prinzipielle Kritik nicht gerechtfertigt.
Apple wird, falls noch nicht geschehen, diese Bugs fixen, denn sie sind sehr leicht zu beheben. Zudem liegen meines Wissens diese Bugs nicht im Darwin-Bereich und sind somit Closed Source, was ihre Ausnutzung erschwert.
Diese Art Bugs sind übrigens weit über Skriptkiddie-Niveau und erfordern erhebliches Wissen, Zeit und Erfahrung, um sie ausnutzen zu können.