November 4, 2021

361 words 2 mins read



Linux Kernel Defence Map shows the relationships between vulnerability classes, exploitation techniques, bug detection mechanisms, and defence technologies

repo name a13xp0p0v/linux-kernel-defence-map
repo link
size (curr.) 9497 kB
stars (curr.) 1306
created 2018-04-04
license GNU General Public License v3.0

Linux Kernel Defence Map


Linux kernel security is a very complex topic. Some defence technologies are provided by the Linux kernel mainline. Others are going out‑of‑tree for various reasons (some of them are commercial, for example). Plus there are kernel defences that depend on special hardware features.

It would be nice to have a graphical representation of the current state of Linux kernel security.

So I’ve created a Linux Kernel Defence Map showing the relationships between:

  • Vulnerability classes
  • Exploitation techniques
  • Bug detection mechanisms
  • Defence technologies

N.B. The node connections don’t mean “full mitigation.” Rather, each connection represents some kind of relationship. So this map should help to navigate the documentation and Linux kernel sources. It also provides the Common Weakness Enumeration (CWE) numbers for vulnerability classes.

How this Map is made

This map is written in the DOT language, which makes maintenance and updating in Git very convenient. The diagram is generated using GraphViz with the following command:

dot -Tsvg -o linux-kernel-defence-map.svg

Do you want to check your kernel config?

So there are plenty of security hardening options in the Linux kernel. A lot of them are not enabled by the major distros. We have to enable these options ourselves to make our systems more secure.

But nobody likes verifying configs manually. So I’ve created the kconfig-hardened-check that checks security hardening options of the Linux kernel. You are welcome to try it.


Map for Linux kernel v5.13

Linux Kernel Defence Map

comments powered by Disqus