Pokud je programový kód (aplikací nebo jádra) umístěn v paměti na stále stejných adresách, usnadňuje to útoky využívající přepsání nějakého kusu paměti vlastním kódem. Poměrně dlouho se využívá randomizace využití adresního prostoru aplikacemi ASLR (Address Space Layout Randomization). Operační systém OpenBSD nyní získá obdobnou funkci KARL (Kernel Address Randomized Link), která při startu náhodně sestaví jednotlivé komponenty jádra do unikátní podoby.
Byl to právě systém OpenBSD, který jako první získal podporu ASLR. Stalo se tak ve verzi 3.4 vydané v roce 2003.
V Linuxu se tato technika nepoužívá, místo toho byla zavedena randomizace umístění jádra jako celku (KASLR); ve verzi 4.12 je ve výchozím stavu zapnutá. KARL je ovšem účinnější, protože ani zjištění, kde v paměťovém adresním prostoru začíná jádro, neposkytuje informace o tom, kde najít který kus kódu.