Los ciberdelincuentes están recurriendo a lenguajes de programación “exóticos”

Lenguajes de programación como Go, Rust, Nim y DLang permiten a los autores de malware evitar la detección de firmas y añadir capas de ofuscación.

Blackberry ha publicado un informe titulado “Old Dogs, New Tricks: Attackers adopt exotic programming languages” (Perros viejos, trucos nuevos: Los atacantes adoptan lenguajes de programación exóticos), cuya conclusión principal es que los delincuentes están recurriendo a lenguajes de programación relativamente desconocidos a la hora de codificar programas maliciosos, en un intento por evitar su detección.

Los profesionales de la seguridad están encontrando un mayor número de cepas de malware escritas en lenguajes “exóticos” como Go, Rust, Nim y DLang, señala el informe de Blackberry. Los operadores están incluso adoptando estos lenguajes para reescribir familias de malware existentes y crear herramientas para nuevos conjuntos de malware.

Se ha comprobado que estos lenguajes de codificación suelen frustrar la detección basada en firmas, mientras que las herramientas de análisis de malware no siempre admiten adecuadamente los lenguajes de programación no convencionales.

Estos lenguajes también sirven como una capa de ofuscación, ya que cada uno de ellos es relativamente nuevo y tiene poco soporte en las herramientas de análisis.

“Los programas escritos con las mismas técnicas maliciosas pero en un lenguaje nuevo no suelen detectarse al mismo ritmo que los escritos en un lenguaje más consolidado”, observa el informe. “Esta es la última tendencia de los actores de amenazas que se desplazan justo fuera del alcance del software de seguridad de una manera que podría no activar las defensas en etapas posteriores de la campaña original”.

“Los binarios maliciosos escritos en lenguajes como D, Rust, Go o Nim constituyen actualmente un pequeño porcentaje de los lenguajes utilizados por los delincuentes actuales, pero es imperativo que la comunidad de seguridad se mantenga proactiva en la defensa contra el uso malicioso de las tecnologías y técnicas emergentes.”

Los investigadores también explicaron que cada lenguaje tiene sus propias ventajas e inconvenientes en diferentes escenarios. Nim, por ejemplo, puede compilarse en varios lenguajes como C, C++ e incluso JavaScript. DLang tiene muchas mejoras sintácticas con respecto a C, además de ser totalmente interoperable y sintácticamente similar a C.

Aunque el malware en lenguaje C sigue siendo el más extendido, los operadores de malware, incluidos grupos importantes como Fancy Bear y Cozy Bear, utilizan lenguajes no convencionales en sus conjuntos de malware con más frecuencia que otros grupos.

A menudo, familias enteras de malware en lenguaje C no necesitan ser reescritas desde cero, ya que estos grupos simplemente escriben loaders, droppers y wrappers en lenguajes exóticos. Esto significa que pueden incrustar sus cargas útiles en carcasas más difíciles de detectar que se escriben de nuevo para evitar la detección basada en firmas.

En el informe se cita una serie de casos en los que estos grupos han adoptado elementos escritos en lenguajes oscuros para disfrazar sus ataques. En 2018, por ejemplo, se vio a Cozy Bear dirigirse a equipos Windows y Linux con WellMess, un troyano de acceso remoto (RAT) escrito en Go y .NET.

Fancy Bear también fue descubierto en 2018 utilizando un troyano basado en Go identificado como una versión reescrita del malware original Zebrocy. Al año siguiente, el grupo fue visto usando un descargador Nim junto con el backdoor Go en la misma campaña dirigida a embajadas y ministerios de asuntos exteriores en Europa del Este y Asia Central.

El informe está disponible para descarga desde el sitio de Blackberry (requiere registro).


Únase a la conversación

Contacto | Diario TI es una publicación de MPA Publishing International Ltd., Reino Unido. © Copyright 1997-2022