Google pagará desenvolvedores do kernel para se focarem na segurança

O Google pagará desenvolvedores do kernel para se focarem na segurança por meio de uma iniciativa conjunta com a Linux Foundation.

O Linux é mais seguro do que a maioria dos sistemas operacionais, mas isso não significa que possa considerar a segurança garantida.

Por conta disso, o Google e a Linux Foundation estão financiando dois dos principais desenvolvedores do kernel Linux para se concentrarem na segurança. Sim. o Google pagará desenvolvedores do kernel para se focarem na segurança

Google pagará desenvolvedores do kernel para se focarem na segurança

Google pagará desenvolvedores do kernel para se focarem na segurança
Google pagará desenvolvedores do kernel para se focarem na segurança

Dificilmente se passa uma semana sem que outro grande problema de segurança do Windows apareça, enquanto os problemas de segurança do Linux, quando examinados de perto, geralmente acabam sendo erros cometidos por uma administração de sistema incompetente.

Mas o Linux não pode descansar sobre os louros. Existem verdadeiras questões de segurança do Linux que precisam ser resolvidas.

É aí que o Google e a Linux Foundation entram com um novo plano para subscrever dois mantenedores em tempo integral para o desenvolvimento de segurança do kernel do Linux, Gustavo Silva e Nathan Chancellor.

O foco exclusivo de Silva e Chancellor será manter e melhorar a segurança do kernel e iniciativas associadas para garantir a segurança do Linux. Certamente há trabalho a ser feito.

Como a Open Source Security Foundation (OpenSSF) e o Laboratory for Innovation Science at Harvard (LISH) descobriram em sua pesquisa de contribuidores de código aberto, a segurança é freqüentemente negligenciada no desenvolvimento de software de código aberto.

O True Linux tem mais de 20.000 colaboradores e, em agosto de 2020, um milhão de commits, mas a segurança não é um dos seus principais problemas.

Infelizmente, tudo começa no topo. Linus Torvalds, o criador do Linux, realmente não gosta de pessoas que tornam o aprimoramento da segurança no Linux mais problemático do que o necessário.

Em 2017, em seu próprio estilo inestimável, ele chamou alguns desenvolvedores de segurança de “idiotas de merda”. Mas Torvalds, embora frequentemente colorido, também orientou os programadores de segurança.

Do ponto de vista de Torvalds:

“Os problemas de segurança são apenas bugs. … O único processo no qual estou interessado é o processo de _desenvolvimento_, onde encontramos bugs e os corrigimos.”

Ou, como Torvalds disse em 2008:

“Para mim, a segurança é importante. Mas não é menos importante do que tudo *mais* que também é importante!”

Torvalds não é o único que vê as coisas dessa forma. Jason A. Donenfeld, criador da Rede Privada Virtual Wireguard (VPN) do Linux, disse na Linux Kernel Mailing List (LKML) que “algumas pessoas da segurança zombam da obsessão de outras pessoas da segurança com ‘bugs de segurança'”.

Ele acrescentou:

“A indústria de segurança está em grande parte obcecada por encontrar (e vender/usar/corrigir/reportar/mostrar/armazenar/detectar/roubar) essa variedade de bugs ‘perigosos/úteis’. E essa obsessão é continuamente preenchida porque os bugs continuam acontecendo – que é apenas a natureza do desenvolvimento de software – e, portanto, essa paixão por ‘bug de segurança’ continua.”

Embora Torvalds e Donenfeld reconheçam a importância de proteger o Linux, muitos desenvolvedores ouvem seu desdém pelos pesquisadores de segurança, embora não percebam que ambos consideram a correção de bugs de segurança reais um trabalho necessário.

O resultado? Em média, os programadores de código aberto usam apenas 2,27% de seu tempo total de contribuição com segurança. Pior ainda, a maioria dos desenvolvedores de código aberto não deseja gastar mais tempo e esforços com segurança.

Como David A. Wheeler, diretor de segurança da cadeia de suprimentos de código aberto da The Linux Foundation, disse no Relatório sobre a Pesquisa de Contribuidores de FOSS 2020:

“Está claro a partir das descobertas de 2020 que precisamos tomar medidas para melhorar a segurança sem sobrecarregar os colaboradores. “

A solução, sugeriram os autores do relatório, era dedicar dinheiro e recursos a propósitos específicos de segurança.

Isso inclui adicionar ferramentas relacionadas à segurança ao pipeline de integração contínua (CI), auditorias de segurança e recursos de computação. Em outras palavras, torne mais fácil para os desenvolvedores adicionarem segurança a seus projetos.

Especificamente, OpenSSF e LISH sugeriram:

  • Financiar auditorias de segurança de projetos críticos de código aberto e exige que as auditorias produzam alterações específicas e mescláveis.
  • Reescrever partes ou componentes inteiros de projetos FOSS propensos a vulnerabilidades para produzir um resultado substancialmente mais seguro (por exemplo, contribuir com uma reescrita em uma linguagem de memória segura).
  • Priorize as melhores práticas de desenvolvimento de software seguro.
  • As empresas devem tornar o treinamento de desenvolvimento de software seguro um requisito para a contratação ou o desenvolvimento profissional contínuo para seus desenvolvedores FOSS pagos.
  • Use programas de crachá, programas de mentoria e a influência de contribuidores FOSS respeitados para incentivar os projetos e seus contribuidores a desenvolver e manter práticas seguras de desenvolvimento de software.
  • Incentivar projetos para incorporar ferramentas de segurança e testes automatizados como parte de seu pipeline de integração contínua (CI); idealmente como parte de sua plataforma de gerenciamento de código padrão.

O fornecimento de fundos pelo Google para garantir dois mantenedores de segurança do Linux em tempo integral indica a importância da segurança na sustentabilidade contínua do software de código aberto.

Em um comunicado, Dan Lorenc, engenheiro de software da equipe do Google, disse:

“No Google, a segurança está sempre em mente e entendemos o papel crítico que ela desempenha para a sustentabilidade do software de código aberto. Estamos honrados em apoiar os esforços de Gustavo Silva e Nathan Chancellor enquanto trabalham para aprimorar a segurança do kernel do Linux.”

O trabalho do Chancellor será focado na triagem e correção de todos os bugs encontrados com compiladores Clang/LLVM enquanto trabalha no estabelecimento de sistemas CI para suportar ferramentas de compilador Clang e LLVM.

Dois anos atrás, o Chancellor começou a contribuir para o Linux principal sob o projeto ClangBuiltLinux, que é um esforço colaborativo para obter a construção do kernel Linux com Clang e LLVM.

O kernel do Linux sempre foi tradicionalmente compilado com cadeias de ferramentas GNU, como GCC e binutils. Os utilitários Clang e LLVM mais modernos permitem que os desenvolvedores criem compilações mais limpas e seguras.

Distribuições do Linux como Android, ChromeOS e OpenMandriva já usam kernels integrados ao Clang.

Chancellor trabalha no kernel do Linux há quatro anos e meio, e ele disse que:

“Espero que mais e mais pessoas comecem a usar o projeto de infraestrutura do compilador LLVM e contribuam com correções para ele e para o kernel – isso contribuirá muito para melhorar a segurança do Linux para todos”

O trabalho de segurança Linux em tempo integral de Gustavo Silva é atualmente dedicado a eliminar várias classes de buffer overflows, transformando todas as instâncias de arrays de comprimento zero e um elemento em membros de array flexível, que é o mecanismo preferido e menos sujeito a erros para declarar tal tipos de comprimento variável.

Silva também está trabalhando na correção de bugs antes que eles atinjam a linha principal, enquanto desenvolve proativamente mecanismos de defesa que eliminam classes inteiras de vulnerabilidades. Antes disso, Silva liderou o esforço para eliminar falhas de switch implícitas no kernel do Linux.

Silva enviou seu primeiro patch de kernel em 2010 e é um membro ativo do Kernel Self Protection Project (KSPP). Ele é consistentemente um dos cinco desenvolvedores de kernel mais ativos desde 2017, com mais de 2.000 commits principais.

Além disso, o trabalho de Silva impactou 27 árvores estáveis ​​diferentes, indo até o kernel 3.16.

Silva disse que:

“Estamos trabalhando para construir um kernel de alta qualidade que seja confiável, robusto e mais resistente a ataques todas as vezes. Por meio desses esforços, esperamos que as pessoas, os mantenedores, em particular, reconheçam a importância de adotar mudanças que tornem seu código menos sujeito a erros comuns.”

Sobre a iniciativa, Wheeler acrescentou que:

“Garantir a segurança do kernel Linux é extremamente importante, pois é uma parte crítica da infraestrutura e computação moderna. Requer que todos nós ajudemos de todas as maneiras que pudermos para garantir que seja seguro de forma sustentável. Estendemos um agradecimento especial ao Google por subscrever o trabalho de desenvolvimento de segurança do kernel Linux de Gustavo e Nathan, juntamente com um agradecimento a todos os mantenedores, desenvolvedores e organizações que fizeram do kernel Linux um sucesso global colaborativo.”

O Google recentemente colocou mais recursos na segurança de todos os softwares de código aberto. A empresa há pouco tempo propôs uma estrutura, “Know, Prevent, Fix” (Conhecer, Prevenir, Consertar), para como podemos pensar sobre vulnerabilidades de código aberto e áreas concretas a serem tratadas primeiro, incluindo:

  • Consenso sobre metadados e padrões de identidade: Precisamos de consenso sobre os fundamentos para lidar com esses problemas complexos como uma indústria. Acordos sobre detalhes de metadados e identidades permitirão a automação, reduzirão o esforço necessário para atualizar o software e minimizarão o impacto das vulnerabilidades.
  • Maior transparência e revisão para software crítico: Para software que é crítico para a segurança, precisamos concordar com processos de desenvolvimento que garantam revisão suficiente, evitem mudanças unilaterais e levem de forma transparente a versões oficiais bem definidas e verificáveis.

Voltando ao Linux especificamente, a iniciativa não se treta apenas de “Google pagará desenvolvedores do kernel para se focarem na segurança”. Financiar a segurança e o desenvolvimento do kernel do Linux é um esforço colaborativo que precisa do suporte de todos.

Para apoiar um trabalho como este, as discussões estão ocorrendo no Securing Critical Projects Working Group dentro do OpenSSF. Se você quer se envolver no trabalho, agora é sua chance. Não se trata apenas do Google e dos principais desenvolvedores Linux, todos que trabalham com Linux precisam estar envolvidos.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.