聚焦源代码安全,网罗国内外最新资讯!

编译:奇安信代码卫士团队

宝马、西门子和两所德国大学的研究人员发现,他们可以在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相关推荐

  1. Linux内核热补丁方案对比

    Linux内核热补丁方案对比 荣涛 2021年10月13日 1. Linux 内核热补丁 1.1. linux 内核热补丁技术背景 1.1.1. update和upgrade的区别 1.1.1.1. ...

  2. 在linux基础上开发内核,科学院在Linux内核基础上,开发出中文操作系统是()。A.中科LinuxB.熊猫LinuxC.红旗Linux...

    科学院在Linux内核基础上,开发出中文操作系统是().A.中科LinuxB.熊猫LinuxC.红旗Linux 更多相关问题 肉芽组织在光镜下主要由什么成份构成?A.炎症细胞及成纤维细胞B.成纤维细胞 ...

  3. 怎样为Linux内核打补丁

    --------------------                        作者           :Jesper Juhl,2005年8月                        ...

  4. 怎样为Linux内核打补丁(中文版)

    文章来源:http://www.diybl.com/course/6_system/linux/Linuxjs/2008826/137710.html 在Linux内核邮件列表中一个经常被问到的问题就 ...

  5. Linux内核省电社区,Linux 内核社区补丁对比

    Linux 内核主线总体而言兼具了性能.稳定和安全于一身,不过总有些 Geek 不满足主线中的种种限制,使用各自社区的补丁为它添砖加瓦. 概述 pf内核,这算是一个非常为人熟知的内核.包含了ck补丁( ...

  6. linux 开发组织模式,Linux内核发布模式与开发组织模式(1)

    Linux内核社区经历20多年的发展,逐渐形成了一套完善的开发模式.作为想要加入社区进行开发的人来说,当然必须熟悉下这套模式啦,其中最重要的两点是: 内核发布模式 内核开发组织模式 本文将对第一点进行 ...

  7. linux内核epub,Android底层开发技术实战详解——内核、移植和驱动(第2版)[EPUB][MOBI][AZW3][42.33MB]...

    内容简介 本书从底层原理开始讲起,结合真实的案例向读者详细介绍了Android内核.移植和驱动开发的整个流程.全书分为21章,依次讲解驱动移植的必要性, Goldfish.OMAP内核和驱动解析,显示 ...

  8. linux内核剪裁 4412,itop4412开发板-Linux内核的编译

    本篇文章基于itop4412开发板 5.3.2.1源码目录 Linux 内核源码在光盘"06_源码_uboot 和 kernel"目录下,如下图所示. 5.3.2.2 编译器 内核 ...

  9. zedboard linux内核下载,zedboard学习-为Linux内核打补丁

    编译Linux内核源代码时碰到的一个问题 问题:补丁0001-Xilinx-ARM-Kernel-32MB-RAM-disk-on-ZedBoard.patch打不上 首先说明一下为什么要打这个补丁, ...

最新文章

  1. 职场减压妙计:主动降职
  2. C++开发中类的定制
  3. oracle分区交换有啥好处,分区交换的速度为什么快?
  4. 【Altium Designer】DatabaseLib的使用方法
  5. Sql中存储过程的定义、修改和删除操作
  6. 将 Fortinet 连接到
  7. Eclipse断点调试出现Source not found
  8. 服务器上的Linux中Tomcat有时会挂掉的问题及方法
  9. 十二. python面向对象主动调用其他类
  10. linux下配置mysql默认编码utf8
  11. C# 类与对象(面向对象的编程)
  12. PYTHON_错误处理
  13. 第三组视频:基于OCFS2的双主DRBD
  14. ddm模型公式_股利增长模型计算公式
  15. Android之Dex动态加载机制解析
  16. 基于CANdelaStudio制作CDD流程概述
  17. 游戏主机转换器方案可适配土星/MD1/MD2/NGC/N64/SFC/SNES等主机
  18. halcon程序安装破解与VC6.0结合
  19. 如何查看Isilon节点的硬件信息?
  20. 华视100UC 身份证阅读器 Java

热门文章

  1. margin-top/bottom(padding-top/bottom)百分比以祖级宽度计算
  2. 数据库递归查询(CET)
  3. 结构型模式概述(Structural Pattern)
  4. 中小企业上云如何选择及操作
  5. java中子类实例化过程中的内存分配
  6. 对pushState、replaceState和onpopstate一点使用
  7. TransactionScope 事务使用说明
  8. python输出一行10个_python 如何将一系列数字十个一行输出【】
  9. python画饼图存在的问题_python_使用matplotlib画饼状图(pie)
  10. Android编程之SparseArrayE详解 Android编程之SparseArrayE详解