Cibercriminosos desconhecidos recentemente tentaram um ataque em grande escala à cadeia de suprimentos, introduzindo código malicioso no repositório GIT oficial do PHP. Se os desenvolvedores não tivessem notado o backdoor a tempo, ele poderia ter acabado em muitos servidores da web e levado ao maior ataque à cadeia de suprimentos da história.
O que aconteceu com o PHP?
Os programadores que desenvolvem a linguagem fazem alterações no código usando um repositório comum construído no sistema de controle de versão GIT. Depois que implementam suas adições, o código passa por outra revisão. Durante uma verificação de rotina, um desenvolvedor percebeu uma adição suspeita que foi marcada nos comentários como uma correção de erro de digitação e adicionada em nome de Nikita Popov, um desenvolvedor ativo. Um exame mais atento revelou que era uma backdoor. Popov não havia sido o autor de tal mudança.
Mais verificações mostraram que outra adição semelhante foi enviada para o repositório, desta vez atribuída a Rasmus Lerdorf. Programadores atentos a notaram dentro de horas, então a próxima atualização do PHP 8.1 (com um lançamento antecipado para o final do ano) não incluirá a backdoor.
Por que a mudança de código foi perigosa
Um backdoor no repositório pode permitir a invasores executarem remotamente código malicioso em um servidor web usando a versão comprometida do PHP. Apesar de alguma perda de popularidade, o PHP continua a ser a linguagem de script mais amplamente usada para conteúdo da Web, em uso por cerca de 80% dos servidores. Embora nem todos os administradores atualizem suas ferramentas com frequência, um bom número mantém seus servidores atualizados para cumprir os regulamentos de segurança internos ou externos. Se o backdoor tivesse entrado na nova versão do PHP, provavelmente teria se espalhado pelos servidores de muitas empresas.
Como os invasores introduziram a backdoor
Os especialistas estão certos de que o ataque foi resultado de uma vulnerabilidade no servidor Git interno, não um problema de contas de desenvolvedor comprometidas. Na verdade, o risco de alguém atribuir uma alteração a outro usuário é conhecido há muito tempo e, após esse incidente, a equipe de suporte do PHP parou de usar o servidor git.php.net e mudou-se para o repositório de serviço GitHub (anteriormente apenas um espelho).
Como se manter seguro
Os ambientes de desenvolvimento são alvos atraentes para os cibercriminosos. Depois de comprometer o código de um produto de software no qual os clientes confiam, podem atingir vários alvos de uma vez por meio de um ataque à cadeia de suprimentos. Milhões de usuários em todo o mundo usam os projetos mais populares, portanto, protegê-los de ameaças externas é especialmente importante.
- Verifique regularmente todas as alterações de código, mesmo aquelas supostamente feitas por programadores eminentes e confiáveis;
- Monitore a segurança dos servidores e serviços utilizados para o desenvolvimento;
- Use plataformas online especializadas para treinar funcionários para detectar as ciberameaças dos dias de hoje.