Linux Kernel Live Patching

❊ History of Linux Kernel Live Patching

安装最新的Linux内核用于表示重启,直到开发“无重启内核更新”,这是一种在不重新启动服务器的情况下修补服务器的方法。现在这项技术刚刚超过10年,本文简要介绍了它的起源和现状。

❊ 2001–2010: The Patent Trail(专利追溯)

如果您使用热修补或实时系统更新等关键字浏览专利档案,您将挖掘许多应用程序和拒绝,表明更新计算机系统而不停止它的想法并不是什么新鲜事。追踪从一般到具体的重要日期如下:

  • 2001年:惠普公司申请了一种动态更新软件以避免丢失硬件功能的方法。
  • 2002年:微软加入游戏的方法是在不中断系统的情况下更新系统(Windows)。(他们的初始申请因HP的“现有技术”而被驳回。)
  • 2008年:Jeff Arnold 宣布推出 Ksplice软件,用于更新(修补)Linux内核而不会中断(即无需重启1)。
  • 2010年:微软的专利最终获准上诉。

关于这些的有趣之处在于,他们共同希望通过软件更新来纠正系统核心软件或硬件中的故障,而不会影响系统的持续运行并且不会改变硬件。听起来很熟悉?(线索:熔化,幽灵。)

❊ 2009年:重新启动的诞生

杰夫阿诺德是一名麻省理工学院的学生,正在照看他们的一台服务器2。它需要一个安全补丁,但他推迟了它,因为重新启动会给他的用户带来不便。在系统更新之前,它被黑了。耻辱和(具有讽刺意味的)不便使杰夫在没有延迟而不重新启动系统更新的问题上找到了他的硕士论文的主题。这个故事可能是杜撰的,但它提醒我们,现场补丁技术的出现不仅仅是为了方便而是为了安全,它应该受到赞赏。

Jeff Arnold与三名学生同事一起研究了如何更新Linux服务器内核的问题,没有延迟,也没有中断系统的进程。该解决方案采用名为Ksplice的软件形式,其技术基础在2009年的学术论文中提出。该文章的标题包括“重新启动”这个词,现在熟悉的“不间断更新”的Linux简写,但是2005年首次由微软创造,用于Windows驱动程序更新。

image.png

(补丁和不打补丁进行了二进制的比较,找出不同的函数,源代码patch守护程序提取出不同的函数。内核源码优化这些不同的单元)
毕业后,杰夫和他的麻省理工学院同事创办了Ksplice Inc.,并于2009年5月获得麻省理工学院10万美元创业大赛奖。该公司于2010年推出了商业服务; 事情进展顺利。

❊ 2011-2016:Oracle和新浪潮

2011年7月21日,甲骨文收购了Ksplice,Inc。,将该软件整合到他们自己的Linux品牌中,Linux本身就是Red Hat 3的衍生产品。尽管有这种传统,甲骨文仍然停止支持红帽。甲骨文对Ksplice的收购引发了其他关键Linux供应商的激增。

在2011年和2014年之间,SUSE和Red Hat 分开工作(并且不了解彼此的目标)来发布他们自己的实时内核更新解决方案,他们分别在Kgraft和Kpatch中进行了这些解决方案。(尽管他们略微先行,但SUSE的Kgraft在2016年才成为GA(即适用于生产系统)。)

image.png

Red Hat与社区分享了他们的Kpatch代码,并将其集成为Red Hat Enterprise Linux的支持功能。

image.png

两个版本之间的区别可以从开源版本的项目页面上印上的消息中推断出来:

警告:请谨慎使用!可能会发生
内核崩溃,自发重启
和数据丢失!

在整个同一时期,与SUSE和Red Hat的努力并行,支持实时修补的基本ABI基础被集成到Linux内核版本4.0源代码中。我们的想法是从Kpatch和Kgraft中获取最佳创意,然后将其修补并将其移植到主线的通用方法中。这被称为livepatch,并在2016年10月,Canonical宣布他们正在推出他们自己的基于它的商业内核更新服务,可以预见称为Canonical Livepatch服务。首先只适用于Ubuntu 16.04 LTS,后来扩展了也包括14.04 LTS。在Ubuntu 18.04中,LTS Livepatch是一个安装选项,可以通过内置的软件管理工具进行配置,这标志着它在标准软件分发中日益重要。

❊ 2014年:街区新生儿

由于主要供应商争相成为第一个推出可行的实时补丁解决方案,CloudLinux是基于Linux的网络托管操作系统的主要参与者,在3月成功测试后,于2014年5月推出了KernelCare

他们通过在大多数Linux平台上提供最广泛的功能集来为市场感到惊讶,并在Linux内核开发和客户支持方面享有盛誉。另一个令人震惊的是负担能力,吸引了网站托管商,他们发现KernelCare的每服务器成本比主要竞争对手的每站点成本更易于管理和扩展。

最近,将KernelCare与Imunify360捆绑在一起,让它显示出一个新的高飞,安全的系统管理员中队。

❊ 结论:2019年的核心问题

随着世界向自动化安全方向发展,您将看到自动实时内核补丁管理软件更加紧密地集成到流行的Linux发行版中。目前市场上只有五家不同的供应商。功能比较表列出了它们的主要卖点。在进一步阅读部分,您将找到文档来源和背景文章

修改活动内核可能会很麻烦。这不是企业或运行服务器的任何人想要信任未经测试和不受支持的软件。当以安全性的名义完成时,它是Linux中值得付费的众多应用程序之一,绝对必须做的少数几个应用程序之一。

1由于微软2002年的专利申请,当时的讨论揭示了对该技术长期可行性的担忧。请参阅lkml.org 2008年4月lwn.net 2011 7月

2条 麻省理工学院的新闻:“把世界重新启动无更新”(2014)。

3自2016年1月起,Ksplice仅作为Oracle的UEK和Oracle Linux 6&7产品的一部分提供。同年11月,他们删除了Red Hat的上游Kpatch代码。

附录

Linux内核实时更新服务:功能比较表

image.png

有关详情,请参阅比较注释

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容

  • 1.描述计算机的组成及其功能 (一)计算机的组成 1.CPU 2.CPU风扇 3.BIOS 4.内存 5.硬盘 6...
    whamai阅读 1,431评论 0 1
  • 如果您运行Linux服务器,软件修补是一项必须定期执行的任务。虽然大多数程序可以使用needrestart等工具自...
    jpyin阅读 21,818评论 0 0
  • [日期:2007-09-09]来源:Linux公社作者:Linuxidc[字体:大中小] Linux系统各发行版镜...
    狂奔的蜗牛_wxc阅读 7,689评论 0 4
  • 发行版为许多不同的目的而制作, 包括对不同计算机结构的支持, 对一个具体区域或语言的本地化,实时应用,和嵌入式系统...
    Hi_One阅读 839评论 1 4
  • 原文 这是关于这个话题的全部,最终的文件。 它包含有关如何成为Linux内核开发人员以及如何学习如何与Linux内...
    御浅永夜阅读 774评论 0 3