Linux Kernel Pwn_1_Double fetch

Doublefetch 是 Linux 内核漏洞利用中常见的一种漏洞类型。
它假设内核代码多次获取用户空间数据,并且在这两次获取之间,用户空间数据可能被恶意修改,从而导致内核状态不一致或安全漏洞。
下面对Doublefetch漏洞进行详细分析: 1 、Doublefetch漏洞的原理。
定义:当内核代码需要从用户空间检索数据,并且在处理该数据时,内核代码多次读取同一用户空间地址的内容时,就会出现 Doublefetch 漏洞。
如果用户空间恶意软件能够在这两次读取之间更改此数据,则可能会导致内核代码在不一致的数据上运行,从而导致安全问题。
一个典型的场景是,在处理系统调用时,内核可能需要从用户空间检索多个参数或数据结构。
如果内核代码在检查此数据后再次读取该数据而没有再次检查,则可能存在 Doublefetch 漏洞。
2 、Doublefetch漏洞的利用。
检测漏洞。
通过逆向工程或模糊测试等技术,发现内核代码中存在Doublefetch模式。
创建恶意数据。
根据漏洞特征,创建可在两个样本之间更改的用户空间数据。
触发漏洞:恶意数据通过系统调用或其他接口传递到内核,并在内核代码进行第二次获取之前修改数据。
利用后果:这可能会导致安全隐患,例如内核崩溃、信息泄漏和权限升级。
3 . 防范双重获取漏洞: 减少获取次数: 尽量减少内核代码对用户空间数据的重复获取。
如果需要执行多个数据收集,请确保每个数据之间都经过验证数据收集。
使用原子操作。
对于需要多次读取的数据,可以考虑使用原子操作或者锁定机制来保证数据的一致性。
加强输入验证:在内核代码中,对从用户空间接收到的数据进行严格检查,保证数据的有效性和一致性。
加强内核安全。
通过内核配置选项、安全补丁等提高内核安全性并减少 Doublefetch 等漏洞的发生。
4 . 样品分析。
我们以某个 Linux 内核模块中的 Doublefetch 漏洞为例。
该漏洞发生在处理网络数据包时。
内核代码不会重新检查两次读取之间的网络数据包头信息,这使得攻击者可以更改两次读取之间的数据包头信息,从而导致安全问题。
通过构造某些网络数据包,攻击者可以触发此漏洞并实现拒绝服务攻击或更严重的攻击。
5 . 总结 Doublefetch 是Linux 内核中常见的一种安全漏洞。
它涉及内核代码对用户空间数据的多次获取和可能不一致的处理。
为了防范此类漏洞,必须减少样本数量、使用原子操作、加强输入验证、实施内核强化等措施。
同时,了解Doublefetch漏洞的利用原理和方法对于内核开发人员和安全研究人员来说也非常重要。

Linux 系统与服务管理工具 Systemd 被曝存在 3 大漏洞

Linux系统及服务管理工具Systemd三大漏洞分析。
Systemd 是 Linux 系统的基本构建块。
它负责管理系统和服务。
它以 PID1 运行并启动系统的其他部分。
目前,大多数Linux发行版都安装systemd来替代原来的systemd。
然而,安全公司 Qualys 最近报告称,Systemd 中发现了三个安全漏洞。
这些漏洞已经存在多年,对Linux系统安全构成严重威胁。
1 . 漏洞概述 CVE(常见漏洞及暴露)数据库中存在这三个漏洞,分别是: 内存损坏漏洞:CVE-2 01 8 -1 6 8 6 4 和 CVE-2 01 8 -1 6 8 6 5 信息泄露漏洞:CVE-2 01 8 -1 6 8 6 6 2 . 漏洞详情 CVE-2 01 8 -1 6 8 6 4 引入时间:2 01 3 年 4 月(systemdv2 03 )(系统dv2 03 ):有用写入时间:2 01 6 年2 月(system dv2 03 )(有用写入时间:2 01 8 年2 月-1 6 8 6 6 (ProofofConcept,概念证明)在i3 8 6 架构中可以获得eip(指令指针),这会导致内存损坏或任意代码执行。
CVE-2 01 8 -1 6 8 6 5 引入时间:2 01 1 年1 2 月(systemdv3 8 )利用时间:2 01 3 年4 月(systemdv2 01 ) 漏洞:研究人员还编写了导致该漏洞的PoC,结果显示在amd6 4 架构上获取本地root需要7 0分钟,而在i3 8 6 架构上仅需要1 0分钟,这表明该漏洞可导致权限传播攻击。
引入时间:2 01 5 年6 月(systemdv2 2 1 )修复。
时间:2 01 8 年8 月(超出特定) 漏洞影响:这是一个数据泄露漏洞,可以向攻击者传播敏感数据,但是由于该漏洞在2 01 8 年8 月被无意中修复,因此其范围可能相对较小,使用Systemd的Linux发行版都存在这些漏洞,并且容易受到攻击。
但是,在某些Linux发行版中,这些漏洞无法被利用,例如SUSE Linux Enterprise 1 5 .0、Fedora 2 8 和2 9 等发行版。
可以防止堆栈攻击,因为它们的用户空间是使用 GCC 保护选项进行编译的 -fstack-guard 用于防止堆栈攻击。
使用此选项,编译器将一次定位一页并在分配后立即访问每个页面。
Linux 系统管理员和发行版应采取以下措施来提高系统的安全性: 尽快更新到修复该漏洞的 Systemd 版本以提高系统的安全性。
安全方面,Qualys已表示将在未来发布该漏洞,系统安全不受影响。
综上所述,Systemd中的这三个漏洞对Linux系统安全构成了严重威胁。