EBPF
Autor | Alexei Starovoitov, Daniel Borkmann[1][2] |
Desenvolvedor | Open source community, Meta, Google, Isovalent, Microsoft, Netflix[1] |
Lançamento | 2014[3] |
Escrito em | C |
Sistema operacional | Linux, Windows[4] |
Gênero(s) | Sistema de tempo de execução |
Licença | Linux: GPL Windows: MIT License |
Página oficial | ebpf |
Repositório | Linux: git Windows: github |
eBPF é uma tecnologia que pode executar programas em um contexto privilegiado, como o kernel do sistema operacional .[5] É o sucessor do mecanismo de filtragem Berkeley Packet Filter (BPF, com o "e" originalmente significando "estendido") no Linux e também é usado em outras partes do kernel do Linux. Ele é usado para estender com segurança e eficiência os recursos do kernel em tempo de execução, sem exigir alterações no código-fonte do kernel ou carregar módulos do kernel .[6] A segurança é fornecida por meio de um verificador no kernel que executa análise estática de código e rejeita programas que travam, travam ou interferem negativamente no kernel.[7][8]
Este modelo de validação difere dos ambientes em sandbox, onde o ambiente de execução é restrito e o tempo de execução não tem insights sobre o programa.[9] Exemplos de programas que são rejeitados automaticamente são programas sem fortes garantias de saída (ou seja, loops for/while sem condições de saída) e programas que desreferenciam ponteiros sem verificações de segurança.[10]
Projeto
[editar | editar código-fonte]Os programas carregados que passaram no verificador são interpretados ou compilados just-in-time no kernel (compilados JIT) para desempenho de execução nativo. O modelo de execução é orientado a eventos e, com poucas exceções , é executado até a conclusão, o que significa que os programas podem ser anexados a vários pontos de gancho no kernel do sistema operacional e executados após o acionamento de um evento. Os casos de uso de eBPF incluem (mas não estão limitados a) redes como XDP, rastreamento e subsistemas de segurança .[5] Dado que a eficiência e flexibilidade do eBPF abriram novas possibilidades para resolver problemas de produção, Brendan Gregg apelidou o eBPF de "superpoderes para Linux".[11] Linus Torvalds disse: "O BPF tem sido realmente muito útil, e o verdadeiro poder dele é como ele permite que as pessoas criem códigos especializados que não são habilitados até serem solicitados".[12] Devido ao seu sucesso no Linux, o tempo de execução do eBPF foi portado para outros sistemas operacionais como o Windows .
História
[editar | editar código-fonte]O eBPF foi construído sobre o Berkeley Packet Filter (cBPF). No nível mais baixo, introduziu o uso de dez registradores de 64 bits (em vez de dois registradores longos de 32 bits para cBPF), semântica de salto diferente, uma instrução de chamada e convenção de passagem de registrador correspondente, novas instruções e uma codificação diferente para estes. instruções.[13]
Data | Evento |
---|---|
Abril de 2011 | O primeiro compilador jit dentro do kernel Linux do clássico Berkley Packet Filter é mesclado.[14] |
Janeiro de 2012 | O primeiro caso de uso não relacionado a redes do clássico Berkeley Packet Filter, seccomp-bpf,[15] aparece. Permite que chamadas de sistema sejam filtradas usando um política implementada através e instruções BPF. |
Março de 2014 | David S. Miller, o mantenedor primário da pilha de rede do Linux, aceita o antigo retrabalhado interpretador EBF dentro do kernel. Ele foi substituído pelo interpretador eBPF e o kernel Linux traduz internamente as instruções clássicas BPF(cBPF) em ePBF.[16] |
Março de 2015 | The ability to attach eBPF to kprobes as first tracing use case was merged.[18] In the same month, initial infrastructure work got accepted to attach eBPF to the networking traffic control (tc) layer allowing to attach eBPF to the core ingress and later also egress paths of the network stack, later heavily used by projects such as Cilium.[19][20][21] |
Agosto de 2015 | O backend eBPF foi mesclado no release 3.7.0 do LLVM.[22] |
Setembro de 2015 | Brendan Gregg anunciou um coleção de novas ferramentas de tracing baseadas em eBPF, como o projeto bcc, provendo um front-end para o eBPF para facilitar escrever programas.[23] |
Julho de 2016 | eBPF got the ability to be attached into network driver's core receive path. This layer is known today as eXpress DataPath (XDP) and was added as a response to DPDK to create a fast data path which works in combination with the Linux kernel rather than bypassing it.[24][25][26] |
Agosto de 2016 | Cilium was initially announced during LinuxCon as a project providing fast IPv6 container networking with eBPF and XDP. Today, Cilium has been adopted by major cloud provider's Kubernetes offerings and is one of the most widely used CNIs.[27][21][28] |
Novembro de 2016 | Netronome added offload of eBPF programs for XDP and tc BPF layer to their NIC.[29] |
Maio de 2017 | O loadbalance de nível 4 da Meta, Katran, vai ao ar. Todo pacote direcionado ao facebook.com dês de então tem sido processado por eBPF & XDP.[30] |
Novembro de 2017 | A eBPF se torna o seu próprio subsistema para facilitar o crescimento contínuo do gerenciamento de patches. O primeiro pull request por um mantenedor do eBPF é submetido.[31] |
Setembro de 2017 | Bpftool foi adicionado ao kernel Linux como um utilitário de user space para fazer instrospeção do subsistema eBPF.[32] |
Janeiro de 2018 | Uma nova família de sockets chamada AF_XDP foi publicada, permitindo que o processamento de pacotes de alta performance com semântica de zero-copy no nível XDP.[33] Hoje, DPDK tem suporte official a um driver poll-mode AF_XDP.[34] |
Fevereiro de 2018 | O protótio do bpfilter foi publicado, permitindo a tradução de um subconjunto de regras iptables em eBPF através de um modo de usuário desenvolvido recentemente. O trabalho causou controvérsias devido ao desenvolvimento corrente do nftables e não foi mesclado na linha principal.[35][36] |
Outubro de 2018 | A nova ferramenta bpftrace foi anunciada por Brendan Gregg como DTrace 2.0 para Linux.[37] |
Novembro de 2018 | Introspecção eBPF foi adicionada para o kTLS para suportar a capacidade de enforcement políticas de TLS dentro do kernel.[38] |
Novembro de 2018 | O BTF (BPF Type Format) foi adicionado ao kernel Linux com um formato de meta data eficiente que é aproximadamente 100 vezes menor que o DWARF.[39] |
Dezembro de 2019 | O primeiro livro de 800 páginas sobre BPF, escrito por Brendan Gregg, foi lançado.[40] |
Março de 2020 | O Google upstreamed o suporte a BPF LSM no kernel Linux, possibilitando Linux Security Modules (LSMs) prográmveis através do eBPF.[41] |
Setembro de 2020 | O backend eBPF para o GNU Compiler Collection (GCC) foi mesclado.[42] |
Marca
[editar | editar código-fonte]O alias eBPF é frequentemente usado de forma intercambiável com BPF,[43] por exemplo pela comunidade do kernel Linux. eBPF e BPF são chamados de nomes de tecnologia como LLVM .[2] O eBPF evoluiu do Berkeley Packet Filter como uma versão estendida, mas seu caso de uso superou a rede, e hoje o eBPF como pseudo-acrônimo é o preferido.[2]
A abelha é o logotipo oficial da eBPF. No primeiro Summit da eBPF houve votação e a mascote abelha foi batizada de “eBee”.[44][45] O logotipo foi originalmente criado por Vadim Shchekoldin.[45] Mascotes eBPF não oficiais anteriores existiram no passado,[46] mas não foram amplamente adotados.
Governança
[editar | editar código-fonte]A Fundação eBPF foi criada em agosto de 2021 com o objetivo de expandir as contribuições feitas para ampliar os poderosos recursos do eBPF e crescer além do Linux.[1] Os membros fundadores incluem Meta, Google, Isovalent, Microsoft e Netflix . O objetivo é arrecadar, orçamentar e gastar fundos em apoio a vários projetos de código aberto, dados abertos e/ou padrões abertos relacionados às tecnologias eBPF[47] para impulsionar ainda mais o crescimento e a adoção do ecossistema eBPF. Desde o início, Red Hat, Huawei, Crowdstrike, Tigera, DaoCloud, Datoms, FutureWei também aderiram.[48]
Adoção
[editar | editar código-fonte]O eBPF foi adotado por vários usuários de produção em larga escala, por exemplo:
- A Meta usa eBPF através do seu load blancer Katran para todo trafego para facebook.com[49][50][51][30]
- O Google usa eBPF no GKE, ele desenvolve e usa BPF LSM para substituir audit e usa eBPF para networking[28][52][53][54]
- A Cloudflare usa eBPF para load-balancing e proteção contra DDoS e reforço de segurança[55][56][57][58][59]
- O Netflix usa eBPF para observabilidade em nível de frota da rede e diagnóstico de performance[60][61]
- O Dropbox usa eBPF através do Katran para load-balancing de nível 4[62]
- O Android usa eBPF para NAT46 e monitoramento de trafego[63][64][65]
- O Samsung Galaxy usa eBPF para soluções de rede[66]
- O Yahoo! Inc usa eBPF através do loadblancer de nível 4 Cilium[67]
- O LinkedIn usa eBPF para observabilidade de infraestrutura[68]
- O Alibaba usa eBPF para o seu loadbalances de Pod Kubernetes[69]
- A Datadog usa eBPF para a reforçar a rede e segurança de Kubernetes Pod[70][71][72]
- A Trip.com usa eBPF para rede Kubernetes Pod[73][74]
- A Shopify usa eBPF para detecção de intrusão através do Falco[75]
- O DoorDash usa eBPF através do BPFAgent para monitoramento em nível de kernel[76]
- A Microsoft portou o eBPF e XDP para o Windows[77][78][79]
- A Seznam usa eBPF atraves do loadbalancer de nível 4 Cilium[80]
- A DigitalOcean usa eBPF e XDP para limitar a taxa de acesso a serviços internos em seu rede virtual[81]
- A CapitalOne usa eBPF para rede de Kubernetes Pod[82]
- A Bell Canada usa eBPF para modernizar a rede de telco com SRv6[83]
- A Elastic_NV usa eBPF para for code profiling como parte das suas ofertas de observabilidade[84]
- A Apple usa eBPF para segurança de Kubernetes[85]
- A Sky usa eBPF para rede Kubernetes Pod[86]
- O Walmart usa eBPF para loadbalancing de nível 4[87][88]
- A Huawei usa eBPF atraves do seu sistema boot seguro DIGLIM[89]
- A Ikea usa eBPF para rede Kubernetes Pod[90]
- O The New York Times usa eBPF para rede[91]
- A Red Hat usa eBPF em escala para loadblancing e tracing de sua nuvem privada
- A Palantir Technologies usa eBPF para debugar problemas de rede em clusters Kubernetes em larga escala[92]
Segurança
[editar | editar código-fonte]Devido à facilidade de programação, o eBPF tem sido usado como uma ferramenta para implementar ataques de canal lateral de temporização microarquitetural, como Spectre, contra microprocessadores vulneráveis.[93] Embora o eBPF sem privilégios tenha implementado mitigações contra ataques de execução transitórios,[94] o uso sem privilégios foi finalmente desabilitado pela comunidade do kernel por padrão para proteger contra uso contra futuras vulnerabilidades de hardware.[95]
Ver também
[editar | editar código-fonte]Referências
- ↑ a b c «Meta, Google, Isovalent, Microsoft and Netflix Launch eBPF Foundation as Part of the Linux Foundation». Linux Foundation. 12 de Agosto de 2021. Consultado em 1 de Julho de 2022
- ↑ a b c «BPF Internals». USENIX LISA 2021 conference. 1 de Junho de 2021. Consultado em 1 de Julho de 2022
- ↑ «eBPF and Kubernetes: Little Helper Minions for Scaling Microservices». CNCF KubeCon + CloudNativeCon Europe 2020. 19 de Agosto de 2020. Consultado em 1 de Julho de 2022
- ↑ «Making eBPF work on Windows». Microsoft Open Source Blog. 10 de Maio de 2021. Consultado em 1 de Julho de 2022
- ↑ a b «eBPF Documentation: What is eBPF?». eBPF.io. Consultado em 1 de Julho de 2022
- ↑ «eBPF - Rethinking the Linux Kernel». QCon 2020. Consultado em 1 de Julho de 2022
- ↑ «Safe Programs The Foundation of BPF.». eBPF Summit 2021. 8 de Novembro de 2020. Consultado em 1 de Julho de 2022
- ↑ «BPF and Spectre: Mitigating transient execution attacks». POPL 2022 conference. 22 de Janeiro de 2022. Consultado em 1 de Julho de 2022
- ↑ «eBPF - The Silent Platform Revolution from Cloud Native» (PDF). SIGCOMM 2023, 1st Workshop on eBPF and Kernel Extensions. 10 de Setembro de 2023. Consultado em 5 de Outubro de 2023
- ↑ Hedam, Niclas (26 de Maio de 2023). «eBPF - From a Programmer's Perspective» (PDF) (em inglês). doi:10.13140/RG.2.2.33688.11529/4
- ↑ «Linux BPF Superpowers». Brendan Gregg's Blog. 5 de Março de 2016. Consultado em 1 de Julho de 2022
- ↑ «Linus Torvalds talks about coming back to work on Linux». zdnet Interview with Linus Torvalds. 23 de Outubro de 2018. Consultado em 1 de Julho de 2022
- ↑ «Classic BPF vs eBPF». LWN. Março de 2014. Consultado em 6 de Janeiro de 2023
- ↑ «net: filter: Just In Time compiler». lore.kernel.org. Abril de 2011. Consultado em 1 de Julho de 2022
- ↑ «Yet another new approach to seccomp». LWN. 1 de Janeiro de 2012. Consultado em 1 de Julho de 2022
- ↑ «BPF updates». lore.kernel.org. Março de 2014. Consultado em 1 de Julho de 2022
- ↑ «Happy birthday BPF!». lore.kernel.org. Setembro de 2014. Consultado em 1 de Julho de 2022
- ↑ «tracing: attach eBPF programs to kprobes». lore.kernel.org. Março de 2015. Consultado em 1 de Julho de 2022
- ↑ «eBPF support for cls_bpf». lore.kernel.org. Março de 2015. Consultado em 1 de Julho de 2022
- ↑ «net, sched: add clsact qdisc». lore.kernel.org. Janeiro de 2016. Consultado em 1 de Julho de 2022
- ↑ a b «eBPF-based Networking, Observability, Security». cilium.io. Janeiro de 2016. Consultado em 1 de Julho de 2022
- ↑ «LLVM 3.7 Release Notes». releases.llvm.org. Agosto de 2015. Consultado em 1 de Julho de 2022
- ↑ «bcc: Taming Linux 4.3+ Tracing Superpowers». brendangregg.com. Setembro de 2015. Consultado em 1 de Julho de 2022
- ↑ «Add driver bpf hook for early packet drop and forwarding». lore.kernel.org. Julho de 2016. Consultado em 1 de Julho de 2022
- ↑ «eCHO episode 9: XDP and Load Balancing». youtube.com. Junho de 2021. Consultado em 1 de Julho de 2022
- ↑ Høiland-Jørgensen, Toke; Brouer, Jesper Dangaard; Borkmann, Daniel; Fastabend, John; Herbert, Tom; Ahern, David; Miller, David (Dezembro de 2018). «The eXpress data path: Fast programmable packet processing in the operating system kernel». Proceedings of the 14th International Conference on emerging Networking EXperiments and Technologies. pp. 54–66. ISBN 9781450360807. doi:10.1145/3281411.3281443
- ↑ referencia é uma apresentação de slides no slideshare ponto com
- ↑ a b «New GKE Dataplane V2 increases security and visibility for containers». cloud.google.com. Maio de 2021. Consultado em 16 de Agosto de 2022
- ↑ «nfp ring reconfiguration and XDP support». lore.kernel.org. Novembro de 2016. Consultado em 1 de Julho de 2022
- ↑ a b «XDP 1.5 Years In Production. Evolution and Lessons Learned.». lpc.events. Novembro de 2018. Consultado em 16 de Agosto de 2022
- ↑ «pull-request: bpf 2017-11-23». lore.kernel.org. Novembro de 2017. Consultado em 1 de Julho de 2022
- ↑ «tools: add bpftool». lore.kernel.org. Setembro de 2017. Consultado em 1 de Julho de 2022
- ↑ «Introducing AF_XDP support». lore.kernel.org. Janeiro de 2018. Consultado em 1 de Julho de 2022
- ↑ «AF_XDP Poll Mode Driver». doc.dpdk.org. Agosto de 2022. Consultado em 16 de Agosto de 2022
- ↑ «BPF comes to firewalls». lwn.net. Fevereiro de 2018. Consultado em 1 de Julho de 2022
- ↑ «Why is the kernel community replacing iptables with BPF?». cilium.io. Abril de 2018. Consultado em 1 de Julho de 2022
- ↑ «bpftrace (DTrace 2.0) for Linux 2018». brendangregg.com. Outubro de 2018. Consultado em 16 de Agosto de 2022
- ↑ «Combining kTLS and BPF for Introspection and Policy Enforcement» (PDF). vger.kernel.org. Novembro de 2018. Consultado em 1 de Julho de 2022
- ↑ «BTF deduplication and Linux kernel BTF». nakryiko.com. Novembro de 2018. Consultado em 1 de Julho de 2022
- ↑ «BPF Performance Tools (book)». brendangregg.com. Dezembro de 2019. Consultado em 16 de Agosto de 2022
- ↑ «MAC and Audit policy using eBPF (KRSI)». lore.kernel.org. Março de 2020. Consultado em 16 de Agosto de 2022
- ↑ «BPF in GCC». lwn.net. Setembro de 2020. Consultado em 16 de Agosto de 2022
- ↑ Brendan Gregg (Dezembro de 2019). BPF Performance Tools. [S.l.]: Addison-Wesley. ISBN 978-0136554820
- ↑ «eBPF Summit Day Two». cilium.io. Outubro de 2020. Consultado em 1 de Julho de 2022
- ↑ a b «What is the bee named?». ebpf.io. Consultado em 1 de Julho de 2022
- ↑ «eBPF: One Small Step». Brendan Gregg's Blog. Maio de 2015. Consultado em 1 de Julho de 2022
- ↑ «eBPF Foundation Charter». ebpf.foundation. Junho de 2021. Consultado em 16 de Agosto de 2022
- ↑ «eBPF Foundation Governance». ebpf.foundation. Agosto de 2022. Consultado em 16 de Agosto de 2022
- ↑ «Open-sourcing Katran, a scalable network load balancer». fb.com. Maio de 2018. Consultado em 16 de Agosto de 2022
- ↑ «BPF at Facebook». youtube.com. Dezembro de 2019. Consultado em 16 de Agosto de 2022
- ↑ «From XDP to socket». lpc.events. Setembro de 2021. Consultado em 16 de Agosto de 2022
- ↑ «eCHO episode 29: BPF LSM with KP Singh». youtube.com. Novembro de 2021. Consultado em 16 de Agosto de 2022
- ↑ «BPF security auditing at Google - Brendan Jackman/KP Singh». youtube.com. Novembro de 2021. Consultado em 16 de Agosto de 2022
- ↑ «Replacing HTB with EDT and BPF». netdevconf.info. Julho de 2020. Consultado em 16 de Agosto de 2022
- ↑ «Cloudflare architecture and how BPF eats the world». blog.cloudflare.com. Maio de 2019. Consultado em 16 de Agosto de 2022
- ↑ «It's crowded in here!». blog.cloudflare.com. Outubro de 2019. Consultado em 16 de Agosto de 2022
- ↑ «Production ready eBPF, or how we fixed the BSD socket API». blog.cloudflare.com. Fevereiro de 2022. Consultado em 16 de Agosto de 2022
- ↑ «Live-patching security vulnerabilities inside the Linux kernel with eBPF Linux Security Module». blog.cloudflare.com. Junho de 2022. Consultado em 16 de Agosto de 2022
- ↑ «Unimog - Cloudflare's edge load balancer». blog.cloudflare.com. Setembro de 2020. Consultado em 16 de Agosto de 2022
- ↑ «How Netflix uses eBPF flow logs at scale for network insight». netflixtechblog.com. Junho de 2021. Consultado em 16 de Agosto de 2022
- ↑ «Extending Vector with eBPF to inspect host and container performance». netflixtechblog.com. Fevereiro de 2019. Consultado em 16 de Agosto de 2022
- ↑ «Dropbox traffic infrastructure: Edge network». dropbox.tech. Outubro de 2018. Consultado em 16 de Agosto de 2022
- ↑ «eBPF Traffic Monitoring». source.android.com. Agosto de 2022. Consultado em 16 de Agosto de 2022
- ↑ «Extending the Kernel with eBPF». source.android.com. Agosto de 2022. Consultado em 16 de Agosto de 2022
- ↑ «NAT46 translation with BPF». lore.kernel.org. Abril de 2022. Consultado em 16 de Agosto de 2022
- ↑ «BPF for Android: How we leverage BPF for our networking solutions - Madhan Raj Kanagarathinam». www.youtube.com. Fevereiro de 2024. Consultado em 19 de Fevereiro de 2022
- ↑ Software L4 Load Balancing for Kubernetes Services at Yahoo! – Karthikeyan Thangaraj, Verizon Media (em inglês), consultado em 3 de fevereiro de 2024
- ↑ «Skyfall: eBPF agent for infrastructure observability». www.linkedin.com (em inglês). Consultado em 3 de fevereiro de 2024
- ↑ «How Does Alibaba Cloud Build High-Performance Cloud-Native Pod Networks in Production Environments?». alibabacloud.com. Setembro de 2020. Consultado em 16 de Agosto de 2022
- ↑ «Datadog on eBPF». datadogon.datadoghq.com. Fevereiro de 2021. Consultado em 16 de Agosto de 2022
- ↑ «Runtime Security Monitoring with eBPF» (PDF). sstic.org. Fevereiro de 2021. Consultado em 16 de Agosto de 2022
- ↑ «Our eBPF Journey at Datadog - Laurent Bernaille & Tabitha Sable, Datadog». youtube.com. Novembro de 2020. Consultado em 16 de Agosto de 2022
- ↑ «User Story - How Trip.com uses Cilium». cilium.io. Fevereiro de 2020. Consultado em 16 de Agosto de 2022
- ↑ «Trip.com: Stepping into Cloud Native Networking Era with Cilium+BGP». arthurchiao.art. Novembro de 2020. Consultado em 16 de Agosto de 2022
- ↑ Keynote: Open Source Intrusion Detection for Containers at Shopify - Shane Lawrence & Kris Nóva (em inglês), consultado em 9 de fevereiro de 2024
- ↑ Rogers, Patrick (15 de agosto de 2023). «BPFAgent: eBPF for Monitoring at DoorDash - DoorDash Engineering Blog». DoorDash Engineering Blog (em inglês). Consultado em 9 de fevereiro de 2024
- ↑ «Making eBPF work on Windows». cloudblogs.microsoft.com. Maio de 2021. Consultado em 16 de Agosto de 2022
- ↑ «Getting Linux based eBPF programs to run with eBPF for Windows». cloudblogs.microsoft.com. Fevereiro de 2022. Consultado em 16 de Agosto de 2022
- ↑ «Progress on making eBPF work on Windows». cloudblogs.microsoft.com. Novembro de 2019. Consultado em 16 de Agosto de 2022
- ↑ «Cilium Standalone Layer 4 Load Balancer XDP». cilium.io. Julho de 2022. Consultado em 16 de Agosto de 2022
- ↑ Rate limiting access to internal services in a virtual network – Nick Bouliane, DigitalOcean (em inglês), consultado em 4 de fevereiro de 2024
- ↑ «Building a Secure and Maintainable PaaS - Bradley Whitfield, Capital One». youtube.com. Novembro de 2020. Consultado em 16 de Agosto de 2022
- ↑ Why eBPF is changing the telco networking space – Daniel Bernier, Bell Canada (em inglês), consultado em 9 de fevereiro de 2024
- ↑ Elastic Universal Profiling (em inglês), consultado em 26 de fevereiro de 2024
- ↑ «Think eBPF for Kernel Security Monitoring - Falco at Apple- Eric Sage & Melissa Kilby, Apple». youtube.com. Outubro de 2021. Consultado em 16 de Agosto de 2022
- ↑ «eBPF & Cilium at Sky – Sebastian Duff, Anthony Comtois, Jospeh [sic] Samuel, Sky». youtube.com. Agosto de 2021. Consultado em 16 de Agosto de 2022
- ↑ «Running and orchestrating multiple XDP and TC programs – Brian Merrell, Walmart». youtube.com. Agosto de 2021. Consultado em 16 de Agosto de 2022
- ↑ «High Performance Load Balancing @Walmart – Kanthi Pavuluri & Karan Dalal, Walmart». youtube.com. Agosto de 2021. Consultado em 16 de Agosto de 2022
- ↑ «DIGLIM eBPF: secure boot at application level with minimal changes to distros - Roberto Sassu». youtube.com. Agosto de 2022. Consultado em 16 de Agosto de 2022
- ↑ «IKEA Private Cloud, eBPF Based Networking, Load Balancing, and Observability with... Karsten Nielsen». youtube.com. Maio de 2022. Consultado em 16 de Agosto de 2022
- ↑ Panel Discussion: Is There Actually a Byte Behind All the Buzz? eBPF in Production! (em inglês), consultado em 9 de fevereiro de 2024
- ↑ Using user-space tracing to solve DNS problems – Andrius Grabauskas, Palantir (em inglês), consultado em 9 de fevereiro de 2024
- ↑ «Reading privileged memory with a side-channel». googleprojectzero.blogspot.com. 3 de Janeiro de 2018. Consultado em 16 de Agosto de 2022
- ↑ «BPF and Spectre: Mitigating transient execution attacks». popl22.sigplan.org. Consultado em 16 de Agosto de 2022
- ↑ «bpf: Disallow unprivileged bpf by default». kernel.org. Consultado em 16 de Agosto de 2022
Leitura adicional
[editar | editar código-fonte]- Gregg, Brendan (Dezembro de 2019). BPF Performance Tools. [S.l.]: Addison-Wesley. ISBN 978-0136554820
- David Calavera, Lorenzo Fontana (Dezembro de 2019). Linux Observability With BPF. [S.l.]: O'Reilly Media, Incorporated. ISBN 978-1492050209
- Gregg, Brendan (Dezembro de 2020). Systems Performance, Second edition. [S.l.: s.n.] ISBN 978-0136820154
- Rice, Liz (Abril de 2022). What Is eBPF?. [S.l.: s.n.] ISBN 978-1492097259
- Rice, Liz (Abril de 2023). Learning eBPF: Programming the Linux Kernel for Enhanced Observability, Networking, and Security. [S.l.]: O'Reilly Media. ISBN 978-1098135126