这是一本系统讲解如何使用eBPF技术构建云原生安全防线的著作,是一本面向eBPF技术爱好者和云安全领域从业者的实战宝典,从原理与实践角度详述了eBPF技术在云原生安全领域正在发生的关键作用,是作者多年构筑云原生安全纵深防御经验的总结。
本书详细阐述了eBPF技术的核心原理以及在云原生安全领域的应用价值,并结合大量的代码案例分析,深入探讨了在典型的云原生安全需求场景下使用eBPF技术可以实现的安全功能和实践原理,同时也讲述了可能引入的安全风险,帮助读者零基础快速了解eBPF技术,开始eBPF安全编程。
通过阅读本书,你将了解:
●云原生安全面临的主要挑战、发展现状和理论基础;
●eBPF技术的基本原理和云原生安全领域的典型应用;
●基于eBPF技术的云原生安全核心开源项目的安装、使用、基础架构和实现原理;
●如何使用eBPF技术实现典型的云原生安全需求及实现原理;
●如何将eBPF安全事件关联进程、容器和Pod等上下文信息;
●如何使用eBPF技术审计复杂的云原生攻击手段;
●恶意eBPF程序的典型实现方式以及如何防护和探测此类恶意程序。
黄竹刚
阿里云容器服务技术专家,eBPF 技术爱好者,云原生安全领域从业人员,拥有十余年软件开发经验,熟悉Python、Go等多种编程语言,热爱开源并长期活跃于开源社区。
匡大虎
阿里云容器服务高级技术专家,曾就职于IBM和华为云。专注云原生安全,有十余年的云计算和容器安全攻防经验,负责阿里云容器服务团队安全产品能力的架构设计和研发工作。
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与云原生安全的读者!