KERNHEAP is an ever-evolving project to implement pragmatic, effective protections for the Linux kernel dynamic memory allocators. Its objective is to deter any potential abuse of the SLAB layer, preventing reliable exploitation of known and unknown kernel security flaws which rely on dynamically allocated buffers and other programmatic memory-impacting interfaces (ex. vmalloc). It also offers protection for the IPC subsystem and linked lists.

Documentation

A detailed paper has been published in Phrack Magazine, issue 66. It encompasses most of the intrinsic details of the KERNHEAP implementation for the Linux 2.6 kernel, as well as additional related topics. KERNHEAP itself operates without requiring intervention of the user, and it is configurable only at compile time. The kernel configuration is well documented, but for any further explanations, please refer to the paper.

License

KERNHEAP is distributed under the terms of the GNU General Public License (GPL).

Features

The following list describes most of the features implemented in KERNHEAP:

Download

The patch and other files are available at https://www.subreption.com/kernheap/patches.

Links and references