跳转到导航跳转以搜索Linux内核运行时Guard(LKRG)是由OpenWall开发的Linux内核的安全模块。最新版本增加了与Linux内核的兼容性,即将发布5.12,支持将LKRG构建到内核图像中,支持旧的32位X86机器等。加载LKRG 0.9.0模块将导致内核恐慌,如果启用SELinux,则会暂停。
Linux内核运行时Guard是您可以安装为内核模块的树内内核模块,或者使用0.9.0版本,构建到您的Linux内核中。它确实是运行时的完整性检查,以检测安全漏洞对阵Linux内核的漏洞。它有很多可配置的安全选项。例如,它可以防止加载附加内核模块(默认情况下启用此)。它支持各种安全性的四个不同的配置文件。
最新的0.9.0版本为Linux内核提供支持,包括下周Linux 5.12版本。还支持旧的稳定Linux内核。发行说明也被错误地声称此版本:
理论上,这可能是模糊的。如果您在默认情况下,您将很快找到它' s false是否实际上尝试klrg或默认启用SELinux的其他分发。
使用Selinux启用的任何机器上使用Modprobe -V P_LKRG加载LKRG P_LKRG模块将导致内核恐慌与此相当奇怪的消息:
"<爆炸检测>检测到Selinux的数据损坏! ' selinux_state->强制执行'具有不同的值[1 vs 0]比预期!
我们不知道为什么有人认为有人使用Selinux发行版,如Almalinux,Rhel,Fedora或Centos将是"预期的和#34;要使Selinux禁用,我们可以&#39开始幻影为什么有人认为有故意禁用Selinux的人甚至将远程对Linux内核运行时保护的东西感兴趣。
为什么KLRG会认为有人试图利用系统并强迫核心恐慌,如果SELinux也是一个非常好的问题。
0.9.0中最大的亮点是支持将LKRG建设到内核中。这可以使用脚本/ copy-builtin.sh中捆绑的脚本来完成。它假设您的内核源位于/ usr / src / linux中。将其添加到内核树枚举新的security_lkrg选项。如果您将其构建为内核树的一部分,您仍然可以选择使用security_lkrg = m构建它。
发布说明提到明确地不支持RT内核。它没有说明原因。 LKRG具有绩效罚款,完整性检查它没有免费。可能是作者认为,对实时核的性能影响太大。
在LKRG代码中正式的Ptrace和Execve挂钩已被Security_ptrace_access和security_bprm_commiting_creds替换,并验证了唤醒任务的验证。
开发人员注意到他们发现了不少于7个内核错误,因为其中它足够严重以获得CVE数字,在开发期间:
"在LKRG开发和测试期间,我发现了7个Linux内核错误,其中4个具有CVE号码(但是,1 CVE号码覆盖2个错误):
CVE-2020-27825 - Linux内核:在FTRACE环形缓冲器中无用,由于竞争状态,调整逻辑大小
CVE-2020-25220 - 用于CVE-2020-14356的Backported补丁中的Linux内核使用内部使用后(受影响的内核:4.9.233,4.14.x之前4.14.19)和4.19.x之前4.19.140之前)
CVE-2020-14356 - CGROUP BPF组件中的Linux内核使用余额(受影响的内核:自4.5 +高达5.7.10)"
开发人员的经历为我们提供了明显的印象,即如果您整天都在尝试打破内核安全性,LKRG将有助于帮助。它似乎还有可能有助于随机漏洞利用和漏洞。
我们实际上没有测试它实际上有效,如果您尝试所有时间尝试找到并利用内核漏洞或在真实的生产环境中有多良好。我们可以肯定会说它在任何现实世界部署中都在赢得'如果LKRG将触发elnel恐慌,则在启用SELinux安全性时,它将在任何现实世界部署中都有工作。单独的是,它有点可疑是如何有用的,它在SecurityLab设置之外的任何地方。
LKRG模块将挂钩进入各种内核系统。没有某种绩效惩罚,很难做实际的完整性检查。与我们的期望相比,LKRG 0.9.0令人震惊的重量轻。
在Intel I7-5500U测试机上使用LKRG,内核编译需要27秒,并在RYZEN 2600上延长1秒钟。
Linux内核运行时Guard v0.9.0似乎对图形性能产生了任何显着影响。当然,可能对数据库服务器,Web服务器和其他应用程序等特定工作负载的影响更大的性能影响。我们可以说的是,在我们所做的几次测试中,我们没有看到任何巨大的表现罚款,或任何外部或正常运行变化。
LKRG主页,带有下载链接的源代码,是https://www.openwall.com/lkrg/。 完整的0.9.0释放公告可以在https://www.openwall.com/lists/announce/2021/04/12/1读取。 您还需要在LKRG-0.9.0.tar.gz中读取冗长的自述文件,因为您需要在部署之前要注意的配置选项。 Linuxreviews欢迎所有评论。 如果您不想成为匿名,注册或登录。它是免费的。