上海品茶

胡庆伟--独立于操作系统的类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) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
会员动态
会员动态 会员动态:

 138**56... 升级为至尊VIP  wei**n_... 升级为至尊VIP

wei**n_...  升级为高级VIP   wei**n_... 升级为至尊VIP

 wei**n_... 升级为高级VIP wei**n_... 升级为标准VIP

冯** 升级为至尊VIP   wei**n_... 升级为至尊VIP

 wei**n_... 升级为标准VIP  wei**n_...  升级为标准VIP 

wei**n_... 升级为高级VIP   old**nt... 升级为至尊VIP 

 wei**n_... 升级为至尊VIP  150**62...  升级为标准VIP

  俊**... 升级为标准VIP 微**...  升级为至尊VIP

131**94... 升级为高级VIP   wei**n_...  升级为高级VIP

微**... 升级为至尊VIP   151**34... 升级为高级VIP 

 wei**n_... 升级为标准VIP  186**03... 升级为至尊VIP

wei**n_... 升级为至尊VIP  138**97... 升级为高级VIP

 报**... 升级为至尊VIP  177**40... 升级为至尊VIP 

  189**24... 升级为高级VIP  Jo**g 升级为至尊VIP

董杰  升级为高级VIP   159**76...  升级为至尊VIP

wei**n_... 升级为标准VIP   186**81... 升级为高级VIP 

 198**12... 升级为高级VIP  周阳 升级为至尊VIP 

微**... 升级为标准VIP  wei**n_... 升级为高级VIP

wei**n_... 升级为标准VIP  137**77...  升级为高级VIP

Ste** S... 升级为至尊VIP  ro**i 升级为高级VIP

186**53...  升级为至尊VIP 403**08...  升级为标准VIP

 wei**n_... 升级为标准VIP wei**n_... 升级为高级VIP

wei**n_... 升级为高级VIP  wei**n_...  升级为至尊VIP

 189**86... 升级为高级VIP  wei**n_... 升级为标准VIP 

微**... 升级为标准VIP  wei**n_... 升级为至尊VIP

骑**...   升级为高级VIP wei**n_... 升级为标准VIP

 wei**n_... 升级为标准VIP  138**22...  升级为标准VIP

wei**n_... 升级为标准VIP  186**23... 升级为至尊VIP

gus**o8... 升级为至尊VIP 159**77... 升级为至尊VIP  

Kra**Ma... 升级为高级VIP   wei**n_... 升级为高级VIP

 SMA**CH 升级为至尊VIP 130**92...   升级为至尊VIP

 wei**n_... 升级为高级VIP  wei**n_...  升级为高级VIP 

 181**79... 升级为高级VIP  wei**n_... 升级为标准VIP

wei**n_... 升级为至尊VIP  Je**er  升级为高级VIP

 182**85... 升级为至尊VIP   小** 升级为高级VIP

wei**n_... 升级为标准VIP 186**69... 升级为高级VIP

陆  升级为至尊VIP  wei**n_...  升级为标准VIP 

 微**...  升级为标准VIP  186**99... 升级为高级VIP

wei**n_... 升级为高级VIP  Nic**eZ 升级为至尊VIP 

wei**n_...  升级为高级VIP 130**34...  升级为标准VIP

189**86...  升级为至尊VIP  wei**n_...  升级为标准VIP

 陶**... 升级为标准VIP 159**63... 升级为至尊VIP

 wei**n_... 升级为标准VIP  wei**n_...  升级为至尊VIP

wei**n_...  升级为高级VIP 江**... 升级为高级VIP 

186**32... 升级为高级VIP  wei**n_... 升级为至尊VIP 

微**...  升级为至尊VIP  182**17...  升级为标准VIP

wei**n_...  升级为标准VIP  138**41...  升级为至尊VIP 

138**39...  升级为至尊VIP wei**n_... 升级为至尊VIP 

wei**n_... 升级为标准VIP  136**29... 升级为标准VIP

186**28...  升级为标准VIP  186**28... 升级为标准VIP