Certificados para Android de Samsung, LG (y otros) usados para firmar malware

Sergio de los Santos    2 diciembre, 2022

Todas las apps de Android están firmadas por un certificado. Pero esto no garantiza su identidad, sino su integridad. En la práctica implica que son certificados autofirmados por el propio creador de la app.

De modo que una vez se firma una aplicación, esto garantiza su integridad y todas las actualizaciones posteriores deben ser firmadas con el mismo certificado. De lo contrario, virtualmente se estaría creando otra app igual en su código, pero diferente a efectos del sistema operativo. ¿Y qué pasa si se firman dos aplicaciones diferentes con un mismo certificado? Que pueden comunicarse entre ellas y funcionar como si compartiesen espacio de memoria.

Las aplicaciones de sistema también están firmadas. Estas corren con un ID de usuario muy privilegiado (android.uid.system) que tiene acceso a casi todo el sistema sin mayor problema. Son apps que no necesariamente interactúan con el usuario y que normalmente carga el fabricante del teléfono para gestionarlo y darle el sabor o interfaz del sistema Android propio y personalizado de cada marca.

¿Qué ha pasado?

Lo que ha pasado es que Google ha anunciado que ha encontrado malware firmado con certificados legítimos. Y esto tiene dos consecuencias muy graves:

  • Este malware puede actuar con los mayores privilegios. Puede declarar que quiere ejecutarse con el mismo user ID que otra app firmada con su mismo certificado, puesto que se da por hecho que el autor es el mismo. El malware disfruta así en Android de muchísimos privilegios que no tiene habitualmente el malware habitual en este sistema operativo.
  • Los certificados robados pertenecen a apps de Samsung, LG, Revoview y Mediatek. Esto significa que se los han usurpado de alguna forma. La teoría más plausible ahora mismo es que hayan robado la clave privada, puesto que es poco probable que la hayan deducido de alguna manera.

El malware parece que no ha estado disponible en Google Play. Google ha anunciado simplemente los hashes de los malware.

Pero al descargarse y analizar su certificado, se comprueba que pertenecen a esos fabricantes de móviles Android.

Ejemplo de certificado.

Por qué es un problema grave

Lo peor no es solo que se trata de certificados que pertenecen a esas marcas conocidas y de confianza para los usuarios y consumidores. Sino que, como sucede en el caso de Samsung específicamente, se corresponden con certificados usados por el fabricante para firmar aplicaciones de sistema; aquellas que, como comentábamos, pueden funcionar con mayores privilegios. Y eso es un problema grave.

En concreto se trata de este certificado:

 34df0e7a9f1cf1892e45c056b4973cd81ccf148a4050d11aea4ac5a65f900a42

Ejemplo de app firmada por ese certificado.

Que se ve así.

Certificado comprometido de Samsung

­­­­­Hay algo extraño que queda por aclarar. Las apps maliciosas son de al menos 2016, cuando se enviaron a VirusTotal.

Indagando en el contenido del certificado se pueden observar fechas de 2011, por lo que también podrían remontarse a ese momento. Esto abre la posibilidad a que hayan pasado como legítimas desde entonces pero ahora se hayan catalogadas como malware.

Pruebas de que el problema puede remontarse a 2011 o 2016 como mínimo.

Para llegar al fondo de cuándo fueron creadas tendríamos que tener un análisis exhaustivo de las muestras, que todavía no se ha realizado y saber exactamente qué hacen.

Muestra de código de una de las apps ahora maliciosas.

Los nombres de los paquetes de malware son:

  • com.russian.signato.renewis
  • com.sledsdffsjkh.Search
  • com.android.power
  • com.management.propaganda
  • com.sec.android.musicplayer
  • com.houla.quicken
  • com.attd.da
  • com.arlo.fappx
  • com.metasploit.stage
  • com.vantage.ectronic.cornmuni

¿Y ahora qué?

Es necesario esclarecer qué hacen esas apps. Por qué se han firmado, y sobre todo, cómo se va a corregir este problema. Los certificados necesitan ser reemplazados y afectan a muchísimas apps de Samsung para dispositivos Android y móviles, por ejemplo:

Apps de Samsung firmadas con el certificado comprometido.