Programador encontra falha no Linux, evita ciberataque e vira herói da internet

Andres Freund, que trabalha na Microsoft, faz parte de grupo que rastreia pontos de fragilidade

  • Salvar artigos

    Recurso exclusivo para assinantes

    assine ou faça login

Kevin Roose
São Franscisco | The New York Times

A internet, como qualquer pessoa que trabalha profundamente em suas trincheiras lhe dirá, não é uma máquina que funciona "sem tropeços" e "bem lubrificada".

É um remendo bagunçado que foi montado ao longo de décadas e é mantido unido com o equivalente digital de fita adesiva e chiclete.

Grande parte dela depende de softwares de código aberto que são mantidos de forma ingrata por um pequeno exército de programadores voluntários que identificam os bugs, apontam os buracos e garantem que toda a engenhoca cambaleante, responsável por trilhões de dólares no Produto Interno Bruto global, continue funcionando.

Um cabo Ethernet quebrado é visto na frente de um código binário e das palavras "ataque cibernético" nesta ilustração tirada em 8 de março de 2022.
Internet: Recentemente, enquanto fazia uma manutenção de rotina, Freund encontrou inadvertidamente uma porta dos fundos escondida em um pedaço de software que faz parte do sistema operacional Linux - REUTERS

Na semana passada, um desses programadores pode ter salvo a internet de grandes problemas.

Seu nome é Andres Freund. Ele é um engenheiro de software de 38 anos que mora em São Francisco e trabalha na Microsoft.

Seu trabalho envolve o desenvolvimento de um software de banco de dados de código aberto conhecido como PostgreSQL. Os detalhes provavelmente causariam tédio.

Recentemente, enquanto fazia uma manutenção de rotina, Freund encontrou inadvertidamente uma porta dos fundos escondida em um pedaço de software que faz parte do sistema operacional Linux.

A porta dos fundos era um possível prelúdio para um grande ciberataque que especialistas dizem que poderia ter causado enormes danos, se tivesse tido sucesso.

Agora, em uma reviravolta digna de Hollywood, líderes de tecnologia e pesquisadores de cibersegurança estão saudando Freund como um herói.

Satya Nadella, CEO da Microsoft, elogiou sua curiosidade e minúcia. Um admirador o chamou de "o gorila prateado dos nerds".

Engenheiros de software têm circulado uma antiga e famosa história em quadrinhos na web, conhecida entre os programadores, sobre como toda a infraestrutura digital moderna repousa em um projeto mantido por algum cara aleatório em Nebraska. (Em sua narrativa, Freund é o cara aleatório de Nebraska.)

Em uma entrevista nesta semana, Freund —que na verdade é um programador alemão de fala mansa que se recusou a ter sua foto tirada para esta reportagem— disse que se tornar um herói popular na internet foi desorientador.

"Acho isso muito estranho", disse ele. "Sou uma pessoa bastante reservada que apenas senta na frente do computador e mexe no código."

A saga começou no início deste ano, quando Freund estava voltando de uma visita aos seus pais na Alemanha.

Ao revisar um registro de testes automatizados, ele notou algumas mensagens de erro que não reconhecia. Ele estava com jet lag, e as mensagens não pareciam urgentes, então ele as guardou em sua memória.

Mas algumas semanas depois, enquanto rodava mais testes em casa, ele percebeu que um protocolo chamado SSH, usado para fazer login em computadores remotamente, estava usando mais poder de processamento do que o normal.

Ele rastreou o problema até um conjunto de ferramentas de compressão de dados chamado xz Utils, e se perguntou se estava relacionado aos erros anteriores que havia visto.

(Não se preocupe se esses nomes são gregos para você. Tudo o que você realmente precisa saber é que essas são todas pequenas partes do sistema operacional Linux, sendo provavelmente a peça mais importante de software de código aberto no mundo. A grande maioria dos servidores do mundo —incluindo aqueles usados por bancos, hospitais, governos e empresas da Fortune 500— rodam no Linux, o que torna sua segurança uma questão de importância global.)

Como outros softwares de código aberto populares, o Linux é atualizado o tempo todo, e a maioria dos bugs são o resultado de erros inocentes. Mas quando Freund olhou de perto o código-fonte do xz Utils, ele viu pistas de que havia sido intencionalmente adulterado.

Em particular, ele descobriu que alguém havia plantado código malicioso nas versões mais recentes do xz Utils. O código, conhecido como uma porta dos fundos, permitiria ao seu criador sequestrar a conexão SSH de um usuário e secretamente executar seu próprio código na máquina desse usuário.

Se tivesse passado despercebido, a porta dos fundos teria "dado aos seus criadores uma chave mestra para qualquer um das centenas de milhões de computadores ao redor do mundo que executam SSH", disse Alex Stamos, diretor da SentinelOne, uma empresa de segurança cibernética. Essa chave poderia tê-los permitido roubar informações privadas, instalar malware prejudicial ou causar grandes interrupções na infraestrutura — tudo sem serem pegos.

Ninguém sabe quem plantou essa porta dos fundos. Mas o plano parece ter sido tão elaborado que alguns pesquisadores acreditam que apenas um país com habilidades formidáveis de hacking, como Rússia ou China, poderia tê-lo tentado.

De acordo com alguns pesquisadores que voltaram e analisaram as evidências, o atacante parece ter usado um pseudônimo, "Jia Tan", para sugerir mudanças no xz Utils desde 2022.

Muitos projetos de software de código aberto são governados por hierarquia; os desenvolvedores sugerem mudanças no código de um programa, então desenvolvedores mais experientes conhecidos como "mantenedores" têm que revisar e aprovar as mudanças.

O atacante, usando o nome Jia Tan, parece ter passado vários anos ganhando lentamente a confiança de outros desenvolvedores do xz Utils e obtendo mais controle sobre o projeto, eventualmente se tornando um mantenedor e finalmente inserindo o código com a porta dos fundos oculta no início deste ano. A nova versão comprometida do código havia sido lançada, mas ainda não estava em uso generalizado.

Freund se recusou a especular quem poderia estar por trás do ataque. Mas ele disse que quem quer que tenha sido foi sofisticado o suficiente para tentar encobrir seus rastros, incluindo adicionando código que tornava a porta dos fundos mais difícil de ser detectada.

"Foi muito misterioso", ele disse. "Eles claramente gastaram muito esforço tentando esconder o que estavam fazendo."

Desde que suas descobertas se tornaram públicas, Freund disse, ele tem ajudado as equipes que estão tentando engenharia reversa no ataque e identificar o culpado. Mas ele tem estado ocupado demais para descansar sobre os louros.

A próxima versão do PostgreSQL, o software de banco de dados em que ele trabalha, será lançada ainda este ano, e ele está tentando fazer algumas mudanças de última hora antes do prazo.

"Eu realmente não tenho tempo para sair e tomar uma bebida comemorativa", ele disse.

Erramos: o texto foi alterado

O programador Andres Freund não consertou falha no Linux, como afirmava título anterior deste texto, mas a encontrou, permitindo seu conserto.

  • Salvar artigos

    Recurso exclusivo para assinantes

    assine ou faça login

Tópicos relacionados

Leia tudo sobre o tema e siga:

Comentários

Os comentários não representam a opinião do jornal; a responsabilidade é do autor da mensagem.