日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是熱補(bǔ)丁技術(shù)

openEuler ? 來(lái)源:openEuler ? 作者:openEuler ? 2022-07-08 11:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

LibcarePlus 用戶態(tài)熱補(bǔ)丁作為 openEuler 社區(qū)關(guān)鍵技術(shù),受到了廣大開(kāi)發(fā)者的關(guān)注和討論。openEuler 社區(qū)與天翼云基礎(chǔ)架構(gòu)技術(shù)團(tuán)隊(duì)通力合作,共同打造了全面支持 aarch64 及 x86 平臺(tái)的 LibcarePlus 熱補(bǔ)丁功能,可以應(yīng)用于 CVE 漏洞修復(fù),也可應(yīng)用于不中斷應(yīng)用服務(wù)的緊急 bug 修復(fù)。下面我們就來(lái)聊聊什么是熱補(bǔ)丁技術(shù)。

熱補(bǔ)丁技術(shù)背景

當(dāng)運(yùn)行的程序存在漏洞的時(shí)候,我們一般有以下幾種解決辦法:

替換最新的包含修復(fù)補(bǔ)丁的 OS 版本,在有主備倒換能力的組網(wǎng)環(huán)境上,可以先將當(dāng)前運(yùn)行的程序遷移到備區(qū),待主區(qū)升級(jí)完后,再將程序遷移到主區(qū);

替換程序的 rpm 包,然后重新運(yùn)行程序(注意此時(shí)需要考慮依賴包的兼容性),對(duì)于具備熱替換能力的程序,則可以利用熱替換能力,實(shí)現(xiàn)程序運(yùn)行內(nèi)容的替換;

直接給運(yùn)行的程序內(nèi)容打補(bǔ)丁,替換有問(wèn)題的代碼,實(shí)現(xiàn)程序漏洞的修復(fù);

從補(bǔ)丁粒度上來(lái)說(shuō),上述技術(shù)漏洞修復(fù)粒度是從大到小變化的:第一個(gè)是系統(tǒng)級(jí)的,主要涉及的技術(shù)有熱遷移技術(shù);第二個(gè)是 rpm 包級(jí)的,主要涉及的技術(shù)有熱替換;第三個(gè)是運(yùn)行程序級(jí)的,主要涉及的技術(shù)有熱補(bǔ)丁。從業(yè)務(wù)中斷時(shí)長(zhǎng)來(lái)說(shuō),上述技術(shù)的業(yè)務(wù)中斷時(shí)長(zhǎng)也是從大到小變化的:第一種技術(shù)業(yè)務(wù)中斷時(shí)間一般在分鐘級(jí),且一般涉及整個(gè)系統(tǒng)業(yè)務(wù)的主備倒換,升級(jí)周期最長(zhǎng),一般需要幾個(gè)月的升級(jí)窗口;第二種技術(shù)業(yè)務(wù)中斷時(shí)間一般在百毫秒級(jí),且該技術(shù)一般不通用,需要侵入式修改和適配大量業(yè)務(wù)代碼,升級(jí)周期相對(duì)比較短,一般僅需要一個(gè)月的升級(jí)窗口;第三種技術(shù)業(yè)務(wù)中斷時(shí)間則一般在毫秒級(jí),該技術(shù)比較通用,不需要侵入式修改和適配業(yè)務(wù)代碼,僅需要適配一些通用代碼,適配工作量較小,升級(jí)周期相對(duì)比較短,一般僅需要一個(gè)月的升級(jí)窗口。

通過(guò)上述分析,我們大概能總結(jié)出熱補(bǔ)丁的如下幾個(gè)優(yōu)點(diǎn):一是熱補(bǔ)丁能夠在不影響現(xiàn)網(wǎng)業(yè)務(wù)的情況下,完成程序漏洞的修復(fù);二是熱補(bǔ)丁適用于需要快速響應(yīng)的市場(chǎng)環(huán)境,將驗(yàn)證工作從版本驗(yàn)證簡(jiǎn)化為補(bǔ)丁驗(yàn)證。總結(jié)一句話:熱補(bǔ)丁短小精悍,適合使用在需要快速響應(yīng)的場(chǎng)景中。

今天,我們就來(lái)簡(jiǎn)單介紹一下,集萬(wàn)千寵愛(ài)于一身的 LibcarePlus 熱補(bǔ)丁技術(shù)。

LibcarePlus 熱補(bǔ)丁技術(shù)的基本原理

LibcarePlus 熱補(bǔ)丁技術(shù)是基于上游社區(qū) libcare 獨(dú)立發(fā)展的分支,當(dāng)前由 openEuler 社區(qū)進(jìn)行自主孵化。相比于上游社區(qū)的 libcare,LibcarePlus 支持主流的 x86_64 架構(gòu)和 aarch64 架構(gòu),全面支持 openEuler Qemu 組件,支持函數(shù)級(jí)過(guò)濾,支持增量補(bǔ)丁,支持補(bǔ)丁文件解析等。

我們以 LibcarePlus Qemu 熱補(bǔ)丁技術(shù)為例,進(jìn)行相關(guān)介紹。熱補(bǔ)丁的整體架構(gòu)如下:

c00289be-fde5-11ec-ba43-dac502259ad0.png

LibcarePlus 熱補(bǔ)丁技術(shù)主要包括:熱補(bǔ)丁制作、補(bǔ)丁管理和補(bǔ)丁加/卸載。

熱補(bǔ)丁制作

LibcarePlus 制作熱補(bǔ)丁的基本原理是基于匯編級(jí)指令比較技術(shù)。LibcarePlus 通過(guò)比較基線代碼生成的匯編中間文件和打了補(bǔ)丁的基線代碼生成的匯編中間文件,找到兩者之間的差異部分;再基于差異部分,去除冗余段和修復(fù)重定位信息,最終得到熱補(bǔ)丁 kpatch 文件。在分析匯編差異的前,LibcarePlus 會(huì)基于一些關(guān)鍵信息將匯編內(nèi)容分成函數(shù)塊和變量塊,然后通過(guò)比較函數(shù)塊和變量塊之間的差異,找到差異的函數(shù)和變量。補(bǔ)丁制作的大概流程如下圖所示:

c034497c-fde5-11ec-ba43-dac502259ad0.png

Qemu 熱補(bǔ)丁管理

依托于 libvirt 組件對(duì) Qemu 的管理,openEuler 同樣將 Qemu 熱補(bǔ)丁的管理集成到 libvirt 中。通過(guò)與虛擬機(jī)的生命周期交互,libvirt 能夠更完美地尋找到 Qemu 補(bǔ)丁加載的最佳時(shí)機(jī),完成對(duì) Qemu 組件熱補(bǔ)丁的管理。

熱補(bǔ)丁加載/卸載

熱補(bǔ)丁加/卸載的基本原理如下圖所示:

c0551076-fde5-11ec-ba43-dac502259ad0.png

LibcarePlus 熱補(bǔ)丁加/卸載基于內(nèi)核提供的 ptrace 能力。通過(guò) ptrace 目標(biāo)進(jìn)程,將目標(biāo)進(jìn)程短暫凍結(jié),隨后進(jìn)行補(bǔ)丁加載環(huán)境的安全校驗(yàn),在確保補(bǔ)丁加載環(huán)境安全的情況下,以 mmap 映射的方式,將適配好的補(bǔ)丁文件插入到目標(biāo)進(jìn)程的內(nèi)存空洞中。在執(zhí)行完上述步驟后,通過(guò)修改缺陷函數(shù)的前面五個(gè)字節(jié)的代碼,讓缺陷函數(shù)在被調(diào)用時(shí)跳轉(zhuǎn)到新函數(shù)的地址中,從而使熱補(bǔ)丁生效。最后,解凍目標(biāo)進(jìn)程,完成熱補(bǔ)丁的加載。

在熱補(bǔ)丁加載過(guò)程中,缺陷函數(shù)被替換的前五個(gè)字節(jié)代碼會(huì)保存在目標(biāo)進(jìn)程的熱補(bǔ)丁的管理結(jié)構(gòu)中,將這五個(gè)字節(jié)代碼重新寫(xiě)回原地址處,可使熱補(bǔ)丁回滾到原來(lái)狀態(tài),從而實(shí)現(xiàn)了熱補(bǔ)丁卸載。

原文標(biāo)題:LibcarePlus 用戶態(tài)熱補(bǔ)丁技術(shù)那些事

文章出處:【微信公眾號(hào):openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

審核編輯:彭靜
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4977

    瀏覽量

    74425
  • BUG
    BUG
    +關(guān)注

    關(guān)注

    0

    文章

    156

    瀏覽量

    16311
  • 補(bǔ)丁
    +關(guān)注

    關(guān)注

    0

    文章

    27

    瀏覽量

    8812
  • openEuler
    +關(guān)注

    關(guān)注

    2

    文章

    341

    瀏覽量

    6768

原文標(biāo)題:LibcarePlus 用戶態(tài)熱補(bǔ)丁技術(shù)那些事

文章出處:【微信號(hào):openEulercommunity,微信公眾號(hào):openEuler】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Windows 和 Mac 設(shè)備混著管,一個(gè)控制臺(tái),補(bǔ)丁管理輕松拿捏

    曾經(jīng)企業(yè)辦公系統(tǒng)高度統(tǒng)一,清一色全是Windows電腦,或者全員都用Mac,一套工具就能搞定全公司補(bǔ)丁。但如今,混合辦公、BYOD普及,絕大多數(shù)公司都變成了Windows+Mac雙系統(tǒng)混用的環(huán)境
    的頭像 發(fā)表于 03-26 16:59 ?1156次閱讀
    Windows 和 Mac 設(shè)備混著管,一個(gè)控制臺(tái),<b class='flag-5'>補(bǔ)丁</b>管理輕松拿捏

    IT 補(bǔ)丁管理的8大深坑,一招全破解

    很多IT團(tuán)隊(duì)一到每月的“補(bǔ)丁星期二”就頭疼,設(shè)備多、遠(yuǎn)程管不過(guò)來(lái)、補(bǔ)丁總漏打、怕更崩系統(tǒng)、審計(jì)要的材料拿不出來(lái)。對(duì)企業(yè)來(lái)說(shuō),補(bǔ)丁管理絕不僅僅是看到更新提示點(diǎn)一下“立即更新”那么簡(jiǎn)單,而是一套關(guān)乎終端
    的頭像 發(fā)表于 03-19 17:05 ?871次閱讀
    IT <b class='flag-5'>補(bǔ)丁</b>管理的8大深坑,一招全破解

    Rockchip CIF驅(qū)動(dòng)深度解析:從架構(gòu)設(shè)計(jì)到電源計(jì)數(shù)補(bǔ)丁修復(fù)

    穩(wěn)定性。本文將從「驅(qū)動(dòng)整體架構(gòu)」入手,拆解核心文件功能與調(diào)用關(guān)系,再聚焦「Sensor 電源引用計(jì)數(shù)補(bǔ)丁」,詳解如何通過(guò)補(bǔ)丁解決實(shí)際運(yùn)行中的穩(wěn)定性問(wèn)題,為驅(qū)動(dòng)開(kāi)發(fā)與調(diào)試提供完整參考。
    的頭像 發(fā)表于 02-06 16:49 ?5009次閱讀
    Rockchip CIF驅(qū)動(dòng)深度解析:從架構(gòu)設(shè)計(jì)到電源計(jì)數(shù)<b class='flag-5'>補(bǔ)丁</b>修復(fù)

    為什么偏偏是周二?一文了解微軟“補(bǔ)丁星期二”的前世今生

    某個(gè)尋常的周二。辦公室的IT同事面色凝重,咖啡杯見(jiàn)底的速度異于往常,甚至對(duì)著閃爍的屏幕低聲自語(yǔ)……如果你看到類似的場(chǎng)景,請(qǐng)別輕易打擾。他們很可能正在應(yīng)對(duì)微軟每月一次的“補(bǔ)丁星期二
    的頭像 發(fā)表于 12-23 17:02 ?1003次閱讀
    為什么偏偏是周二?一文了解微軟“<b class='flag-5'>補(bǔ)丁</b>星期二”的前世今生

    C語(yǔ)言單元測(cè)試在嵌入式軟件開(kāi)發(fā)中的作用及專業(yè)工具的應(yīng)用

    精度達(dá)99.9%以上 ?硬件虛擬化與熱補(bǔ)丁技術(shù)****?: 通過(guò)GPIO/CAN虛擬化驅(qū)動(dòng)層,在硬件原型未完成階段即可模擬ECU與傳感器/執(zhí)行器的交互 動(dòng)態(tài)熱補(bǔ)丁(Hot Patching)允許在不重
    發(fā)表于 12-18 11:46

    NVMe over Fabrics 國(guó)產(chǎn) IP:高性能網(wǎng)絡(luò)存儲(chǔ)解決方案

    近期發(fā)現(xiàn)NVMe over Fabrics只有國(guó)外知名FPGA廠家推出,2025年初給出補(bǔ)丁,但是聽(tīng)說(shuō)面臨無(wú)技術(shù)團(tuán)隊(duì)支持的窘境。 我們根據(jù)以往NVMe和RDMA 開(kāi)發(fā)經(jīng)驗(yàn),推出國(guó)產(chǎn)化NVMe-oF
    發(fā)表于 12-12 14:19

    NVMe-oF 國(guó)產(chǎn)IP:高性能網(wǎng)絡(luò)存儲(chǔ)解決方案

    目前相關(guān)IP較少,網(wǎng)上主要是知名FPGA廠家的IP,疑似被泄露。但是技術(shù)支持可能沒(méi)有了,補(bǔ)丁會(huì)限制部分使用,由于其接口復(fù)雜,不利于二次開(kāi)發(fā)。這里給出一種高性能網(wǎng)絡(luò)存儲(chǔ)技術(shù),走國(guó)產(chǎn)化設(shè)計(jì).
    的頭像 發(fā)表于 12-12 10:02 ?244次閱讀
    NVMe-oF 國(guó)產(chǎn)IP:高性能網(wǎng)絡(luò)存儲(chǔ)解決方案

    技術(shù)分享】RK3588如何搭建xenomai3+ethercat

    說(shuō)明使用的RK3588的分支版本是linux-6.1-stan-rkr6內(nèi)核版本是6.1.99把瑞芯微的SDK更新到linux-6.1-stan-rkr6這個(gè)版本即可。編譯xenomai3的內(nèi)核請(qǐng)參考上一篇技術(shù)分享:技術(shù)分享|RK3588如何增加X(jué)enomai3實(shí)時(shí)
    的頭像 發(fā)表于 12-11 17:26 ?1431次閱讀
    【<b class='flag-5'>技術(shù)</b>分享】RK3588如何搭建xenomai3+ethercat

    技術(shù)分享 | RK3588增加X(jué)enomai3實(shí)時(shí)補(bǔ)丁

    Xenomai是一套為嵌入式系統(tǒng)設(shè)計(jì)的實(shí)時(shí)開(kāi)發(fā)框架,通過(guò)“雙內(nèi)核”架構(gòu),讓Linux既能處理復(fù)雜的通用任務(wù),又能可靠地完成那些對(duì)響應(yīng)時(shí)間有極端要求的任務(wù),廣泛用于工業(yè)自動(dòng)化、機(jī)器人、航空航天等對(duì)實(shí)時(shí)性要求極高的場(chǎng)景。本篇文章以啟揚(yáng)RK3588開(kāi)發(fā)板為例,分享如何增加X(jué)enomai3實(shí)時(shí)補(bǔ)丁。
    的頭像 發(fā)表于 11-27 17:29 ?1864次閱讀
    <b class='flag-5'>技術(shù)</b>分享 | RK3588增加X(jué)enomai3實(shí)時(shí)<b class='flag-5'>補(bǔ)丁</b>

    別讓小疏忽釀成大風(fēng)險(xiǎn),這些補(bǔ)丁誤區(qū)你避開(kāi)了嗎?

    補(bǔ)丁管理始終是維護(hù)系統(tǒng)安全與穩(wěn)定的核心環(huán)節(jié),它能確保操作系統(tǒng)、應(yīng)用程序及終端設(shè)備時(shí)刻保持最新?tīng)顟B(tài),獲取最新的安全防護(hù)與功能支持。這一關(guān)鍵環(huán)節(jié)中的細(xì)微疏漏,往往成為引爆安全危機(jī)的導(dǎo)火索,可能讓企業(yè)直面
    的頭像 發(fā)表于 11-12 17:02 ?1388次閱讀
    別讓小疏忽釀成大風(fēng)險(xiǎn),這些<b class='flag-5'>補(bǔ)丁</b>誤區(qū)你避開(kāi)了嗎?

    【米爾RK3506國(guó)產(chǎn)開(kāi)發(fā)板評(píng)測(cè)】3、實(shí)時(shí)補(bǔ)丁以及EtherCAT IGH移植

    對(duì)實(shí)時(shí)性能要求較高的應(yīng)用場(chǎng)景中被廣泛使用。瑞芯微提供配套SDK的Preempt-RT補(bǔ)丁。 1、添加depmod和Linux PREEMPT_RT補(bǔ)丁 米爾提供的SDK的busybox中默認(rèn)沒(méi)有添加
    發(fā)表于 10-27 10:09

    從微秒級(jí)響應(yīng)到確定性延遲:深入解析米爾全志T536核心板的實(shí)時(shí)性技術(shù)突破

    RT-PREEMPT:最流行的內(nèi)核補(bǔ)丁方案核心技術(shù):將Linux內(nèi)核改造成完全可搶占,用RT-mutex替代自旋鎖,實(shí)現(xiàn)優(yōu)先級(jí)繼承。優(yōu)勢(shì):兼容性好,無(wú)需修改應(yīng)用程序。 挑戰(zhàn):需要重新編譯內(nèi)核,某些驅(qū)動(dòng)可能不兼容
    發(fā)表于 10-22 17:25

    深入解析米爾全志T536核心板的實(shí)時(shí)性技術(shù)突破

    的內(nèi)核補(bǔ)丁方案核心技術(shù):將Linux內(nèi)核改造成完全可搶占,用RT-mutex替代自旋鎖,實(shí)現(xiàn)優(yōu)先級(jí)繼承。優(yōu)勢(shì):兼容性好,無(wú)需修改應(yīng)用程序。挑戰(zhàn):需要重新編譯內(nèi)核,某些驅(qū)動(dòng)可能不兼容,最壞情況延遲仍有
    發(fā)表于 10-17 17:41

    迅為RK3568開(kāi)發(fā)板OpeHarmony學(xué)習(xí)開(kāi)發(fā)手冊(cè)1.1-內(nèi)核移植優(yōu)化

    在上一小節(jié)的內(nèi)核移植過(guò)程中,我們重新創(chuàng)建了內(nèi)核補(bǔ)丁文件。然而,對(duì)于頻繁修改內(nèi)核源代碼進(jìn)行開(kāi)發(fā)的情況來(lái)說(shuō),每次都制作內(nèi)核補(bǔ)丁并不是一種方便的方法。為了解決這個(gè)問(wèn)題,本小節(jié)將介紹另一種方法。 上一小
    發(fā)表于 07-26 10:37

    SD42524TR 36V寬壓輸入、±1%精度1A大功率LED驅(qū)動(dòng)芯片方案設(shè)計(jì)

    在于: 精準(zhǔn)恒流控制 :±1%輸出電流精度(全溫度范圍),解決LED亮度一致性難題 全集成化設(shè)計(jì) :?jiǎn)涡酒晒β书_(kāi)關(guān)、PWM調(diào)光接口及多重保護(hù),BOM成本降低40%以上 工業(yè)級(jí)可靠性 :內(nèi)置熱補(bǔ)
    發(fā)表于 06-26 08:54
    沙河市| 昭觉县| 望城县| 湄潭县| 自贡市| 云梦县| 泰顺县| 格尔木市| 内丘县| 青冈县| 崇左市| 平遥县| 锡林郭勒盟| 青田县| 蓬莱市| 阳新县| 吉安市| 南平市| 嘉定区| 商河县| 互助| 桑日县| 公安县| 阿坝县| 舒城县| 临夏县| 扶沟县| 霸州市| 英德市| 沁水县| 潮安县| 凤山县| 邵阳市| 高雄市| 揭东县| 建宁县| 红安县| 抚宁县| 台南县| 湖南省| 偃师市|