Apple introduce hasta 14 firmas en XProtect ante la avalancha de malware para Mac

Sergio De Los Santos    3 febrero, 2020
Apple introduce hasta 14 firmas en XProtect ante la avalancha de malware para Mac

Según Kasperksy, el malware Shlayer está en uno de cada diez equipos Mac. Y lleva así dos años. Se trata de malware que principalmente invade el sistema de publicidad. Ante esta afirmación tan contundente (un 10% de sistemas operativos infectados y además con una campaña que dura ya dos años) nos hicimos una pregunta: ¿qué está haciendo el sistema operativo para defenderse? Sabemos que XProtect, el protoantivirus que viene de serie, detecta poco y mal. Pero ante una epidemia de estas dimensiones, ¿cómo ha reaccionado?

El troyano Shlayer

No nos detendremos mucho en cómo funciona porque Kaspersky ya ofrece todos los detalles. Es interesante conocer que se hace pasar por una actualización de Flash habitualmente, y que descarga un fichero cifrado, que una vez descifrado, hace un curl al troyano real.

El código de la imagen desofuscará un fichero que acabará haciendo algo como se observa en la siguiente imagen:

Esto a su vez llevará a la instalación del adware más agresivo. Este comportamiento tan simple trae dolores de cabeza desde hace dos años a una buena parte de los usuarios. Por cierto, ese curl -F0L es “la marca de la casa”, porque no son parámetros habituales del curl.

Qué es XProtect

XProtect es un rudimentario sistema de detección por firmas de malware que se introdujo en septiembre de 2009. Se trata de un primer acercamiento a un antivirus integrado en MacOS. Actualmente XProtect cuenta con algunas firmas que se pueden ver claramente (nombre del malware y el patrón de detección) en esta ruta:

/System/Library/CoreServices/XProtect.bundle/Contents/Resources/

XProtect contiene firmas, por un lado, y reglas Yara, por otro (viene definido por XProtect.plist y Xprotect.yara en ese directorio). Con los dos sistemas permite la detección y definición del malware, y en esto se apoya GateKeeper, que vigila y se las pasa. La lista XProtect.plist es pública. El número 3 en la URL hace referencia a Mountain Lion. Si se modifica al 2, se ve el fichero de firmas de Lion y 1 es para Snow Leopard. Apple no parece que quiera hablar mucho de ello, pero vamos con la gran pregunta inicial.

Otro script complementario del malware más popular para Mac

¿Ha tomado Apple cartas en el asunto Shlayer?

Pues sí, pero sólo desde hace poco, cuando introdujo varias reglas Yara para detectar estas firmas (que en principio son un misterio y de las reglas no ofrecen detalles). Por ejemplo, el 22 de enero introdujo estas 4 reglas: MACOS.8283b86, MACOS.b264ff6, MACOS.f3edc61 y MACOS.60a3d68.

Pocos días antes, el día 7 de enero, introdujo 3 firmas o reglas Yara más: MACOS_5af1486, MACOS_03b5cbe y MACOS_ce3281e.

Y en diciembre introdujo 7 más: MACOS_9bdf6ec, MACOS_e79dc35, MACOS_d92d83c, MACOS.0e62876, MACOS.de444f2, MACOS.b70290c y MACOS.22d71e9.

Esto hace un total de 14 firmas en dos meses. Teniendo en cuenta que en 10 años acumula un poco más de 100 firmas, se concluye que en los últimos meses ha trabajado duro. No es nada habitual tener tantas firmas en tan corto espacio de tiempo, así que sí, parece que les preocupa últimamente el malware en Mac. Ahora nos hacemos otra pregunta:

¿Son efectivas estas reglas?

Con estas reglas Yara de XProtect, hemos hecho un retrohunting en VirusTotal, para ver desde cuándo existe malware de este tipo. Se trata de una investigación que implica buscar “hacia atrás” en el tiempo ficheros que satisfagan ciertas reglas Yara. VirusTotal devolverá cuantas muestras caigan dentro de esas reglas y nos dará una idea de cuántas en el tiempo han ido apareciendo.

Hemos encontrado algo más de 1000 muestras en algo menos de tres meses. Lo interesante es que existen muestras desde bastante antes de diciembre de 2019 (cuando comenzó a introducir las reglas de detección en XProtect), lo que indica que en cierta forma, estas reglas de protección que ha añadido Mac en estos meses llegan tarde.

Curioseando en los resultados del retrohunt, hemos localizado muestras que no eran cazadas por los antivirus. En principio hemos pensado en que se trataba de falsos positivos, pero un análisis posterior nos ha mostrado que son reglas para detectar plugins de navegador y adware específico, del tipo: Wharkike, EngineFiles, ContentBenefits, ForwardOpen-extension… Esto nos lleva a una conclusión interesante: XProtect detecta adware (buscadores principalmente) que no detecta ningún antivirus. Aunque es cierto que parece que algún falso positivo se les ha colado (creemos que el módulo mdworker_share es detectado a veces como falso positivo).

De nuevo como curiosidad, mil muestras en unos 70 días nos da una media de casi 15 muestras subidas a VirusTotal por día. La inmensa mayoría de las muestras se detectan por tratarse del script de descifrado en la imagen de más arriba. Ésta es etapa temprana del ataque, lo que puede ser bueno.

Conclusiones

Efectivamente, parece que XProtect (de forma totalmente opaca) se ha puesto las pilas, y en pocos días ha creado más reglas de detección que nunca. Estas reglas están cazando bastante malware en su etapa más temprana, e incluso hacen un mejor trabajo que los antivirus.

Sin embargo, tenemos un “pero” muy grande. Las reglas llegan tarde y, además, están a la vista del atacante. Le serán muy golosas para pasar desapercibidos sólo mirando qué detecta XProtect y modificando lo necesario. Eso no significa que sean malas, pero son trivialmente eludibles.

Por poner un ejemplo, si analizamos algunas de las strings en las que se basa para detectar el malware, vemos cómo lo detecta:

Ejemplo de una de las 14 reglas Yara introducidas

Cuyas cadenas se pueden traducir por esto:

Que a su vez son comandos que habitualmente usa el malware y que con sólo modificar un byte, podrían eludir las reglas.

Comentarios

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *