ilustração 2D do Tux, mascote do Linux, usando capacete, armadura e segurando um escuto e uma espada
RB/Dall-E

A segurança digital é uma preocupação constante no mercado de tecnologia, e o Linux, utilizado em 96% dos servidores web e 85% de todos os smartphones, está chegando com um reforço significativo em segurança na sua versão 6.9 do kernel, previsto para ser lançado em meados de maio, trazendo diversas verificações adicionais e defesas implementadas durante a compilação para garantir as melhores práticas de proteção.

Kees Cook, responsável pelo envio das atualizações de segurança, descreveu o conjunto de mudanças como “bem normal” e “abrangente”, indicando que elas cobrem diferentes áreas do código.

Uma das novidades é a reintrodução do Undefined Behavior Sanitizer (UBSAN) com signed overflow sanitizer. Essa ferramenta de depuração auxilia no processo de compilação identificando potenciais erros de estouro de inteiro assinalado, evitando comportamentos inesperados no código. Anteriormente, o signed overflow sanitizer havia sido removido por ser considerado ineficaz em conjunto com a opção “-fno-strict-overflow”. Com melhorias recentes na ferramenta e a importância de detectar estouros inesperados, o recurso foi reativado.

Além disso, o pacote de atualizações de segurança do Linux 6.9 inclui atualizações para arquivos de configuração (Kconfig) e headers, a remoção de uma verificação de compatibilidade retroativa com 13 anos (CAP_SYS_ADMIN) e outras pequenas alterações, todas voltadas para o fortalecimento da segurança (Kernel Hardening) do sistema.

É importante destacar que o kernel Linux é a base sobre a qual sistemas operacionais, como Ubuntu, Debian, Fedora e Arch Linux são construídos. Ao reforçar a segurança do kernel, os desenvolvedores estão tornando todo os sistemas baseados em Linux mais resistente a ataques e vulnerabilidades.

Mas o que é Kernel Hardening?

Kernel hardening é um processo empregado para fortalecer a segurança do kernel, a parte central do sistema operacional, contra ataques e vulnerabilidades. Imagine o kernel como o alicerce de uma casa. O kernel hardening funciona como o reforço desse alicerce, tornando-o mais resistente a rachaduras e invasões.

Veja também: Linux Hardening: técnicas e práticas para proteger o sistema operacional

Objetivos do kernel hardening

  • Reduzir a superfície de ataque: Ao desabilitar recursos e funcionalidades não utilizados do kernel, diminui-se o número de pontos vulneráveis que um invasor poderia explorar.
  • Impedir erros de programação: O kernel hardening pode incluir a implementação de verificações de segurança adicionais durante a compilação do código do kernel, ajudando a identificar e corrigir erros que poderiam levar a vulnerabilidades.
  • Limitar privilégios: Kernel hardening pode restringir o acesso a certas partes do kernel, tornando mais difícil para programas maliciosos obterem privilégios elevados.

Técnicas de kernel hardening

  • Desabilitar funcionalidades desnecessárias: Recursos do kernel que não são usados pelo sistema podem ser desabilitados para reduzir a superfície de ataque.
  • Verificações de estouro de buffer: Essas verificações ajudam a prevenir que programas escrevam dados além do limite alocado, o que pode levar a travamentos do sistema ou execução de código malicioso.
  • Randomização do Layout da Memória do Kernel (KASLR): O KASLR altera aleatoriamente a localização do kernel na memória a cada inicialização do sistema, tornando mais difícil para os invasores explorarem vulnerabilidades conhecidas.