Safelog4j 是一个基于仪器的安全工具,帮助团队发现、验证和解决 log4shell 漏洞,而无需扫描或升级。
Safelog4j 不依赖于版本号或文件名。相反,它检测应用程序以查找 log4j 并执行内部测试以证明该应用程序是可利用的(检查)。Safelog4j 还使用检测来禁用攻击(块)使用的 JNDI 查找代码。这是接种其他易受攻击的应用程序或 API 的最有效方法。
Safelog4j 提供了针对单个漏洞的 IAST 和 RASP 功能:log4shell。IAST 验证漏洞是否存在并且实际上可以被利用。RASP 防止它被利用。IAST 和 RASP 可用于广泛的漏洞和攻击。
- log4j 可以被埋在一个 fat jar、war 或者 ear 里
- log4j 可以在隐藏在另一个 jar 中
- log4j 可以包含在应用程序服务器中,而不是代码存储库中
- log4j 可以是动态加载的代码或插件的一部分
- log4j 可以是多个不同版本,在单个应用程序中具有不同的类加载器
- 可以使用 slf4j 或其他层来屏蔽 log4j
- 可以重命名、重新编译或以其他方式更改 log4j
Safelog4j Options
-
CHECK 意味着safelog4j 将实际测试log4shell 的每个log4j 实例。这是通过生成合成日志消息和传感器以在 log4j 中易受攻击的 JndiLookup 类中检测它来完成的。如果应用程序曾经记录不受信任的数据(HTTP 标头、cookie、参数、表单字段、多部分或任何其他不受信任的数据源),这是铁的证据。
-
BLOCK 意味着 safelog4j 将删除易受攻击的 log4j JndiLookup 类中的所有方法。这是确保无法利用 log4j 的推荐方法。除了完全防止这种攻击之外,它是无害的。
-
BOTH 只是意味着 CHECK 和 BLOCK 都会发生。
-
NONE 禁用 CHECK 和 BLOCK,允许你将代理保持在原位但完全禁用。