阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

精准检测Linux内核漏洞介绍

27次阅读
没有评论

共计 1709 个字符,预计需要花费 5 分钟才能阅读完成。

导读 通常引用开源软件的模式是引入开源软件的动态库或 jar 包,因此在漏洞检测时漏洞误报率会非常的低,但对在 Linux 内核却有所不同,由于 Linux 内核功能模块非常的丰富和庞大,实际使用时会根据业务需求进行相应的裁剪,因此如何在该场景下实现漏洞的精准检测,降低漏洞检测的误报率就尤为突出。
Linux 内核结构:

Linux 内核由七个部分构成,每个不同的部分又有多个内核模块组成,结构框图如下:

精准检测 Linux 内核漏洞介绍

Linux 裁剪场景分析:

通过分析 Linux 内核源代码可以看到不同目录中存放着不同模块的实现代码,同时在编译时可以 config 中配置的信息来控制哪些模块编译到最终的二进制中,哪些模块被裁剪掉,比如以 IPV6 模块为例,控制该模块的配置名称为 CONFIG_IPV6,如果该配置项为设置为 y,则表示该功能模块未被编译到最终的二进制文件中,如下所示:

精准检测 Linux 内核漏洞介绍

如果该功能模块被裁剪了,即使该漏洞没有被补丁修复,那么该功能模块中存在的漏洞在二进制中也是不受影响的,因此和 IPV6 相关的漏洞在漏洞检测时就应该在报告中明显的标识出不受该漏洞的影响,如 CVE-2013-0343(Linux kernel 3.8 之前版本内的 net/ipv6/addrconf.c 中的函数 ipv6_create_tempaddr 没有正确处理 IPv6 临时地址生成问题,可允许远程攻击者通过 ICMPv6 Router Advertisement (RA) 消息,造成拒绝服务,然后获取敏感信息。)。

业界二进制 SCA 工具不能检测的原因分析:

为什么目前业界通常的二进制 SCA 工具无法做到精准检测,原因是因为业界二进制 SCA 工具是基于检测到的开源软件名称和版本号来关联出已知漏洞清单的,而这种通过裁剪功能模块的方法来应用 Linux 内核,开源软件名称和版本号是不会改变的,因此工具就无法精准的检测出来了。

二进制 SCA 工具如何实现该功能:

要实现 Linux 内核裁剪场景下的已知漏洞精准检测,二进制 SCA 工具必须在原来检测开源软件名称和版本号的基础上,需要实现更新细颗粒度的检测技术,基于源代码文件颗粒度、函数颗粒度的检测能力,从而实现裁剪场景下已知漏洞的精准检测,即可以知道哪些代码被编译到最终的二进制文件中,哪些代码没有参与编译。同时漏洞库也必须实现对细颗粒维度的支持,即漏洞信息必须精准定位是由哪些文件和函数中的代码片段引入的。
以 CVE-2013-0343 为例,通过分析漏洞描述信息和 Linux 内核源代码,可以获取到该漏洞和下面这些位置代码相关的定位信息:

"CVE-2013-0343": {
"net/ipv6/addrconf.c": [“addrconf_add_ifaddr”,“addrconf_dad_begin”,“addrconf_dad_stop”,“addrconf_dad_work”,“addrconf_del_ifaddr”,“addrconf_prefix_rcv”,“addrconf_verify_rtnl”,“addrconf_verify_work”,“inet6_addr_add”,“inet6_addr_del”,“inet6_addr_modify”,“inet6_rtm_deladdr”,“inet6_rtm_newaddr”,“inet6_set_iftoken”,“inet6_set_link_af”,“ipv6_create_tempaddr”,“manage_tempaddrs”]
}
总结

基于如果引入漏洞的源代码没有参与编译出二进制,那么编译出来的二进制也就是不存在该漏洞的原理;因此只要二进制 SCA 工具能检测出上述位置的源代码没有参与编译出最终的 vmlinux 二进制文件,那么此 vmlinux 文件就不受 CVE-2013-0343 漏洞的影响。

二进制 SCA 工具要想更好的辅助安全人员实现安全审计、降低漏洞检测的误报率,必须向更细颗粒度的检测维度发展,而不仅仅停留在开源软件的层面,同时对漏洞库的要求也需要向细颗粒度的精准信息提出的挑战。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计1709字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中