nccgroup / exploit_mitigations

Knowledge base of exploit mitigations available across numerous operating systems, architectures and applications and versions.
https://research.nccgroup.com/2021/06/28/exploit-mitigations-keeping-up-with-evolving-and-complex-software-hardware/
MIT License
873 stars 100 forks source link

Exploitation Mitigations

The goal is to list exploitation mitigations added over time in various operating systems, software, libraries or hardware. It becomes handy to know if a given vulnerability is easily exploitable or not depending on exploitation mitigations in place.

An example is the following:


Table of contents

Supported targets

We currently support the following operating systems:

and the following software:

and the following libraries:

and the following hardware:

Motivations

It has become challenging to follow when certain mitigations are added in an update and/or backported to some older versions of various software and hardware.

Sometimes, online content becomes deprecated due to mitigation changes and it can be hard to keep up. Also, it is easy to forget after a short time if you don't work on a specific software/hardware.

We have been filling this gap by tracking all the mitigations in summary tables that hold the mitigations names and linking to online references to get technical information about them.

The shared information has demonstrated to be useful for several years to exploit developers.

Does my current environment have mitigation X?

This is a common question any exploit developer may have when trying to develop an exploit for a given target.

E.g. let's say you want to exploit a Windows kernel driver on Windows 7 x64 containing a kernel NULL pointer dereference bug. Is it exploitable?

Checking our table, we read the "NULL page mitigation" was introduced in "Windows 8 32-bit/64-bit and backported to Vista+ 64-bit". Now we know it depends if our target Windows 7 x64 is up-to-date or not, more precisely, we can focus on figuring out which KB introduces this mitigation and check our target against that KB!

Final words

We do accept pull requests so feel free to do so :)

We do have other targets in our private pipeline too so reach out if you are interested in another particular one :)