Már tudni fogják OpenBSD, a BSD család operációs rendszere. Ha nem ismeri, akkor egy nyílt forráskódú Unix-szerű rendszer, és nyilvánvalóan nem a Linux kernelen alapszik. A NetBSD leszármazottja, de a második helyen hagyja a hordozhatóságot, hogy a biztonságra összpontosítson. Nos, az OpenBSD 6.2 kiadásával egy nagyon érdekes tulajdonságú kern jön.
Kiderült, hogy az OpenBSD 6.2 egyedi kernelt hoz létre, valahányszor a rendszer felhasználó újraindítja vagy frissíti a rendszert. Ez a funkció KARL-nak hívják (Kernel Address Randomized Link), és úgy működik, hogy a kernel belső fájljait véletlenszerű sorrendben kapcsolja össze, így minden egyes alkalommal egyedi bináris blobot generál. Ez új, mivel az OpenBSD jelenlegi verziói előre definiált helyet használnak, ami azt eredményezi, hogy a belső fájlok minden alkalommal ugyanabba a bináris fájlba kerülnek és betöltésre kerülnek.
A fejlesztés a Theo deRaadt úgy fog működni, hogy létrehozza ezt a konkrét képet a telepítés, a frissítések vagy a rendszerindítás ideje alatt. Ha a felhasználó elindítja, frissíti vagy újraindítja a gépet, akkor az újonnan létrehozott kernelt az új bináris váltja fel. És mindez mire? Nos, így véletlenszerű helyet kapnak azok a memória címek, ahol az alkalmazás és a kernel kód futtatásra kerül, ahelyett, hogy minden dologhoz már definiált hierarchia vagy memóriaszegmens lenne, ami bonyolítja a memóriaterületre mutató kihasználások használatát és javítja Biztonság.
Van még egy hasonló technika, az úgynevezett KASLR (Kernel Space Layout Randomization), amely abban különbözik a KARL-tól, hogy a KASLR ahelyett, hogy minden egyes alkalommal különböző bináris fájlokat generálna, véletlenszerű helyeken tölti be ugyanazt a bináris változatot, amit jelenleg az olyan operációs rendszerek használnak, mint a Windows és a Linux. Mindkettő ugyanarra a célra.