nccgroup/exploit_mitigations
GitHub: nccgroup/exploit_mitigations
跨多种操作系统、应用、库和硬件平台的漏洞利用缓解措施知识库,记录各项防护机制的引入版本与演进时间线,帮助安全研究者判断特定环境下漏洞的可利用性。
Stars: 926 | Forks: 99
# 漏洞利用缓解措施
本项目的目标是列出在各种操作系统、软件、库或硬件中随着时间的推移而添加的漏洞利用缓解措施。
根据现有的漏洞利用缓解措施,了解特定漏洞是否容易被利用会变得非常方便。
例如下图:

# 目录
* [支持的目标](#supported-targets)
* [动机](#motivations)
* [我当前的环境是否有缓解措施 X?](#does-my-current-environment-have-mitigation-x)
* [总结](#final-words)
# 支持的目标
我们目前支持以下操作系统:
* [Microsoft Windows](windows_mitigations.md)
* [Linux](linux_mitigations.md)
* [Google Android](android_mitigations.md)
* [Apple iPhone OS (iOS)](iphone_mitigations.md)
* [OpenBSD](openbsd_mitigations.md)
* [FreeBSD](freebsd_mitigations.md)
* [Oracle Solaris](solaris_mitigations.md)
以及以下软件:
* [Mozilla Firefox](firefox_mitigations.md)
* [Microsoft Edge](edge_mitigations.md)
* [Google Chrome](chrome_mitigations.md)
* [Microsoft Office](office_mitigations.md)
以及以下库:
* [glibc](glibc_mitigations.md)
* [Microsoft .NET Framework](dotnet_mitigations.md)
以及以下硬件:
* [ARM](arm_mitigations.md)
# 动机
要追踪某些缓解措施是何时在更新中添加和/或反向移植到各种软硬件的旧版本中,已经变得具有挑战性。
有时,由于缓解措施的变化,在线内容会变得过时,并且很难跟上步伐。此外,如果你不经常使用特定的软件/硬件,很容易在短时间内遗忘。
我们一直通过在汇总表中记录所有缓解措施的名称并链接到在线参考资料以获取相关技术信息,来填补这一空白。
事实证明,这些共享信息多年来对漏洞利用开发者非常有用。
# 我当前的环境是否有缓解措施 X?
这是任何漏洞利用开发者在尝试为特定目标开发漏洞利用时可能遇到的一个常见问题。
例如,假设你想利用 Windows 7 x64 上的一个 Windows 内核驱动程序,该驱动程序包含一个内核空指针解引用 bug。它可利用吗?
查看我们的表格,我们了解到“NULL 页缓解”是在“Windows 8 32位/64位中引入的,并反向移植到了 Vista+ 64位”。现在我们知道这取决于我们的目标 Windows 7 x64 是否为最新版本,更准确地说,我们可以集中精力找出哪个 KB 引入了此缓解措施,并根据该 KB 检查我们的目标!
# 总结
我们接受 pull request,所以请随时提交 :)
我们的私有 pipeline 中也有其他目标,如果你对其他特定目标感兴趣,请联系我们 :)
标签:Go语言工具, Ruby, Web报告查看器, 底层安全, 操作系统, 漏洞缓解机制, 知识库, 网络安全研究, 防御加固