Secondo questo article , OpenBSD sta implementando una funzionalità che creerà un kernel unico ogni volta che un utente si riavvia o aggiorna il suo computer.
Si chiama KARL, "Link randomizzato sull'indirizzo del kernel". Ciò funziona ricollegando i file interni del kernel in un ordine casuale in modo da generare ogni volta un blob binario del kernel univoco.
La spiegazione tecnica dice;
A unique kernel is linked such that the startup assembly code is kept in the same place, followed by randomly-sized gapping, followed by all the other .o files randomly re-organized. As a result the distances between functions and variables are entirely new. An info leak of a pointer will not disclose other pointers or objects. This may also help reduce gadgets on variable-sized architectures, because polymorphism in the instruction stream is damaged by nested offsets changing.
- In che modo migliora la sicurezza?
- Quale tipo di attacchi sarebbe mitigato da questa nuova funzionalità?
- In che modo è diversa dalla randomizzazione del layout dello spazio indirizzo del kernel?