Project Open BSD strijdt tegen buffer overflows
De Open BSD group heeft drie tactieken ingezet om het benutten van het buffer-overflowmechanisme door hackers tegen te gaan. Om te beginnen wordt in de nieuwe versie van deze Unix-variant de 'stack', waar aplicaties en hun gegevens opgeslagen worden, op een willekeurige plaats in het geheugen geplaatst. Dat betekent dat een hacker moet uitzoeken waar die stack in een bepaald systeem staat voordat hij een buffer-overflowaanval kan uitvoeren.
Daarnaast is de manier waarop belangrijke adressen opgeslagen worden in de stack gewijzigd. Daarbij is een kleine 'tag' in de geheugenstructuur geplaatst waarmee te controleren is of zo'n adres gewijzigd is. Dat maakt het moeilijker om adressen in de stack zo te wijzigen dat ze naar binnengesmokkelde code verwijzen.
Ten slotte is men erin geslaagd het bestandssysteem van BSD zo te wijzigen dat het bij het schrijven in het geheugen onderscheid maakt naar delen met uitvoerbare code en delen waarin gegevens opgeslagen en gewijzigd kunnen worden. Deze laatste voorziening is in eerste instantie alleen beschikbaar op 64-bit-processors. Op 32-bits-processors ontbreken de benodigde geheugenbeschermingsfaciliteiten; het duurt zeker nog zes maanden voordat men voor dergelijke processors een structuur met beschermde geheugenpagina's rond heeft, aldus De Raadt. (jwy)