筑牢云安全防线:《eBPF云原生安全》实战指南

文摘   2024-09-20 08:30   江苏  

eBPF技术已经成为云原生社区近年来备受关注的技术话题之一。在云原生领域,越来越多的项目和产品开始使用eBPF技术来构建其核心能力,涉及可观测性、网络和安全等关键领域。

《eBPF云原生安全:原理与实践》内容涵盖eBPF的工作原理、eBPF在云原生安全领域的应用、知名eBPF云原生安全项目、使用eBPF技术开发安全相关功能等。



扫码了解 ↑


视频介绍






内容简介




这是一本系统讲解如何使用eBPF技术构建云原生安全防线的著作,是一本面向eBPF技术爱好者和云安全领域从业者的实战宝典,从原理与实践角度详述了eBPF技术在云原生安全领域正在发生的关键作用,是作者多年构筑云原生安全纵深防御经验的总结。

本书详细阐述了eBPF技术的核心原理以及在云原生安全领域的应用价值,并结合大量的代码案例分析,深入探讨了在典型的云原生安全需求场景下使用eBPF技术可以帮助实现的安全功能和实践原理,同时也讲述了可能引入的安全风险,帮助读者从零基础快速了解eBPF技术,开始eBPF安全编程。

通过阅读本书,你将了解:

  • 云原生安全面临的主要挑战,发展现状和理论基础;

  • eBPF技术的基本原理和云原生安全领域的典型应用;

  • 基于eBPF技术的云原生安全核心开源项目的安装、使用、基础架构和实现原理;

  • 如何使用eBPF技术实现典型的云原生安全需求及实现原理;

  • 如何将eBPF安全事件关联进程、容器和Pod等上下文信息;

  • 如何使用eBPF技术审计复杂的云原生攻击手段;

  • 恶意eBPF程序的典型实现方式以及如何防护和探测此类恶意程序。

目录



上拉下滑查看目录 ↓

Contents目  录

前 言

第一部分 eBPF助力云原生安全

第1章 云原生安全概述  3

1.1 云原生安全的挑战  3

1.1.1 云原生平台基础设施的安全

风险  4

1.1.2 DevOps软件供应链的安全

风险  4

1.1.3 云原生应用范式的安全风险  5

1.2 云原生安全的演进  5

1.3 云原生安全的理论基础  11

1.3.1 威胁建模  11

1.3.2 坚守安全准则  14

1.3.3 安全观测和事件响应  21

1.4 云原生安全的方法论  21

1.4.1 CNCF云原生安全架构  22

1.4.2 云原生应用保护平台  31

1.5 本章小结  35

第2章 初识eBPF  36

2.1 eBPF历史  36

2.2 eBPF的关键特性和应用场景  38

2.2.1 Linux内核  38

2.2.2 eBPF的关键特性  39

2.2.3 eBPF的应用场景  41

2.3 eBPF的架构  44

2.4 本章小结  47

第3章 eBPF技术原理详解  48

3.1 eBPF“Hello World”程序  48

3.2 eBPF技术原理  53

3.2.1 eBPF Map数据结构  53

3.2.2 eBPF虚拟机  56

3.2.3 eBPF验证器  60

3.2.4 bpf()系统调用  61

3.2.5 eBPF程序和附着类型  63

3.3 eBPF程序的开发模式  66

3.3.1 BCC模式  66

3.3.2 CO-RE+ libbpf模式  68

3.4 本章小结  75

第4章 eBPF技术在云原生安全领域

的应用  76

4.1 针对云原生应用的攻击  76

4.2 eBPF和云原生安全的契合点  78

4.2.1 容器中的基础隔离  78

4.2.2 传统安全架构  79

4.2.3 eBPF提升云原生应用运行时

安全  80

4.2.4 eBPF伴随云原生应用生命

周期  81

4.3 eBPF云原生安全开源项目  83

4.3.1 Falco  84

4.3.2 Tracee  85

4.3.3 Tetragon  86

4.4 双刃剑  87

4.5 本章小结  90

第二部分 云原生安全项目详解

第5章 云原生安全项目Falco详解  93

5.1 项目介绍  93

5.1.1 功能  93

5.1.2 使用场景  95

5.2 安装  95

5.2.1 使用包管理工具  95

5.2.2 下载二进制包  97

5.2.3 Kubernetes环境  98

5.3 使用示例  99

5.3.1 规则引擎  99

5.3.2 告警输出  104

5.3.3 事件源  104

5.4 架构和实现原理  105

5.4.1 架构  105

5.4.2 驱动  105

5.4.3 用户态模块  111

5.5 本章小结  113

第6章 云原生安全项目Tracee

详解  114

6.1 项目介绍  114

6.2 安装  115

6.3 使用示例  116

6.3.1 事件追踪  116

6.3.2 制品捕获  122

6.3.3 风险探测  124

6.3.4 外部集成  127

6.4 架构和实现原理  129

6.4.1 架构  129

6.4.2 tracee-ebpf实现原理  130

6.5 本章小结  141

第7章 云原生安全项目Tetragon

详解  142

7.1 项目介绍  142

7.2 安装  143

7.3 使用示例  144

7.3.1 事件观测  144

7.3.2 风险拦截  149

7.4 架构和实现原理  154

7.4.1 架构  154

7.4.2 事件观测  156

7.4.3 风险拦截  165

7.5 本章小结  166

第三部分 eBPF安全技术实战

第8章 使用eBPF技术审计和拦截

命令执行操作  169

8.1 审计命令执行操作  169

8.1.1 基于eBPF Kprobe和Kretprobe

实现  170

8.1.2 基于eBPF Fentry和Fexit

实现  173

8.1.3 基于eBPF Ksyscall和Kretsyscall

实现  174

8.1.4 基于eBPF Tracepoint实现  175

8.2 拦截命令执行操作  178

8.2.1 基于bpf_send_signal实现  178

8.2.2 基于bpf_override_return实现  179

8.3 本章小结  182

第9章 使用eBPF技术审计和拦截

文件读写操作  183

9.1 审计文件读写操作  183

9.1.1 基于eBPF Kprobe和Kretprobe

实现  184

9.1.2 基于eBPF Tracepoint实现  185

9.1.3 基于eBPF LSM实现  187

9.2 拦截文件读写操作  189

9.2.1 基于bpf_send_signal实现  190

9.2.2 基于bpf_override_return实现  191

9.2.3 基于eBPF LSM实现  191

9.3 本章小结  192

第10章 使用eBPF技术审计和拦截

权限提升操作  193

10.1 审计权限提升操作  193

10.1.1 基于eBPF LSM实现  194

10.1.2 基于eBPF Kprobe实现  195

10.2 拦截权限提升操作  196

10.3 本章小结  197

第11章 使用eBPF技术审计和拦截

网络流量  198

11.1 审计网络流量  198

11.1.1 基于eBPF套接字过滤器实现  198

11.1.2 基于eBPF TC实现  204

11.1.3 基于eBPF XDP实现  207

11.1.4 基于Kprobe实现  207

11.2 拦截网络流量  209

11.2.1 基于eBPF TC实现  209

11.2.2 基于eBPF XDP实现  210

11.3 本章小结  211

第12章 为事件关联上下文信息  212

12.1 进程信息  212

12.1.1 进程操作事件  212

12.1.2 网络事件  216

12.2 容器和Pod信息  221

12.2.1 进程操作事件  221

12.2.2 网络事件  225

12.3 本章小结  226

第四部分 eBPF安全进阶

第13章 使用eBPF技术审计复杂的

攻击手段  229

13.1 审计使用无文件攻击技术实现的

命令执行操作  229

13.2 审计反弹Shell操作  232

13.3 本章小结  236

第14章 使用eBPF技术探测恶意

eBPF程序  237

14.1 恶意eBPF程序  237

14.1.1 常规程序  237

14.1.2 网络程序  250

14.2 防护恶意eBPF程序  260

14.3 探测和审计恶意eBPF程序  261

14.3.1 文件分析  261

14.3.2 bpftool  262

14.3.3 内核探测  265

14.4 本章小结  268



了解更多







  • 本文来源:原创,图片来源:原创

  • 责任编辑:王莹,部门领导:宁姗

  • 发布人:白钰

湘安无事
湘安无事团队欢迎各位同学了解安全,也欢迎各位大佬加入和指点。深情哥wx:azz_789 乱聊技术