我们已经准备好了,你呢?

2025我们与您携手共赢,为您的企业形象保驾护航!

简介

新发现的“老洞”

当您随意浏览Linux内核的源代码时,是否有过突然冒出“等一下,这里好像不太对劲”的想法呢?当我们在Linux内核的一个被遗忘的角落里发现了三个安全漏洞时,就出现过这种情况,并且,新发现的这些漏洞已经潜伏了15年左右了。与我们发现的大多数积满灰尘的东西不同,这些漏洞仍然具有很高的实用价值,其中一个漏洞可以用来在多个Linux环境中实现本地提权(LPE)。

关于SCSI

本文中涉及的子系统为SCSI(Small Computer System Interface,小型计算机系统接口)数据传输系统,它是为连接计算机与外围设备而制定的数据传输标准。SCSI是一个古老的标准,初发布于1986年,并且是服务器设置的标准,而iSCSI基本上就是基于TCP的SCSI。实际上,SCSI至今仍在使用,特别是当我们要与某些存储设备打交道的时候,但是,它是如何成为默认Linux系统上的攻击面的呢?

通过广泛的包依赖关系,rdma-core软件包终被安装到了所有包含GUI的RHEL或CentOS基础环境(工作站、带GUI的服务器和虚拟化主机),以及Fedora工作站中。此外,rdma-core软件包也可以安装到其他Linux发行版上,包括Ubuntu和Debian,因为它是许多其他软件包的依赖项之一(见图1)。在Ubuntu Server 18.04 LTS和更早的版本上,rdma-core是默认安装的软件包。

1617678539462280.png

在默认安装的RHEL 8.3系统中,依赖rdma-core包的软件清单

RDMA(Remote Direct Memory Access,远程直接内存访问)是一种高吞吐量、低延迟的网络技术,其在数据传输和存储方面的应用非常广泛。当然,RDMA的实现方案有多个,但本文中讨论的是Infiniband,它位于ib_iser内核模块中。

读到这里,您可能会想:“等等,如果不使用SCSI或iSCSI,这一切是否还能自动启动和运行的吗?”,那很好,因为这个问题会把我们引向按需内核模块加载的概念,这也是一个存在已久的攻击载体。

自动模块加载

如果特定代码注意到需要某些功能并可以加载相关的模块(例如对不常见的协议系列的支持),则Linux内核可以按需加载内核模块,这样做的好处是,不仅可以提供更多的功能,还能提高兼容性。凡事有利即有弊,它同时也为本地攻击者打开了一扇窗户——因为它允许无特权用户加载某些内核模块,然后他们就可以利用这些模块了。实际上,十多年前人们就认识到了这一点,例如早在2009年,grsecurity就引入了GRKERNSEC_MODHARDEN,以防御这种攻击。2010年,Jon Oberheide以诙谐的方式命名的public exploit,让人们更加清楚地认识到个问题的严重性,不过,Dan Rosenberg在2010年提供的实现sysctl选项的补丁并没有被采纳。在过去的几年里,还陆续出现了其他的缓解措施,但不同的Linux发行版对这些措施的支持也是一言难尽。

所以,您是想说这个漏洞仍在作祟么?

拥有源代码的一个好处是,只要扫一眼,某些东西可能会映入您的眼帘,并激发您的兴趣,让您想要抓住它们。我们发现的个漏洞就是这种情况。当我们看到一个sprintf函数时,首先想到的就是没有规定长度的缓冲区副本,这意味着如果它是攻击者控制的数据并且没有进行长度验证(参见图2),很可能就会出现漏洞。因此,虽然有相当多的间接寻址和宏,而且您必须跳过许多文件来跟随执行线程,但主要的问题往往只是一个简单的缓冲区溢出,因为这里使用了sprintf。正如其他漏洞所显示的那样,开发人员往往缺乏安全意识的编程实践;从这里的问题也可以看出,这种现象是普遍存在的。

1617678540813514.png

溢出,无处不在的溢出

第二个漏洞的情况也是类似的:使用内核地址作为句柄。很明显,之所以出现这种漏洞,是没有努力防止内核泄露指针所致;利用该漏洞,攻击者可以轻松绕过内核地址空间布局随机化(KASLR),因为它指向一个含有许多指针的结构体。而后一个漏洞,则是未验证来自用户态的数据所致,这是一个典型的内核编程问题。

识别漏洞

Linux内核堆缓冲区溢出

·

我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线: 18834196600,我们会详细为你一一解答你心中的疑难。项目经理在线

我们已经准备好了,你呢?

2025我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

18834196600

上班时间

周一到周五

公司电话

15035183610

二维码
线
在线留言