/
Resiliência cibernética

O futuro da execução segura de código: adotando abordagens colaborativas de eBPF

Na cibersegurança, estamos sempre procurando maneiras robustas e confiáveis de executar código. Ferramentas como o eBPF (filtro de pacotes estendido de Berkeley) e tecnologias especializadas de sandboxing se tornaram soluções essenciais.

No entanto, dois eventos no verão de 2024 destacam os pontos fortes e fracos dessas ferramentas.

  • Junho de 2024: Um bug no verificador de código aprimorado do Berkely Packet Filter (eBPF) permitiu que o driver Linux de um grande fornecedor de EDR (detecção e resposta de terminais) travasse o kernel Linux, causando uma grande interrupção entre seus clientes Linux.  
  • Julho de 2024: Um bug no ambiente de execução segura de código desenvolvido internamente pelo mesmo fornecedor permitiu que uma atualização travasse o kernel e tornasse o sistema não inicializável. Isso levou a uma interrupção ainda mais prejudicial e altamente divulgada para seus clientes do Windows.  

Esses dois incidentes mostram duas maneiras diferentes de fazer atualizações de sistema de baixo nível em sistemas ativos e por que devemos preferir uma abordagem unificada e aberta para manter a execução do código segura.

Equilibrar atualizações rápidas de código com a estabilidade do sistema.

No cenário de ameaças em constante evolução de hoje, é crucial enviar atualizações rapidamente para as ferramentas de segurança para impedir que as ameaças causem problemas. Essas atualizações precisam chegar a todos os sistemas de segurança em questão de minutos ou horas. Os "sensores" do EDR podem ser atualizados remotamente pelo seu fornecedor várias vezes ao dia, caso as ameaças exijam esse volume.  

Mas existe um equilíbrio:  

  • O envio de atualizações para ferramentas de segurança que estão intimamente integradas ao sistema operacional pode, por vezes, causar grandes interrupções.  
  • Mas esperar muito tempo para atualizar pode permitir que o malware se espalhe.  

A solução é encontrar uma maneira segura e confiável de mitigar vulnerabilidades no código rapidamente e definir onde o código do sistema operacional deve interagir com as ferramentas de segurança.

Soluções seguras para execução de código: Sandboxing avançado vs. eBPF

Surgiram duas tecnologias para ajudar a garantir que o código seja seguro e correto antes da execução:

tecnologias especializadas de sandboxing  

O sandboxing utiliza máquinas virtuais (VMs) pequenas e focadas, além de verificadores, para garantir que apenas códigos seguros e aprovados sejam executados.  

Essas máquinas virtuais não são como os sistemas tradicionais baseados em hipervisores que executam sistemas operacionais completos. Em vez disso, elas são projetadas para executar programas com segurança usando um conjunto específico de instruções virtuais (como funcionam as VMs Java ou JavaScript, não o VMware).  

O verificador é fundamental — ele checa o código antes de ser executado para garantir que seja seguro e correto. Essa abordagem isola ações potencialmente arriscadas, criando um ambiente seguro para a execução do código.

Programas executados em um ambiente isolado (sandbox) são semelhantes a programas em linguagem assembly. Eles usam um pequeno conjunto básico de instruções que podem funcionar com a maioria dos processadores. Esse design simples torna o código eficiente e garante que ele possa ser executado com segurança no ambiente de sandbox ou kernel.

eBPF

O Extended Berkeley Packet Filter adota uma abordagem mais integrada, especialmente em sistemas Linux. Isso permite que o código seja executado com segurança dentro do kernel, proporcionando maior visibilidade e controle sem comprometer a estabilidade do sistema.  

O eBPF possui um verificador integrado robusto que garante a segurança do código. Isso impede a execução de código com instruções inseguras e oferece uma maneira mais simplificada e eficiente de executar código.

As interrupções de TI de julho de 2024: o que elas nos ensinaram sobre execução segura de código.

Mesmo com as proteções implementadas, eventos recentes demonstraram fragilidades nas ferramentas de sandbox e na tecnologia eBPF.  

É verdade que a interrupção do Linux ocorreu devido a um bug no verificador eBPF, que causou a falha do sistema operacional. Isso demonstra que até mesmo ferramentas avançadas como o eBPF podem apresentar problemas, tornando importante permanecermos atentos e continuarmos a aprimorá-las. Mas o resultado da correção do verificador eBPF tem implicações diferentes para o futuro, pois faz parte de uma solução da comunidade.  

Quando o bug do verificador foi descoberto, a comunidade trabalhou em conjunto rapidamente para corrigi-lo. Esse esforço coletivo ajuda a melhorar o eBPF para todos e torna menos provável que problemas semelhantes voltem a ocorrer.

O incidente da Tela Azul da Morte (BSOD) no ambiente Windows foi causado por erros de memória. Esses erros foram causados por tamanhos de matriz incompatíveis em uma ferramenta de sandbox especial e seu sistema de verificação. Os esforços para analisar e mitigar o incidente demonstraram a importância de um processo de verificação robusto. Isso impediria que vulnerabilidades comprometessem a estabilidade do sistema.  

Diferentemente do eBPF, os sistemas proprietários de VMs e verificadores de sandbox funcionam em ecossistemas fechados. Embora possam corrigir erros identificados, essas melhorias beneficiam apenas os usuários de um único fornecedor. Essa forma de trabalho isolada retarda o compartilhamento de melhorias de segurança e aumenta as chances de problemas semelhantes ocorrerem em outros lugares.

Em direção a uma abordagem unificada: a defesa do eBPF

Esses incidentes contrastantes demonstram a importância de usar um sistema aberto e compartilhado para executar código seguro.  

A abordagem colaborativa da eBPF cria uma base sólida para aprimorar as ferramentas de segurança em diferentes plataformas. Ao utilizar uma única máquina virtual e um verificador integrados ao sistema operacional, as organizações podem evitar a criação de múltiplos sistemas "faça você mesmo" inconsistentes e potencialmente inseguros.

Um bom exemplo dessa ideia é o trabalho que está sendo feito para trazer o eBPF para o Windows. Ao adicionar o eBPF ao seu sistema operacional, as organizações podem criar um ambiente seguro e padronizado para executar ferramentas de segurança de baixo nível. Essa mudança não apenas torna o sistema operacional mais seguro, mas também promove o uso da abordagem comprovada do eBPF em todo o setor.

Os esforços para transformar os fundamentos de segurança em múltiplos sistemas operacionais com integração segura do kernel demonstram o potencial dessa ideia. Ao utilizar os recursos do eBPF, esses projetos visam construir um sistema mais seguro e conectado para que as ferramentas de segurança funcionem em diferentes sistemas operacionais.

O que o eBPF significa para o futuro da cibersegurança

Problemas recentes com ferramentas de segurança mostram como a adoção do eBPF pode beneficiar o setor de cibersegurança. Com seu modelo aberto e colaborativo, as organizações podem considerar os benefícios potenciais da integração do eBPF em suas soluções.  

Ao utilizar o eBPF, a responsabilidade por falhas do sistema, como pânicos do kernel, passaria para o fornecedor do sistema operacional. Eles estão mais bem equipados para lidar com esses problemas e manter o sistema seguro e estável.

Ao confiar em fornecedores de sistemas operacionais confiáveis para manter o eBPF seguro, as organizações podem se concentrar em fornecer atualizações mais rápidas e confiáveis aos seus clientes. Este método apoia o objetivo de permitir melhorias rápidas sem sacrificar a segurança.  

Embora a realização de testes cuidadosos antes do lançamento de atualizações ainda seja importante, o uso dos recursos de segurança integrados do eBPF pode reduzir significativamente a probabilidade de ocorrência de problemas durante a execução do sistema.

A colaboração é o futuro da execução segura de código.

Incidentes recentes resultantes de problemas de execução de código demonstram a complexidade de manter ambientes robustos e confiáveis.  

Máquinas virtuais e verificadores de sandbox proprietários podem dar às organizações mais controle e personalização, mas também as impedem de acessar melhorias de segurança mais abrangentes. Por outro lado, a abordagem aberta e colaborativa do eBPF cria um sistema mais robusto que permite melhorias constantes e benefícios de segurança compartilhados.

À medida que o setor evolui, a utilização de modelos como o eBPF, que incentivam a colaboração e a padronização, pode ajudar a criar sistemas mais robustos e seguros. As organizações podem se beneficiar muito ao adicionar o eBPF às suas ferramentas, utilizando o conhecimento compartilhado da comunidade para melhorar a segurança.  

Com esse espírito de colaboração, o futuro da cibersegurança parece mais promissor e seguro para todos.

Entre em contato conosco hoje mesmo Para saber mais sobre a Plataforma de Segmentação Confiança Zero da Illumio.

Artigos relacionados

Experimente o Illumio Insights hoje mesmo

Veja como a observabilidade com IA ajuda você a detectar, entender e conter ameaças mais rapidamente.