A Internet funciona por meio de um software de código aberto gratuito. Quem paga para consertá-la?
Computação

A Internet funciona por meio de um software de código aberto gratuito. Quem paga para consertá-la?

Projetos executados por voluntários como o Log4J mantêm a Internet funcionando. O resultado é um esgotamento insustentável dos colaboradores e um risco para a segurança nacional quando eles dão errado.

No momento, Volkan Yazici está trabalhando 22 horas por dia gratuitamente.

Yazici é membro do projeto Log4J, uma ferramenta de código aberto amplamente utilizada para registrar atividades em vários tipos de software. Ele ajuda a administrar grandes áreas da Internet, incluindo aplicativos como iCloud e Twitter, e ele e seus colegas estão agora tentando desesperadamente lidar com uma enorme vulnerabilidade que colocou bilhões de máquinas em risco.

A vulnerabilidade no Log4J é extremamente fácil de explorar. Depois de enviar uma sequência de caracteres maliciosos para uma máquina vulnerável, os hackers podem executar qualquer código que quiserem dentro dela. Alguns dos primeiros ataques foram feitos por crianças colando o código malicioso em servidores do Minecraft. Hackers, incluindo alguns ligados à China e ao Irã, agora procuram explorar a vulnerabilidade em qualquer máquina que encontrem e que esteja executando o código defeituoso.

E não há um fim claro à vista. A questão Log4J equivale a uma crise de segurança de longo prazo que deve durar meses ou anos. Jen Easterly, diretora da Agência de Segurança Cibernética e de Infraestrutura dos Estados Unidos, disse que esta é “uma das falhas mais sérias” que ela já viu.

Para algo tão importante, você poderia esperar que as maiores empresas de tecnologia do mundo e governos teriam contratado centenas de especialistas bem pagos para corrigir a falha rapidamente.

A realidade, no entanto, é diferente: o Log4J, que há muito é uma peça crítica da infraestrutura central da Internet, foi fundado como um projeto voluntário e ainda é gerido em grande parte de forma gratuita, embora muitas empresas de milhões e bilhões de dólares dependam dele e lucrem com isso todo dia. Yazici e sua equipe estão tentando consertar a falha recebendo muito pouco, ou quase nada.

Essa situação estranha é rotina no mundo do software de código aberto, programas que permitem que qualquer pessoa inspecione, modifique e use-o. É uma noção de décadas que se tornou crítica para o funcionamento da Internet. Quando dá certo, o código aberto é um triunfo colaborativo. Quando dá errado, é um perigo de longo alcance.

“O código aberto administra a Internet e, por extensão, a economia”, diz Filippo Valsorda, desenvolvedor que trabalha em projetos de código aberto no Google. E ainda, ele explica, “é extremamente comum até mesmo para projetos de infraestrutura centrais ter uma pequena equipe de manutenção, ou até mesmo um único mantenedor que não é pago para trabalhar naquele projeto”.

Sem reconhecimento

“A equipe está trabalhando 24 horas por dia”, Yazici disse por e-mail quando a Technology Review americana entrou em contato com ele pela primeira vez. “E meu turno das 6h às 4h (não, não houve erro de digitação) acabou de terminar”.

Em meio aos seus longos dias, Yazici teve tempo para apontar o dedo aos críticos, escrevendo em seu Twitter que “os mantenedores do Log4j têm trabalhado sem dormir em medidas de mitigação dos exploits; correções, documentos, CVE (sigla em inglês para vulnerabilidades e exposições comuns), respostas a investigações e solicitações, etc. No entanto, nada impede as pessoas de nos criticarem, por um trabalho pelo qual não somos pagos, em uma função que não gostamos, mas precisamos continuar devido a problemas de compatibilidade com versões anteriores”.

Antes da vulnerabilidade do Log4J colocar nos jornais esse obscuro, mas onipresente software, o líder do projeto, Ralph Goers, tinha um total de três patrocinadores menores apoiando seu trabalho. Goers, que encara o Log4J como um emprego de tempo integral, é responsável por consertar o código defeituoso e apagar o incêndio que está causando milhões de dólares em danos. É um peso enorme para uma atividade de tempo livre.

O subfinanciamento do software de código aberto é “um risco sistêmico para os Estados Unidos, para a infraestrutura crítica, para os bancos e para as economias”, disse Chris Wysopal, diretor de tecnologia da empresa de segurança Veracode. “O ecossistema de código aberto é importante para a infraestrutura crítica com Linux, Windows e os protocolos fundamentais da Internet. Esses são os principais riscos sistêmicos para ela”.

Como pode ter chegado a este ponto? A resposta vem na forma de outra pergunta: por que as empresas de tecnologia pagariam por algo que recebem de graça? Mas a imensa importância do software de código aberto significa que o status quo é cada vez mais visto como insustentável.

“O voluntariado é insustentável para infraestrutura crítica porque os voluntários estão dentro de seus direitos de trabalhar apenas nas partes divertidas ou interessantes do ‘trabalho’, diz Valsorda. “Um projeto de código aberto também precisa de testes cuidadosos, engenharia de liberação, triagem de problemas, revisões de segurança, revisão de código de contribuições, e um mantenedor pode achar alguns ou nenhum desses aspectos motivadores por si só”.

Enquanto a pressão e as críticas aumentam sobre a equipe Log4J, velhas questões de justiça, no sentido de se algo é justo ou não, estão sendo levantadas sobre o mundo do código aberto.

“O conceito do que é justo é um problema”, diz Ceki Gülcü, que fundou a Log4. “Existe um desequilíbrio bizarro, em que você lucra com algo, mas não dá nada em troca”.

O público também desconhece quase completamente o imenso papel, e o risco, do software de código aberto que funciona por meio de voluntários e que põe a Internet para funcionar. O OpenSSL possibilita a criptografia, por exemplo, e o Linux está por trás dos sistemas operacionais mais usados ​​no planeta, incluindo o Android.

Gülcü aponta para os problemas de recrutamento e retenção em projetos de código aberto. Não é fácil atrair e manter talentos até mesmo em grandes projetos quando a remuneração varia de uma fração do que uma empresa poderia pagar até zero. E isso pode ter efeitos indiretos para a segurança nacional.

Em 2018, o desenvolvedor por trás de um popular projeto de código aberto, o ua-parser-js, disse não querer mais trabalhar de graça. O software é usado por grandes empresas de tecnologia, incluindo Google, Amazon e Facebook. A pessoa que assumiu o controle do ua-parser-js apoderou-se do software e adicionou um código malicioso ao projeto para roubar criptomoedas. O Departamento de Segurança Interna dos Estados Unidos posteriormente emitiu uma notificação aos usuários sobre o ataque em ação. Apesar dos muitos milhares de desenvolvedores usando o software, aquele projeto havia levantado insignificantes US$ 41,61 em fundos. O desenvolvedor original, que havia cedido livremente o controle ao sucessor anônimo, chamou a situação de “insana“.

Não é que os desenvolvedores de software de primeira linha sempre dediquem anos de suas vidas por um trabalho gratuito e não recebam nada em troca. Gülcü, por exemplo, aproveitou seu trabalho gratuito no Log4J e o transformou em vários empregos lucrativos de desenvolvimento de software no setor financeiro.

Na verdade, é bastante comum para os desenvolvedores de código aberto usarem esse período para construírem um portfólio que, em seguida, leva a empregos pagos. Em alguns aspectos, a estrutura se assemelha a estágios não remunerados em outras áreas, um sistema cada vez mais visto como antiético, explorador e injustamente vantajoso para pessoas que podem se dar ao luxo de assumir inúmeros trabalhos não remunerados às custas daqueles que não podem. Desta forma, o subfinanciamento do trabalho de código aberto pode perpetuar mais do que apenas questões técnicas.

Como consertar o status quo

Os problemas com esta situação estão finalmente ganhando reconhecimento.

“Empresas de tecnologia e corporações, qualquer pessoa que desenvolva software depende do código-aberto”, diz Wysopal. “Está chegando agora aos patamares mais altos do governo o entendimento de que este é um grande risco”.

Easterly e outros especialistas afirmam que as empresas de tecnologia precisam melhorar a questão da transparência. A adoção de uma lista técnica voltada a software, conforme decretado em 2021 pelo presidente Joe Biden, ajudaria os desenvolvedores e usuários a entender melhor o que é realmente uma vulnerabilidade a ataques quando falhas de software são descobertas.

Valsorda, que conseguiu transformar seu próprio trabalho de código aberto em uma carreira promissora, diz que formalizar e profissionalizar a relação entre os desenvolvedores e as grandes empresas que usam seu trabalho pode ajudar. Ele defende transformar o trabalho de código aberto de um simples passatempo em uma carreira profissional, de forma que a infraestrutura crítica não dependa do tempo livre de um desenvolvedor que já tenha um emprego em tempo integral. E ele completa dizendo que as empresas devem desenvolver sistemas para pagar às pessoas que mantêm projetos de código aberto um valor justo e de acordo com o mercado.

Algumas empresas já reconheceram essa necessidade. O Google recentemente prometeu US$ 100 milhões para apoiar o desenvolvimento de código aberto e corrigir vulnerabilidades.

Wysopal diz que mais precisa ser feito para entender a saúde dos projetos de código aberto (a última atualização foi há uma semana ou dois anos atrás?), e apoiar sistematicamente bons projetos enquanto elimina aqueles que não podem ser protegidos. Outro projeto do Google, o Open Source Technology Improvement Fund, visa auditar e melhorar projetos críticos de código aberto.

A repercussão das vulnerabilidades Log4J é um exemplo perfeito de um problema maior, no entanto. As falhas estão no design do software e, para encontrá-lo, você precisa de alguém que realmente entenda-o. Os modelos atuais de “programa de recompensas de relatório de bug”, que pagam a terceiros para dar uma olhada no software e encontrar falhas, não ajudam muito nesse caso, porque quem está de fora simplesmente não tem incentivo financeiro para desenvolver esse tipo de entendimento profundo.

“Isso é absolutamente uma deficiência do mercado”, diz Wysopal. “Estamos pegando a parte boa do código compartilhado e fazendo com que outra pessoa fique com a parte ruim. Tem que haver mais financiamento para encontrar falhas e consertá-lo”.

Nossos tópicos