分类 foundation 中的文章

【BPF入门系列-5】基于 eBPF 实现容器运行时安全

本文作者: 范彬 1 前言 随着容器技术的发展,越来越多业务甚至核心业务开始采用这一轻量级虚拟化方案。作为一项依然处于发展阶段的新技术,容器的安全性在不断提高,也在不断地受到挑战。天翼云云容器引擎于去年11月底上线,目前已经在22个自研资源池部署上线。天翼云云容器引擎使用 ebpf 技术实现了细粒……

阅读全文

【BPF入门系列-4】如何在 BPF 程序中正确地按照 PID 过滤?

1. 前言 在 bpf 的实现中我们经常在内核 helper 函数 bpf_get_current_pid_tgid() 来进行用户空间进程 pid 进行过滤,那么到底如何写呢? 在 BCC 项目中有不少程序直接使用 bpf_get_current_pid_tgid() 直接与用户空间传入的 pid 对比,也有使用 bpf_get_current_pid_tgid() >> 32 进行过滤的,那么使用者或者开发者到底应该使用哪种方式,这篇文章可以帮你彻底解决这类的疑惑。 2. Linux 进程与线程 在 Linux 系统中进程在……

阅读全文

【BPF入门系列-3】BPF 环境搭建

1. 内核版本选择 补丁 Prepatch: Prepatch 或 “RC” 内核是主线内核的预发布版本,主要针对其他内核开发者和 Linux 爱好者。它们必须从源码中编译,并且通常包含新的功能,这些功能必须在稳定发布之前进行测试。Prepatch 内核由 Linus Torvalds 维护和发布。 主线版 Mainline: 主线版本由 Linus Torvalds 维护。它是介绍所有新……

阅读全文

【BPF入门系列-2】BPF 学习路径总结

1. 为什么要学习 BPF 可以先从 ebpf.io 网站获取一个简单的了解,首页内容翻译如下。 Linux 内核一直是实现监控/可观察性、网络和安全性的理想场所。不幸的是,这往往是不切实际的,因为它需要改变内核源代码或加载内核模块,并导致层层抽象叠加。eBPF 是一项革命性的技术,它可以在 Linux 内核中运行沙盒程序,而无需改……

阅读全文

【BPF入门系列-1】eBPF 技术简介

eBPF 技术简介 由范老师和我一起翻译的图书 《Linux内核观测技术BPF》 已经在 JD 上有现货,欢迎感兴趣 BPF 技术的同学选购。链接地址 https://item.jd.com/72110825905.html “eBPF 是我见过的 Linux 中最神奇的技术,没有之一,已成为 Linux 内核中顶级子模块,从 tcpdump 中用作网络包过滤的经典 cbpf,到成为通用 Linux 内核技术的 eBPF,已经完成华丽蜕……

阅读全文