Segurança do Linux reforçada

AT_EXECVE_CHECK: nova flag de segurança no Linux 6.14

Conheça mais novidades do Linux Kernel 6.14.

Com a abertura da janela de merge para o Linux 6.14, uma das mudanças aguardadas é a introdução da flag AT_EXECVE_CHECK na chamada `execveat`. Desenvolvida por Kees Cook, engenheiro do Google, essa funcionalidade busca melhorar a consistência e a segurança no ambiente de execução ao verificar permissões de “executabilidade” para arquivos usados por interpretadores e bibliotecas dinâmicas.

O que é a AT_EXECVE_CHECK?

A AT_EXECVE_CHECK é uma flag que permite verificar se um arquivo pode ser executado de acordo com as políticas de segurança do kernel Linux. Ela é projetada para lidar com casos em que a execução não passa diretamente pelo kernel, como:

  • Scripts executados por interpretadores (e.g., `sh script.sh`).
  • Bibliotecas carregadas dinamicamente (e.g., `dlopen()`).

Com essa flag, é possível garantir que a execução direta (e.g., `./script.sh`) e indireta (e.g., `sh script.sh`) tenham os mesmos requisitos de permissão, aumentando a consistência e a segurança.

Principais funcionalidades da AT_EXECVE_CHECK

1. Verificação de permissões de execução

Ao usar a flag, o sistema verifica se o arquivo é executável sem considerar dependências externas, como bibliotecas ou interpreters.

2. Prevenção de condições de corrida

Combinando a flag AT_EXECVE_CHECK com AT_EMPTY_PATH, é possível realizar a verificação diretamente via descritor de arquivo, evitando problemas de time-of-check to time-of-use (TOCTOU).

3. Aplicação em ambientes seguros

Em ambientes que utilizam o recurso SECBIT_EXEC_RESTRICT_FILE ou SECBIT_EXEC_DENY_INTERACTIVE, essa flag pode ser usada para reforçar políticas que exigem execução apenas de códigos confiáveis.

Benefícios para a segurança no Linux

A introdução da AT_EXECVE_CHECK representa um avanço significativo para fortalecer a segurança no kernel Linux. Entre os benefícios estão:

  • Consistência: Garante que diferentes métodos de execução sigam as mesmas políticas de segurança.
  • Controle granular: Permite que bibliotecas dinâmicas e scripts sejam validados antes da execução.
  • Logs aprimorados: Possibilidade de adicionar informações detalhadas aos registros de acesso.

Próximos passos

A AT_EXECVE_CHECK passou pelo ciclo “-next” no Linux e já foi amplamente revisada e testada. Agora, o pull request enviado por Kees Cook aguarda aprovação de Linus Torvalds para ser incluído na próxima versão do kernel. Caso aprovado, a funcionalidade estará disponível no Linux 6.14.

Mais informações estão disponíveis no arquivo da lista de discussão.

Conclusão

A flag AT_EXECVE_CHECK é uma adição promissora ao kernel Linux, oferecendo novas ferramentas para aprimorar a segurança e a consistência em ambientes de execução. Essa funcionalidade destaca o compromisso contínuo da comunidade em tornar o Linux mais seguro para todos os usuários.

Emanuel Negromonte Autor
Autor
Jornalista especialista em Linux a mais de 20 anos. Fundador do SempreUpdate e entusiasta do software livre.