胡慶偉--獨立于操作系統的類eBPF探測工具(eBPFCA).pdf

編號:161255 PDF 21頁 261.07KB 下載積分:VIP專享
下載報告請您先登錄!

胡慶偉--獨立于操作系統的類eBPF探測工具(eBPFCA).pdf

1、獨立于操作系統的eBPF組件架構(eBPFCA)第二屆 eBPF開發者大會w w w.e b p f t r a v e l.c o m中 國 西 安分享人:胡慶偉時間:2024年4月 eBPFCA概述第二屆 eBPF開發者大會w w w.e b p f t r a v e l.c o m中 國 西 安eBPF:eBPF是Linux內核一種革命性的技術,起源于Linux內核,可以在內核中運行沙盒程序。由于內核具有監控和控制整個系統的特權,它通常是實現可觀測性、安全性和網絡功能的理想場所。第 二 屆 e B P F 開 發 者 大 會 eBPFCA概述第 二 屆 e B P F 開 發 者 大

2、會 eBPFCA概述eBPF優勢:安全、高性能、擴展性應用程序可移植性強、工具鏈完善eBPF應用:探測、追蹤、與內核合作提高效率第 二 屆 e B P F 開 發 者 大 會 eBPFCA概述1.探測、可觀測行往往在系統成熟后會考慮;2.eBPF的可移植性不只體現在不同Linux版本的適配;3.不同操作系統更方便的支持eBPF獨立于操作系統的eBPF組件架構(eBPFCA)第 二 屆 e B P F 開 發 者 大 會 eBPFCA概述eBPFCA實現內核中eBPF的通用部分,向上為用戶提供類似或相同于eBPF的接口。其中包括eBPF程序load、attach、字節碼翻譯等操作。為了eBPFC

3、A能夠方便的與操作系統結合,eBPFCA將所有依賴操作系統的操作集中在操作系統服務層(OS Server Layer,簡稱OSL)。第 二 屆 e B P F 開 發 者 大 會 eBPFCA概述1.提供基本eBPF服務的操作系統獨立層(OS-independent);2.提供eBPFCA與特定操作系統的操作系統服務層(OSL)。操作系統OS-independent eBPFCAOS Services LayereBPFCA eBPFCA分析第二屆 eBPF開發者大會w w w.e b p f t r a v e l.c o m中 國 西 安第 二 屆 e B P F 開 發 者 大 會 eB

4、PFCA分析Linux中eBPF的cmd:BPF_MAP_CREATE BPF_MAP_LOOKUP_ELEM BPF_PROG_LOAD BPF_OBJ_GET BPF_PROG_ATTACH.為用戶提供與Linux中eBPF相同的使用方法。處理過程與linux現有eBPF的處理過程相同。第 二 屆 e B P F 開 發 者 大 會 eBPFCA分析 eBPF的使用和處理過程中大多是和操作系統其他機制無關的。使用方法和處理過程的特點:分析操作系統其他機制有關的部分,僅有附加操作需要與操作系統進行配合。eBPF通用部分(eBPF General)第 二 屆 e B P F 開 發 者 大 會

5、 eBPFCA分析1.注冊kprobe:獲得探測點的地址,將探測點地址處的指令替換為break指令;準備一片可執行的內存,將原指令和一個SS單步調試指令寫入;記錄探測點地址的下一個指令地址。2.觸發break異常:當系統運行到第1步替換的break指令時,會產生一個break異常,隨后系統跳轉到異常處理程序中進行break異常處理。在break異常處理中,修改異常返回地址為第1步準備的保存有原指令和一個SS單步調試指令的地址處。這樣做的目的是為了讓原指令得到運行。3.觸發SS單步異常:當第2步的break異常處理完成后,由于修改了break異常的返回地址為保存有原指令和一個SS單步調試指令的地

6、址處,所以break異常返回后,跳轉到該處運行,執行完原指令后會觸發一個SS單步調試指令,在單步調試指令中修改返回地址為探測點的下一條指令地址。SS單步調試異常返回后,就回到了正常的執行流中。kprobe附加操作分析,kprobe主要流程:第 二 屆 e B P F 開 發 者 大 會 eBPFCA分析kprobe附加操作分析,kprobe主要流程:ORIregister_kprobe.textBRK#.text.textORISSbreak handleSShandleaddr;symbol_name;opcode;ainsn insn;restore;kprobe第 二 屆 e B P F

7、 開 發 者 大 會 eBPFCA分析提取kprobe處理流程中與操作系統系統相關的部分:1.獲取探測點地址:kprobe通常使用函數名指定探測點,需要系統為kprobe提供符號所在的位置。2.break異常處理:上述kprobe處理流程中的兩個中斷都是通過break異常進行的,兩個異常的不同點僅在于操作碼后幾位不同,可以通過軟件進行解析。kprobe獲得符號名可以作為OSL層的一個接口,為kprobe的OS-independent部分提供獲取符號所在地址的功能。break異常處理中的主要處理邏輯可以作為OS-independent的部分,操作系統需要提供異常入口,并提供注冊接口,將OS-in

8、dependent的處理流程注冊進異常處理中。第 二 屆 e B P F 開 發 者 大 會 eBPFCA分析將eBPF General和kprobe結合起來,就形成了支持kprobe的eBPFCA。綜上,得到更細致的eBPFCA框架:操作系統eBPF GeneralOS-independenteBPF GeneralOSLeBPFCAkprobeOS-independentkprobe OSL kprobe示例第二屆 eBPF開發者大會w w w.e b p f t r a v e l.c o m中 國 西 安第 二 屆 e B P F 開 發 者 大 會 kprobe示例運行平臺:宿主機:

9、ubuntu20.04虛擬機:qemu-system-loongarch64(3A5000)操作系統:小型操作系統(支持任務切換)第 二 屆 e B P F 開 發 者 大 會 kprobe示例源碼結構:使用示例:運行結果:總結第二屆 eBPF開發者大會w w w.e b p f t r a v e l.c o m中 國 西 安第 二 屆 e B P F 開 發 者 大 會 總結1.kprobe示例的實現,得到相對獨立的kprobe。2.eBPFCA分析中kprobe的分析,提供了一個如何將附加操作獨立的例子:2.分析kprobe的流程;3.梳理kprobe的流程中操作系統無關和操作系統相關部

10、分;4.操作系統無關部分作為OS-independent,相關部分作為OSL;5.kprobe的OSL中依賴操作系統其他機制的部分需要制定協議。3.kprobe提供一個示例,可推廣至其他附加操作。第 二 屆 e B P F 開 發 者 大 會 總結最終eBPFCA框架:操作系統eBPF GeneralOS-independenteBPF GeneralOSLeBPFCAkprobeOS-independentkprobe OSL.OS-independent.OSL感謝觀看第二屆 eBPF開發者大會w w w.e b p f t r a v e l.c o m中 國 西 安分享人:胡慶偉時間:2024年4月

友情提示

1、下載報告失敗解決辦法
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站報告下載后的文檔和圖紙-無水印,預覽文檔經過壓縮,下載后原文更清晰。

本文(胡慶偉--獨立于操作系統的類eBPF探測工具(eBPFCA).pdf)為本站 (張5G) 主動上傳,三個皮匠報告文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。 若此文所含內容侵犯了您的版權或隱私,請立即通知三個皮匠報告文庫(點擊聯系客服),我們立即給予刪除!

溫馨提示:如果因為網速或其他原因下載失敗請重新下載,重復下載不扣分。
客服
商務合作
小程序
服務號
折疊
午夜网日韩中文字幕,日韩Av中文字幕久久,亚洲中文字幕在线一区二区,最新中文字幕在线视频网站