A companhia de seguros GEICO lançou uma versão preliminar da ferramenta TuxTape, que permite a implementação de sua própria infraestrutura para criar, compilar e entregar patches ao vivo para o kernel Linux. Os patches ao vivo permitem aplicar correções ao kernel Linux em tempo real, sem reiniciar ou parar o sistema. O código do projeto é escrito em Rust e distribuído sob a licença Apache 2.0.
Patches ao vivo para correção de vulnerabilidades são fornecidos por empresas como Red Hat, Oracle, Canonical e SUSE para suas distribuições, mas a única parte aberta é a ferramenta de baixo nível para trabalhar com patches, enquanto os próprios patches são gerados em segredo. As distribuições Gentoo e Debian tentaram desenvolver projetos abertos como elivepatch e linux-livepatching, mas o primeiro está abandonado há 6 anos, enquanto o segundo parou na fase de criação de um protótipo de teste.
O TuxTape visa organizar o funcionamento de um sistema próprio para a criação e entrega de patches ao vivo, independente de fornecedores externos e adaptável a qualquer kernel Linux, e não apenas para pacotes com o kernel de distribuições específicas. O TuxTape pode gerar patches ao vivo compatíveis com a ferramenta kpatch, desenvolvida pela Red Hat (além do kpatch existem ferramentas semelhantes: kGraft da SUSE, Ksplice da Oracle e o livepatch universal). Os patches são formados na forma de módulos de kernel carregáveis, que substituem funções no kernel, utilizando o subsistema ftrace para redirecionar para novas funções incluídas no módulo.

O TuxTape pode rastrear informações sobre correções de vulnerabilidades no kernel Linux, publicadas na lista de discussão linux-cve-announce e no repositório Git, classificar vulnerabilidades por grau de severidade, determinar a aplicabilidade a kernels Linux suportados e gerar patches ao vivo com base em patches comuns para os ramos LTS do kernel. A aplicabilidade dos patches originais é avaliada através da profilação das compilações do kernel. Patches com vulnerabilidades que não afetam o kernel alvo são ignorados.
O TuxTape inclui um sistema para rastrear novas vulnerabilidades no kernel, um construtor de banco de dados de patches e vulnerabilidades, servidor para armazenar metadados, um sistema de gerenciamento de compilação do kernel, um compilador de kernel, um gerador de patches, um arquivo de patches, um cliente para receber patches para hosts finais e uma interface interativa para gerenciar a criação de patches ao vivo.

O desenvolvimento está na fase de protótipo experimental. Para os testes iniciais, foram propostos: tuxtape-cve-parser para analisar informações sobre vulnerabilidades e construir um banco de dados com patches; tuxtape-server com a implementação da interface gRPC para serviços que geram patches; tuxtape-kernel-builder para compilar o kernel em uma configuração definida e gerar o perfil de compilação; tuxtape-dashboard — uma interface de console para revisar e criar live-patches com base em patches de origem obtidos do tuxtape-server.

Fonte: opennet.ru
