国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

什么是熱補丁技術

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

掃碼添加小助手

加入工程師交流群

LibcarePlus 用戶態熱補丁作為 openEuler 社區關鍵技術,受到了廣大開發者的關注和討論。openEuler 社區與天翼云基礎架構技術團隊通力合作,共同打造了全面支持 aarch64 及 x86 平臺的 LibcarePlus 熱補丁功能,可以應用于 CVE 漏洞修復,也可應用于不中斷應用服務的緊急 bug 修復。下面我們就來聊聊什么是熱補丁技術。

熱補丁技術背景

當運行的程序存在漏洞的時候,我們一般有以下幾種解決辦法:

替換最新的包含修復補丁的 OS 版本,在有主備倒換能力的組網環境上,可以先將當前運行的程序遷移到備區,待主區升級完后,再將程序遷移到主區;

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

直接給運行的程序內容打補丁,替換有問題的代碼,實現程序漏洞的修復;

從補丁粒度上來說,上述技術漏洞修復粒度是從大到小變化的:第一個是系統級的,主要涉及的技術有熱遷移技術;第二個是 rpm 包級的,主要涉及的技術有熱替換;第三個是運行程序級的,主要涉及的技術有熱補丁。從業務中斷時長來說,上述技術的業務中斷時長也是從大到小變化的:第一種技術業務中斷時間一般在分鐘級,且一般涉及整個系統業務的主備倒換,升級周期最長,一般需要幾個月的升級窗口;第二種技術業務中斷時間一般在百毫秒級,且該技術一般不通用,需要侵入式修改和適配大量業務代碼,升級周期相對比較短,一般僅需要一個月的升級窗口;第三種技術業務中斷時間則一般在毫秒級,該技術比較通用,不需要侵入式修改和適配業務代碼,僅需要適配一些通用代碼,適配工作量較小,升級周期相對比較短,一般僅需要一個月的升級窗口。

通過上述分析,我們大概能總結出熱補丁的如下幾個優點:一是熱補丁能夠在不影響現網業務的情況下,完成程序漏洞的修復;二是熱補丁適用于需要快速響應的市場環境,將驗證工作從版本驗證簡化為補丁驗證。總結一句話:熱補丁短小精悍,適合使用在需要快速響應的場景中。

今天,我們就來簡單介紹一下,集萬千寵愛于一身的 LibcarePlus 熱補丁技術。

LibcarePlus 熱補丁技術的基本原理

LibcarePlus 熱補丁技術是基于上游社區 libcare 獨立發展的分支,當前由 openEuler 社區進行自主孵化。相比于上游社區的 libcare,LibcarePlus 支持主流的 x86_64 架構和 aarch64 架構,全面支持 openEuler Qemu 組件,支持函數級過濾,支持增量補丁,支持補丁文件解析等。

我們以 LibcarePlus Qemu 熱補丁技術為例,進行相關介紹。熱補丁的整體架構如下:

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

LibcarePlus 熱補丁技術主要包括:熱補丁制作、補丁管理和補丁加/卸載。

熱補丁制作

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

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

Qemu 熱補丁管理

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

熱補丁加載/卸載

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

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

LibcarePlus 熱補丁加/卸載基于內核提供的 ptrace 能力。通過 ptrace 目標進程,將目標進程短暫凍結,隨后進行補丁加載環境的安全校驗,在確保補丁加載環境安全的情況下,以 mmap 映射的方式,將適配好的補丁文件插入到目標進程的內存空洞中。在執行完上述步驟后,通過修改缺陷函數的前面五個字節的代碼,讓缺陷函數在被調用時跳轉到新函數的地址中,從而使熱補丁生效。最后,解凍目標進程,完成熱補丁的加載。

在熱補丁加載過程中,缺陷函數被替換的前五個字節代碼會保存在目標進程的熱補丁的管理結構中,將這五個字節代碼重新寫回原地址處,可使熱補丁回滾到原來狀態,從而實現了熱補丁卸載。

原文標題:LibcarePlus 用戶態熱補丁技術那些事

文章出處:【微信公眾號:openEuler】歡迎添加關注!文章轉載請注明出處。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4968

    瀏覽量

    73985
  • BUG
    BUG
    +關注

    關注

    0

    文章

    156

    瀏覽量

    16276
  • 補丁
    +關注

    關注

    0

    文章

    27

    瀏覽量

    8794
  • openEuler
    +關注

    關注

    2

    文章

    337

    瀏覽量

    6731

原文標題:LibcarePlus 用戶態熱補丁技術那些事

文章出處:【微信號:openEulercommunity,微信公眾號:openEuler】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Rockchip CIF驅動深度解析:從架構設計到電源計數補丁修復

    穩定性。本文將從「驅動整體架構」入手,拆解核心文件功能與調用關系,再聚焦「Sensor 電源引用計數補丁」,詳解如何通過補丁解決實際運行中的穩定性問題,為驅動開發與調試提供完整參考。
    的頭像 發表于 02-06 16:49 ?3561次閱讀
    Rockchip CIF驅動深度解析:從架構設計到電源計數<b class='flag-5'>補丁</b>修復

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

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

    C語言單元測試在嵌入式軟件開發中的作用及專業工具的應用

    精度達99.9%以上 ?硬件虛擬化與熱補丁技術****?: 通過GPIO/CAN虛擬化驅動層,在硬件原型未完成階段即可模擬ECU與傳感器/執行器的交互 動態熱補丁(Hot Patching)允許在不重
    發表于 12-18 11:46

    NVMe over Fabrics 國產 IP:高性能網絡存儲解決方案

    近期發現NVMe over Fabrics只有國外知名FPGA廠家推出,2025年初給出補丁,但是聽說面臨無技術團隊支持的窘境。 我們根據以往NVMe和RDMA 開發經驗,推出國產化NVMe-oF
    發表于 12-12 14:19

    技術分享】RK3588如何搭建xenomai3+ethercat

    說明使用的RK3588的分支版本是linux-6.1-stan-rkr6內核版本是6.1.99把瑞芯微的SDK更新到linux-6.1-stan-rkr6這個版本即可。編譯xenomai3的內核請參考上一篇技術分享:技術分享|RK3588如何增加Xenomai3實時
    的頭像 發表于 12-11 17:26 ?1056次閱讀
    【<b class='flag-5'>技術</b>分享】RK3588如何搭建xenomai3+ethercat

    技術分享 | RK3588增加Xenomai3實時補丁

    Xenomai是一套為嵌入式系統設計的實時開發框架,通過“雙內核”架構,讓Linux既能處理復雜的通用任務,又能可靠地完成那些對響應時間有極端要求的任務,廣泛用于工業自動化、機器人、航空航天等對實時性要求極高的場景。本篇文章以啟揚RK3588開發板為例,分享如何增加Xenomai3實時補丁
    的頭像 發表于 11-27 17:29 ?1604次閱讀
    <b class='flag-5'>技術</b>分享 | RK3588增加Xenomai3實時<b class='flag-5'>補丁</b>

    別讓小疏忽釀成大風險,這些補丁誤區你避開了嗎?

    補丁管理始終是維護系統安全與穩定的核心環節,它能確保操作系統、應用程序及終端設備時刻保持最新狀態,獲取最新的安全防護與功能支持。這一關鍵環節中的細微疏漏,往往成為引爆安全危機的導火索,可能讓企業直面
    的頭像 發表于 11-12 17:02 ?1234次閱讀
    別讓小疏忽釀成大風險,這些<b class='flag-5'>補丁</b>誤區你避開了嗎?

    【米爾RK3506國產開發板評測】3、實時補丁以及EtherCAT IGH移植

    對實時性能要求較高的應用場景中被廣泛使用。瑞芯微提供配套SDK的Preempt-RT補丁。 1、添加depmod和Linux PREEMPT_RT補丁 米爾提供的SDK的busybox中默認沒有添加
    發表于 10-27 10:09

    從微秒級響應到確定性延遲:深入解析米爾全志T536核心板的實時性技術突破

    RT-PREEMPT:最流行的內核補丁方案核心技術:將Linux內核改造成完全可搶占,用RT-mutex替代自旋鎖,實現優先級繼承。優勢:兼容性好,無需修改應用程序。 挑戰:需要重新編譯內核,某些驅動可能不兼容
    發表于 10-22 17:25

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

    的內核補丁方案核心技術:將Linux內核改造成完全可搶占,用RT-mutex替代自旋鎖,實現優先級繼承。優勢:兼容性好,無需修改應用程序。挑戰:需要重新編譯內核,某些驅動可能不兼容,最壞情況延遲仍有
    發表于 10-17 17:41

    迅為RK3568開發板OpeHarmony學習開發手冊1.1-內核移植優化

    在上一小節的內核移植過程中,我們重新創建了內核補丁文件。然而,對于頻繁修改內核源代碼進行開發的情況來說,每次都制作內核補丁并不是一種方便的方法。為了解決這個問題,本小節將介紹另一種方法。 上一小
    發表于 07-26 10:37

    SD42524TR 36V寬壓輸入、±1%精度1A大功率LED驅動芯片方案設計

    在于: 精準恒流控制 :±1%輸出電流精度(全溫度范圍),解決LED亮度一致性難題 全集成化設計 :單芯片集成功率開關、PWM調光接口及多重保護,BOM成本降低40%以上 工業級可靠性 :內置熱補
    發表于 06-26 08:54

    用DevEco Studio增量補丁修復功能,讓鴻蒙應用的調試效率大增

    DevEco Studio中得到了很好的解答,而增量補丁修復便是其中的核心特性之一。今天,我們要深入探討鴻蒙應用增量補丁修復及其兩個能夠大幅加速開發進度的強大功能——Hot Reload和Apply
    發表于 04-14 17:35

    用DevEco Studio增量補丁修復功能,讓鴻蒙應用的調試效率大增

    DevEco Studio中得到了很好的解答,而增量補丁修復便是其中的核心特性之一。今天,我們要深入探討鴻蒙應用增量補丁修復及其兩個能夠大幅加速開發進度的強大功能——Hot Reload和Apply
    發表于 04-14 14:47

    Siemens PADS Standard 標準版 VX.2.15 最新下載與詳細安裝教程

    西門子PADS標準版系列近期發布VX.2.15版本,本次更新主要體現為維護性質的版本迭代。通過分析官方更新日志可以發現,此次版本升級的技術改進力度較為有限。 經查閱安裝包內附的「PADS
    發表于 03-15 12:08