Descoberta permite que criminosos injetem falhas em código-fonte de programas
Por Dácio Castelo Branco | Editado por Claudio Yuge | 01 de Novembro de 2021 às 20h20
Pesquisadores da Universidade de Cambridge descobriram uma maneira de inserir instruções maliciosas no código-fonte de softwares, de forma que revisores de programação humanos não consigam identificar a alteração, mas que compiladores de programas entendam como parte da operação esperada da aplicação. As falhas são identificadas pelos códigos CVE-2021-42574 e CVE-2021-42694.
- 5 dicas para não cair no golpe do falso emprego
- Ransomware foi a ameaça que mais cresceu no segundo trimestre, afirma McAfee
- Golpe reciclado ameaça usuários de morte com falsos contratos de assassinato
Segundo afirma o artigo feito pelos pesquisadores Nicholas Boucher e Ross Anderson, o método, chamado de Source Trojan Attack (ataque de cavalo de troia na fonte, em tradução livre), explora sutilezas nos padrões de codificação de texto, como o Unicode, para produzir códigos em que as instruções são interpretadas por compiladores em ordem diferente daquelas em que são exibidas. Resumidamente, em um lugar que, para um humano, esteja escrito "xyz", um computar entenda como "zyx".
Um compilador é uma ferramenta que transforma o código-fonte escrito por desenvolvedores em um programa com as mesmas características, mas escrito em código objeto, que pode ser interpretado pelo computador para a execução de softwares e funções. A pesquisa afirma que compiladores de linguagens de programação como C, C++, C#, JavaScript, Java, Rust, Go e Python são afetados pela falha.
A falha é possível a partir do algoritmo Unicode BiDi , que permite que computadores possam exibir conteúdos de linguagens com escrita da esquerda para direita, como o Português, quanto com escrita da direita para esquerda, como o Japonês. Essa mesmo algoritmo também possibilita a realização de registros em uma orientação de leitura em dados feitos para a outra configuração de leitura.
Perigo e solução
Os pesquisadores afirmam que, ao injetar caracteres de substituição Unicode Bidi em comentários e strings (sequência de caracteres alfanuméricos em um código), um invasor pode com que softwares dos dispositivos executem funções que divergem do seu código-fonte.
O artigo ainda afirma que o Source Trojan Attack se mantém mesmo em textos copiados e colados de sites, tornando assim bem menos seguro um programador copiar códigos de fontes não seguras ou desconhecidas. Para piorar, se criminosos utilizarem homógrafas (caracteres visualmente semelhantes, como o "i" maiúsculo e o "L" minúsculo), o perigo é ainda maior, já que os comandos maliciosos podem ficar ainda mais invisíveis ao olho humano.
Por fim, o artigo afirma que, até o momento, não encontrou sinais que o novo método foi usado por criminosos. Com a publicação da pesquisa, caso os desenvolvedores de compiladores e de editores de código corrigirem rapidamente o problema, é possível que ele não se torne algo tão crítico como indicado pelo seu potencial e pelo estudo.
Fonte: Hacker News, Threat Post