Vulnerabilidad Crítica en el Código: Cómo el Malware Puede Incrustarse en el Software

Nicholas Boucher y Ross Anderson, investigadores de la Universidad de Cambridge, han descubierto una nueva clase de vulnerabilidades que un atacante malicioso puede usar para integrar malware ofuscado directamente en el código fuente de las aplicaciones.

La técnica, denominada "Trojan Source", es una forma de inyectar malware que es prácticamente invisible para el ojo humano debido a su ofuscación. Para lograr esto, un hacker necesitaría explotar ciertas sutilezas en los estándares de codificación de texto como Unicode para explotar los sistemas de destino.

Esta vulnerabilidad afecta prácticamente a todos los lenguajes de programación modernos como Rust, Java, Python, Go, C, C ++, C # y JavaScript. Un atacante puede aplicar algo llamado "anulación bidireccional" para incrustar palabras de izquierda a derecha dentro de una oración de derecha a izquierda y viceversa, y esta técnica se puede utilizar para reordenar tokens en el código fuente en el nivel de codificación para esencialmente engañar el compilador o intérprete para ver una lógica diferente a la que vería el ojo humano en ese código fuente.

Los investigadores advierten que esto abre la puerta a la manipulación del código open source que se utiliza en varias organizaciones de todo el mundo. Señalan que “este ataque es particularmente poderoso en el contexto de las cadenas de suministro de software. Si un adversario comete con éxito vulnerabilidades específicas en el código open source engañando a los revisores humanos, es probable que el software posterior herede dicha vulnerabilidad ".

Para decirlo de otra manera, el ataque funciona mediante la anagramación de un programa en otro programa, lo que engaña al compilador / intérprete para que procese el código que no parece ser código para un el ojo humano.

Si un atacante puede incrustar con éxito código malicioso en dependencias y bibliotecas de uso generalizado, el poder del ataque se multiplica exponencialmente. Los investigadores también señalan que los compiladores e intérpretes son vulnerables a otra técnica conocida como ataque homoglyph where hackers can replace Latin letters with lookalike characters from other Unicode alphabets. More info:

Leer también  Los Diferentes Tipos de Ciberseguridad que Existen

Publicación de la vulnerabilidad

Prueba de concepto en GitHub.