攻击者可提前检测到 Linux 内核的补丁并开发 exploit
聚焦源代码安全,网罗国内外最新资讯!
编译:奇安信代码卫士团队
宝马、西门子和两所德国大学的研究人员发现,他们可以在Linux 内核修复方案发布之前检测到这些方案,而这些信息可导致攻击者开发并部署exploit代码。
另外,研究人员发现维护人员会定期绕过公开审计和讨论添加 Linux 内核补丁,这一行为至少在理论上存在后门代码的风险。
研究人员发布论文《沉默的声音:从开源项目机密集成渠道中挖掘安全漏洞》,说明了如何通过数据挖掘,利用开源漏洞的披露流程发动侧信道攻击。
他们说明了解决 L1TF漏洞的过程。该漏洞可被用于发动侧信道推断性执行攻击,可导致攻击者从基于 Intel 的服务器的虚拟机中获取数据。论文指出,“和普通的补丁不同,这些补丁并未提前通过Linux的公开沟通渠道(如邮件列表)进行讨论和开发。然而,补丁并未公开讨论也无济于事:我们将说明如何在补丁进入公共库之后立即检测到它们。”
L1TF 缺陷的CVE条目在2017年12月提交,但直到2018年8月14日才披露。Debian 9.2在披露五天后才发布补丁。因此提前知道该缺陷的攻击者有数月的时间设计并部署 exploit 代码。
合理性
The Register 媒体曾在2018年2月发现Linux 和 Windows 在漏洞计划披露日期之前修复 Spectre 和 Meltdown 处理器漏洞,这些研究人员所做的事情和 The Register并没有太多不同。The Register 通过从网络聊天和不含细节的补丁讨论中发现漏洞修复行为,而这次研究人员展示的是,对 Linux 公开邮件列表信息和代码 commit开展系统数据挖掘可能是获取未披露缺陷信息更为有效的方法。
从本质上来讲,Linux内核代码提交和邮件列表公开讨论之间的差别指向在发布之前,敏感代码补丁所揭示出的安全问题。研究人员在 Linux 5.4(官方在2019年11月24日发布)发布的7个月之前就应用了这种技术。论文指出,“我们发现了解决12个漏洞的29个 commit。我们的方法争取到2到179天的时间优势,在漏洞公开披露和修复方案发布之前,我们可以设计 exploit。”
论文作者联系 commit 的作者,证实了这些变化是为了解决未披露的缺陷。研究人员还发现了针对“基于 ARM64 的 Cavium 系统的拒绝服务 exploit”的补丁。将这个补丁集成到 Ubuntu Bionic 花了两个月的时间,而 Debian Buster 和2.19 Linux LTS 树中仍未修复这个缺陷。
提交 commit 的问题
研究人员还探讨了另外一个潜在问题:在未进行审计或公开讨论的情况下提交代码 commit。他们指出,Linus Torvalds 在2019年5月至12月期间提交了40个此类 commit,但不具有任何安全含义。其他受信任的维护人员的做法类似,主要是些无关紧要的样式修复。尽管如此,不受信任的代码可能会通过此流程间隙进入 Linux 内核的可能性令研究人员担心。
研究人员指出,“这类渠道的存在表明,可信任的个体能够轻易渗透到该项目中并秘密地引入恶意工件。这类 commit 的存在和开源开发模型的一个关键前提背道而驰。”
Linux 基金会尚未置评。
研究人员在论文中表示,Linux 内核社区已经意识到这个问题但尚未决定如何处理。他们还发现,虽然研究人员的分析主要着眼于Linux内核开发,但其技术适用于其它系统级别的开源项目如 GCC、QEMU、U-Boot、LLVM、busybox 等。
更多详情请见:https://arxiv.org/pdf/2009.01694.pdf
推荐阅读
Pwn2Own 2020 曝出的Linux 内核漏洞已修复
谷歌喊话三星:别再搞 Linux 内核代码了,安卓安全也不保了
原文链接
https://www.theregister.com/2020/09/04/linux_kernel_flaws/
题图:Pixabay License
本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 www.codesafe.cn”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的
产品线。
觉得不错,就点个 “在看” 吧~
攻击者可提前检测到 Linux 内核的补丁并开发 exploit相关推荐
- Linux内核热补丁方案对比
Linux内核热补丁方案对比 荣涛 2021年10月13日 1. Linux 内核热补丁 1.1. linux 内核热补丁技术背景 1.1.1. update和upgrade的区别 1.1.1.1. ...
- 在linux基础上开发内核,科学院在Linux内核基础上,开发出中文操作系统是()。A.中科LinuxB.熊猫LinuxC.红旗Linux...
科学院在Linux内核基础上,开发出中文操作系统是().A.中科LinuxB.熊猫LinuxC.红旗Linux 更多相关问题 肉芽组织在光镜下主要由什么成份构成?A.炎症细胞及成纤维细胞B.成纤维细胞 ...
- 怎样为Linux内核打补丁
-------------------- 作者 :Jesper Juhl,2005年8月 ...
- 怎样为Linux内核打补丁(中文版)
文章来源:http://www.diybl.com/course/6_system/linux/Linuxjs/2008826/137710.html 在Linux内核邮件列表中一个经常被问到的问题就 ...
- Linux内核省电社区,Linux 内核社区补丁对比
Linux 内核主线总体而言兼具了性能.稳定和安全于一身,不过总有些 Geek 不满足主线中的种种限制,使用各自社区的补丁为它添砖加瓦. 概述 pf内核,这算是一个非常为人熟知的内核.包含了ck补丁( ...
- linux 开发组织模式,Linux内核发布模式与开发组织模式(1)
Linux内核社区经历20多年的发展,逐渐形成了一套完善的开发模式.作为想要加入社区进行开发的人来说,当然必须熟悉下这套模式啦,其中最重要的两点是: 内核发布模式 内核开发组织模式 本文将对第一点进行 ...
- linux内核epub,Android底层开发技术实战详解——内核、移植和驱动(第2版)[EPUB][MOBI][AZW3][42.33MB]...
内容简介 本书从底层原理开始讲起,结合真实的案例向读者详细介绍了Android内核.移植和驱动开发的整个流程.全书分为21章,依次讲解驱动移植的必要性, Goldfish.OMAP内核和驱动解析,显示 ...
- linux内核剪裁 4412,itop4412开发板-Linux内核的编译
本篇文章基于itop4412开发板 5.3.2.1源码目录 Linux 内核源码在光盘"06_源码_uboot 和 kernel"目录下,如下图所示. 5.3.2.2 编译器 内核 ...
- zedboard linux内核下载,zedboard学习-为Linux内核打补丁
编译Linux内核源代码时碰到的一个问题 问题:补丁0001-Xilinx-ARM-Kernel-32MB-RAM-disk-on-ZedBoard.patch打不上 首先说明一下为什么要打这个补丁, ...
最新文章
- 职场减压妙计:主动降职
- C++开发中类的定制
- oracle分区交换有啥好处,分区交换的速度为什么快?
- 【Altium Designer】DatabaseLib的使用方法
- Sql中存储过程的定义、修改和删除操作
- 将 Fortinet 连接到
- Eclipse断点调试出现Source not found
- 服务器上的Linux中Tomcat有时会挂掉的问题及方法
- 十二. python面向对象主动调用其他类
- linux下配置mysql默认编码utf8
- C# 类与对象(面向对象的编程)
- PYTHON_错误处理
- 第三组视频:基于OCFS2的双主DRBD
- ddm模型公式_股利增长模型计算公式
- Android之Dex动态加载机制解析
- 基于CANdelaStudio制作CDD流程概述
- 游戏主机转换器方案可适配土星/MD1/MD2/NGC/N64/SFC/SNES等主机
- halcon程序安装破解与VC6.0结合
- 如何查看Isilon节点的硬件信息?
- 华视100UC 身份证阅读器 Java
热门文章
- margin-top/bottom(padding-top/bottom)百分比以祖级宽度计算
- 数据库递归查询(CET)
- 结构型模式概述(Structural Pattern)
- 中小企业上云如何选择及操作
- java中子类实例化过程中的内存分配
- 对pushState、replaceState和onpopstate一点使用
- TransactionScope 事务使用说明
- python输出一行10个_python 如何将一系列数字十个一行输出【】
- python画饼图存在的问题_python_使用matplotlib画饼状图(pie)
- Android编程之SparseArrayE详解 Android编程之SparseArrayE详解