eBPF技术已经成为云原生社区近年来备受关注的技术话题之一。在云原生领域,越来越多的项目和产品开始使用eBPF技术来构建其核心能力,涉及可观测性、网络和安全等关键领域。
尽管eBPF技术备受关注,但是市面上关于eBPF技术尤其是eBPF技术在云原生安全领域应用的书籍寥寥无几。为此,我们编写了这本关于eBPF技术的书,内容涵盖eBPF的工作原理、eBPF在云原生安全领域的应用、知名eBPF云原生安全项目、使用eBPF技术开发安全相关功能等。
本书的目标读者包括开发者、eBPF技术爱好者及云原生安全领域的从业人员。无论是对eBPF技术本身感兴趣的读者,还是对其在云原生安全领域的应用感兴趣的读者,都适合阅读本书。
本书分为四大部分,其中第一部分由匡大虎完成,其余三部分由黄竹刚完成。各部分的内容如下:
第一部分为eBPF助力云原生安全,包括第1~4章。第1章简要介绍云原生安全的挑战、发展、理论基础及方法论,第2章带领读者初步认识eBPF,第3章介绍eBPF的技术原理,第4章探讨eBPF技术在云原生安全领域的应用。
第二部分为云原生安全项目详解,包括第5~7章。这部分从安装、使用及架构和实现原理等方面,介绍Falco、Tracee、Tetragon这三个云原生安全领域基于eBPF技术实现核心安全能力的知名开源项目。
第三部分为eBPF安全技术实战,包括第8~12章。这部分以实战的方式介绍如何使用eBPF技术实现常见的安全需求,比如审计和拦截命令执行操作、文件读写操作、权限提升操作及网络流量。同时,这部分还将介绍如何实现实际业务场景中提出的为安全事件关联进程信息、容器和Pod信息等上下文信息的需求。
第四部分为eBPF安全进阶,包括第13和14章。第13章介绍如何使用eBPF技术审计复杂的攻击手段,比如无文件攻击、反弹Shell。第14章介绍恶意eBPF程序的常见实现模式及如何防护和探测这类恶意程序。
由于作者的水平有限,书中难免会出现一些错误或不准确的地方,恳请读者批评指正。勘误将会在本书示例程序的源代码仓库(https://github.com/mozillazg/cloud-native-security-with-ebpf)中以Issue的形式发布,读者发现任何错误,有任何意见或建议,都欢迎在Issue中留言。
谨以此书献给所有热爱和关注eBPF与云原生安全的读者!