OpenBSD: Unique Kernels on each reboot

OpenBSD: A new feature added to the test snapshots of new versions of OpenBSD will create a unique kernel () every time an OpenBSD user reboots or upgrades their computer.

This function is called KARL for Kernel Address Randomized Link, and it works by relinking the internal kernel in random order so that a unique kernel binary blob is created each time.OpenBSD

Currently, in stable versions of OpenBSD the kernel uses a predefined order to perform relinking and load internal files into the kernel binary. This results in the same core for all of them .

OpenBSD with KARL and not ASLR

KARL was developed by Theo de Raadt, and works by creating a new binary kernel during installation, upgrading, and boot time. If the user boots, upgrades or restarts his machine, a new created kernel will replace the existing kernel and the operating system will create a new binary kernel to be used in the next boot / upgrade / restart.

KARL should not be confused with ASLR or Address Space Layout Randomization, a which gives random memory address (memory address) when an application is executed. Thus exploits cannot target a specific area of ​​memory that the attacker knows an application or the kernel is running.

Instead, KARL creates kernel binaries with random internal structures, so exploits can not attack internal kernel functions, pointers, or objects. A technical explanation is available in the link below.

http://undeadly.org/cgi?action=article&sid=20170701170044&mode=expanded&count=9

This feature has been developed over the past two months

Tasks for this feature began in May and were first discussed in mid-June through the OpenBSD technical mailing list. KARL was recently added to OpenBSD 6.1 snapshots.

This new feature appears to be unique in OpenBSD, as we do not know anything similar about it Linux.

Linux has just added support for the Kernel Address Space Layout Randomization (KASLR), a function that makes the ASLR port in the kernel itself, loading the kernel to a random memory address.

This feature is enabled by default in Linux 4.12, released last week. The difference between the two is that KARL loads different kernel binaries in the same place, while KASLR loads the same kernel binary in random places. Same goal, different paths.

As for Windows, KARL is not supported, but Microsoft has been using KASLR for many years.

It should be noted that OpenBSD's new functionality appears to provide much more security than the solutions used by Microsoft and Linux.

Perhaps after several tests we see KARL in other operating systems as well.

iGuRu.gr The Best Technology Site in Greecefgns

every publication, directly to your inbox

Join the 2.087 registrants.

Written by giorgos

George still wonders what he's doing here ...

Leave a reply

Your email address is not published. Required fields are mentioned with *

Your message will not be published if:
1. Contains insulting, defamatory, racist, offensive or inappropriate comments.
2. Causes harm to minors.
3. It interferes with the privacy and individual and social rights of other users.
4. Advertises products or services or websites.
5. Contains personal information (address, phone, etc.).