O conceito de "Livepatch não é nenhuma novidade e nem sequer foi implementado no Linux há alguns anos, já que Red Hat, Oracle, Canonical e SUSE são algumas das que implementaram essa tecnologia em suas distribuições.
E embora tenham se consolidado como uma excelente solução, esta Geralmente depende de processos fechados na criação dos patches, limitando a transparência e a adaptabilidade. Projetos anteriores de código aberto, como o elivepatch do Gentoo e o linux-livepatching do Debian, foram marcados por longos perÃodos de inatividade ou estagnação em suas fases de protótipo.
Diante dessa série de problemas que ainda estão enfrentando o processo de geração, compilação, implantação e instalação de patches ativos do kernel Linux, O TuxTape se apresenta como uma solução independente, projetado para ser adaptável a qualquer versão do kernel Linux, sem se limitar a pacotes especÃficos de cada distribuição.
TuxTape, uma solução para aplicação de patches ao vivo no Linux
TuxTape, é uma nova solução que permite administradores de sistemas implemente sua própria infraestrutura para criar, montar e implantar patches ativos no kernel Linux.
O objetivo principal O TuxTape's é para oferecer um sistema abrangente que automatiza a criação e entrega de patches ativos. Sua arquitetura permite gerar patches compatÃveis com ferramentas existentes, como o kpatch da Red Hat, o kGraft da SUSE, o Ksplice da Oracle e outras soluções universais.
Os remendos Eles são implementados como módulos do kernel que substituem funções existentes usando o subsistema ftrace, que redireciona a execução para as novas funções incluÃdas no módulo. Além disso, o TuxTape tem a capacidade de rastrear atualizações de vulnerabilidades postadas na lista de discussão linux-cve-announce e nos repositórios Git.

Usando essas informações, o sistema classifica as vulnerabilidades por gravidade, avalia a aplicabilidade de cada patch por meio de uma análise detalhada do perfil de compilação do kernel e descarta as correções que não afetam o ambiente de destino. Essa abordagem seletiva garante que apenas mudanças relevantes sejam implementadas, minimizando riscos e otimizando o desempenho.
Componentes e arquitetura do projeto
O kit TuxTape É composto por múltiplas ferramentas integradas variando da detecção à aplicação de patches ao vivo:
- Sistema de Rastreamento de Vulnerabilidades: Ele é responsável por detectar e registrar novas ameaças em tempo real.
- Gerador de banco de dados: Ele é responsável por fornecer informações sobre patches e vulnerabilidades em um banco de dados estruturado.
- Servidor de metadados com gRPC: Gerencia a comunicação e a coordenação de serviços relacionados à geração de patches.
- Sistema de despacho e construção do kernel: Facilita a compilação do kernel em configurações especÃficas gerando um perfil de compilação detalhado.
- Gerador e arquivo de patch: Transforma patches regulares em módulos de kernel carregáveis ​​dinamicamente.
- Cliente para hosts finais: Permite o recebimento e aplicação de patches em sistemas de produção.
- Interface interativa (Painel): Fornece um console de administração para o usuário, onde ele pode revisar, gerenciar e criar patches ativos com base nas fontes recebidas.
Vale ressaltar que o projeto e desenvolvimento do TuxTape está atualmente em fase de protótipo experimental, portanto, no momento ele é recomendado apenas para testes iniciais com seus diferentes componentes.
Para aqueles interessados ​​em testar o projeto, atualmente os testes são recomendados apenas em ferramentas especÃficas, como:
- tuxtape-cve-analisador: Analisa informações de vulnerabilidade e cria um banco de dados de patches.
- tuxtape-servidor: Implementa uma interface gRPC para geração e distribuição de patches.
- construtor-de-kernel-tuxtape: Ele é responsável por construir o kernel com uma determinada configuração e gerar o perfil de compilação correspondente.
- painel-tuxtape: Fornece uma interface de console para revisar e criar patches ativos com base em patches de origem recebidos.
Por fim, é importante mencionar que o projeto está sendo desenvolvido em Rust e é distribuÃdo sob a licença Apache 2.0. Você pode consultar mais informações ou o código fonte deste, em o seguinte link.