当前位置:首页 > 报告详情

分会场1_曹钦翔_VEP:A Two-stage Verification Toolchain for Full eBPF Programmability_报告PPT.pdf

上传人: 科*** 编号:713374 2025-06-08 55页 1.24MB

1、VEP:A Two-stage Verification Toolchain for Full eBPF Programmability第三届 eBPF开发者大会w w w.e b p f t r a v e l.c o m中 国 西 安上海交通大学 曹钦翔(更新于2025年4月18日下午)背景介绍:eBPF verifier带来的安全保障与开发挑战 技术框架:开发、验证与编译的一体化设计 效果演示第 三 届 e B P F 开 发 者 大 会目录背景介绍第三届 eBPF开发者大会w w w.e b p f t r a v e l.c o m中 国 西 安背景介绍:eBPF verifier带

2、来的安全保障与开发挑战通过verifier排除不安全程序背景介绍:eBPF verifier带来的安全保障与开发挑战通过verifier排除verifier认为不安全的程序背景介绍:eBPF verifier带来的安全保障与开发挑战Linux VerifierPrevail程序分析技术简单控制流图扫描抽象解释安全性验证能力弱中对编程的限制限制极大限制较大验证的资源消耗小大eBPF verifier带来的安全保障与开发挑战1.为了保证操作系统安全,verifier必须保证零漏报,但是允许误报2.verifier的误报越多,对eBPF编程开发的限制就越大3.在verifier仅仅以程序为输入的前提

3、下,要减少误报,就要引入复杂的验证算法,其所消耗的内存与验证时间也会大幅增加4.即使使用程序验证领域前沿成果,也无法在上述设定下根本解决verifier对eBPF编程开发限制较大的问题技术框架第三届 eBPF开发者大会w w w.e b p f t r a v e l.c o m中 国 西 安VEP技术框架1.验证能力不足以精准判断程序的安全性 要求开发人员提供额外的断言标注2.C程序验证(信息更丰富)or 字节码验证(可信基更小)采用两阶段验证方案例子int _xdp_icmp(struct xdp_md*xdp)void*data_end=(void*)xdp-data_end;void*

4、data=(void*)xdp-data;struct eth_hdr*eth=data;if(eth_hdr+1 data_end)return 1;unsigned int h_proto=eth-h_proto;if(h_proto=htons(2048)return handle_ipv4(xdp);elsereturn 2;VEP技术框架 VEP-CF_xdp_icmpdata_end=xdp-data_endstore_xdp(xdp)data_end=xdp-data_end&store_chars(xdp-data,xdp-data_end)User ProvideAuto G

5、eneratedVEP技术框架 VEP-Ceth_end data_endh_proto=eth-h_protoNoYesreturn 1data_end=xdp-data_end&data=xdp-datað=datað_end=eth+sizeof(struct eth_hdr)&store_chars(xdp-data,xdp-data_end)VEP技术框架 VEP-Ceth_end data_endh_proto=eth-h_protoNoYesreturn 1data_end=xdp-data_end&data=xdp-datað=datað_end=eth

6、+sizeof(struct eth_hdr)ð_end data_end&store_chars(xdp-data,xdp-data_end)|-TT Auto CheckVEP技术框架 VEP-Ceth_end data_endh_proto=eth-h_protoNoYesreturn 1data_end=xdp-data_end&data=xdp-datað=datað_end data,xdp-data_end)|-exists v R,store_uint(&(eth-h_proto),v)*R Auto InferVEP技术框架 VEP-Ceth_end dat

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了VEP,一个针对eBPF(扩展Berkeley数据包过滤器)的两阶段验证工具链。该工具链旨在提供全程序开发能力的同时确保操作系统的安全。关键点如下: 1. **背景介绍**:eBPF验证器提供了安全保障,但也带来了开发挑战,如误报多导致编程限制大,验证资源消耗大。 2. **技术框架**:VEP采用C程序验证和字节码验证相结合的两阶段方案,减少误报,提高开发效率。 - VEP-C:通过用户提供的断言和自动生成的标注,增强验证能力。 - VEP-compiler:编译器部分负责将标注过的C程序编译为eBPF字节码。 3. **挑战与选择**:在保证代码不变更的情况下,平衡效率、资源消耗以及误报和漏报之间的权衡。 4. **效果演示**:通过示例展示了如何使用VEP减少误报,并提高开发效率。 5. **未来工作**:朝着功能正确性、减少注解和编译优化方向发展。 核心数据引用:“eBPF verifier带来的安全保障与开发挑战”,以及“VEP技术框架”中的具体实现和优化步骤。
"eBPF开发有何挑战?" "VEP技术如何提升安全性?" "未来eBPF优化方向是啥?"
客服
商务合作
小程序
服务号
折叠