eBPF 是一项革命性的技术,起源于 Linux 内核,它可以在特权上下文中(如操作系统内核)运行沙盒程序。它用于安全有效地扩展内核的功能,而无需通过更改内核源代码或加载内核模块的方式来实现。
分类
Cilium
  • pdf 文档 How and When You Should Measure CPU Overhead of eBPF Programs

    0 码力 | 20 页 | 2.04 MB | 1 年前
    3
    文档介绍了如何测量eBPF程序的CPU开销,强调了测量的重要性和方法。文档指出,eBPF程序通过运行时间(run_time_ns)和运行次数(run_cnt)来衡量性能,推荐使用eBPF进行基准测试和CI/CD,并在生产环境中使用采样分析器。测量方法包括通过sysctl和procfs启用内核eBPF统计,以及使用bpftool、bpf syscall和procfs访问统计信息。文档还介绍了ebpfbench这一Go库,用于eBPF基准测试。
  • pdf 文档 bpfbox: Simple Precise Process Confinement with eBPF and KRSI

    0 码力 | 8 页 | 528.12 KB | 1 年前
    3
    本文档介绍了bpfbox,一种基于eBPF和KRSI的Linux进程限制机制。bpfbox允许用户为每个应用程序编写简单的策略,并通过附加BPF程序到LSM钩子来执行这些策略。该机制结合了用户空间和内核空间的状态,提供了一种轻量级、灵活且生产安全的解决方案。bpfbox的策略语言支持规则和指令,用于指定对系统对象的访问权限,并增强规则块的功能。文档还提到bpfbox在Linux内核5.8及以上版本上即插即用,并对现有进程限制机制进行了改进。
  • pdf 文档 Debugging Go in production using eBPF

    0 码力 | 14 页 | 746.99 KB | 1 年前
    3
    本文档展示了如何利用eBPF在生产环境中调试Go程序。通过使用tracepoints进行动态日志记录,可以轻松地对生产二进制文件进行插桩。尽管Go的ABI(应用程序二进制接口)复杂性(如接口和通道等特性)使得调试变得困难,但仍可通过eBPF实现复杂功能,例如捕获HTTP消息。文档详细介绍了如何使用eBPF挂钩函数调用,并通过示例展示了如何利用BPF程序捕获函数参数。此外,还提到了使用Uprobes进行函数挂钩,并通过Perf Buffer输出跟踪数据。最后,文档展示了如何通过eBPF实现Go程序的动态调试,并提供了Github链接供进一步参考。
  • pdf 文档 Zero instrumentation monitoring with your first steps in eBPF

    0 码力 | 7 页 | 618.37 KB | 1 年前
    3
    文档介绍了eBPF在非仪器化监控中的应用,展示了如何通过eBPF附加到不同事件(如Kprobes、uprobes、Tracepoints和网络包)进行监控。内容还提到了使用C、LLVM/CLANG、tc、gobpf和bcc等工具和框架来简化eBPF开发,并提供了实际案例和链接供读者进一步探索。
  • pdf 文档 Identity Aware Threat Detection and Network Monitoring by using eBPF

    0 码力 | 7 页 | 1.35 MB | 1 年前
    3
    文档介绍了使用eBPF进行基于身份的威胁检测和网络监控的方法。传统网络工具基于IP和端口,但在Kubernetes环境中,IP地址动态变化使其不再有意义。通过结合eBPF和Cilium,可以实现对 suspicious IP的流出监控、未经授权的互联网流量检测以及Kubernetes API服务器访问的监控。解决方案包括定义签名、导出数据到Splunk,并通过网络策略决策字段(如转发或丢弃)进行警报。该方法能够有效应对容器化工作负载的网络威胁。
  • pdf 文档 North-South Load Balancing of Kubernetes Services with eBPF/XDP

    0 码力 | 11 页 | 444.46 KB | 1 年前
    3
    文档探讨了在Kubernetes服务中利用eBPF/XDP技术实现南北向流量负载均衡的方法。通过将服务暴露于固定IP地址,并结合eBPF/XDP的高效数据包处理能力,文档展示了如何优化服务发现和流量管理。Cilium作为容器网络解决方案,利用这些技术实现高性能和低延迟的网络通信。
  • pdf 文档 eBPF Summit 2020 Lightning Talk

    0 码力 | 22 页 | 1.81 MB | 1 年前
    3
    文档介绍了eBPF Summit 2020 Lightning Talk的主要内容,包括不同类型的BPF程序、使用Rust编写BPF程序、在RedBPF中添加新功能、利用BPF maps进行状态决策,以及如何加载程序以保护RabbitMQ。
  • pdf 文档 Understanding Ruby with BPF - rbperf

    0 码力 | 19 页 | 972.07 KB | 1 年前
    3
    文档介绍了rbperf工具,该工具用于通过BPF技术分析Ruby程序的性能。rbperf能够记录和报告系统调用(如write(2))以及CPU活动,特别适用于复杂Ruby程序的执行分析。文档还展示了rbperf的工作流程,包括数据采集、处理和输出,并提到了未来计划,如集成到Facebook的性能分析基础设施、改进开源版本和增加更多功能支持。
  • pdf 文档 Building a Secure and Maintainable PaaS

    0 码力 | 20 页 | 2.26 MB | 1 年前
    3
    文档讨论了构建一个安全且可维护的PaaS平台的方法,重点介绍了使用eBPF技术来扩展安全性和改善平台支持。文中提到通过eBPF可以实现网络隔离、网络可见性和审核,同时减少维护和性能开销,突破iptables的限制。此外,文档还强调了使用eBPF进行网络流量监控和日志存储的重要性,以确保平台的安全性和可扩展性。
  • pdf 文档 Hardware Breakpoint implementation in BCC

    0 码力 | 8 页 | 2.02 MB | 1 年前
    3
    文档详细介绍了硬件断点(Hardware Breakpoint)在BCC(Boring C++ Compiler)中的实现。主要内容包括硬件断点的基本功能、实现方法及其在调试工具中的应用。文档通过代码示例展示了如何使用perf工具和BPF(Berkeley Packet Filter)库来实现硬件断点监控,包括内存访问的监控和断点事件的处理逻辑。此外,文档还提供了具体的函数实现和配置参数,如attr.size、attr.type、attr.bp_type等,并通过libbpf.c和breakpoint.py文件展示了实际的代码实现。
共 22 条
  • 1
  • 2
  • 3
前往