La clave de firma de la aplicación Android de Samsung se filtró y se usó para firmar malware

La clave de firma criptográfica de un desarrollador es uno de los pilares más importantes de la seguridad de Android. Cada vez que Android actualiza una aplicación, la clave de firma de la aplicación anterior en su teléfono debe coincidir con la clave de la actualización que está instalando. Las claves coincidentes aseguran que la actualización sea de hecho de la compañía que creó originalmente su aplicación y no sea un secuestro malicioso. Si se filtrara la clave de firma de un desarrollador, cualquiera podría distribuir actualizaciones de aplicaciones maliciosas y Android las instalaría felizmente creyendo que son legítimas. En Android, el proceso de actualización de la aplicación no solo se aplica a las aplicaciones descargadas de una tienda de aplicaciones, también puede actualizar las aplicaciones del sistema incluidas de Google, el fabricante de su dispositivo y cualquier otra aplicación incluida. Si bien las aplicaciones descargadas tienen un conjunto estricto de permisos y controles, las aplicaciones integradas del sistema Android tienen acceso a permisos mucho más potentes e invasivos y no están sujetas a las restricciones habituales de Play Store (es por eso que Facebook siempre paga por ser una aplicación integrada). Si un desarrollador externo alguna vez perdiera su clave de firma, sería malo. Si un OEM de Android alguna vez perdiera la clave de firma de la aplicación del sistema, sería muy, muy malo. ¡Adivina qué pasó! Łukasz Siewierski, miembro del equipo de seguridad de Android de Google, publicó una publicación en el rastreador de problemas de la Iniciativa de vulnerabilidad de socios de Android (AVPI) que enumera las claves filtradas de los certificados de plataforma que se utilizan activamente para firmar malware. La publicación es solo una lista de las claves, pero ejecutar cada una a través de APKMirror o el sitio web VirusTotal de Google nombra algunas de las claves filtradas: Samsung, LG y Mediatek son los pesos pesados en la lista de claves filtradas, junto con algunos OEM más pequeños como Revoview y Szroco, que fabrica las tabletas Onn de Walmart. Estas empresas de alguna manera regalaron sus claves de firma a personas ajenas, y ahora ya no puede confiar en que las aplicaciones que afirman ser de estas empresas son realmente de ellas. Para empeorar las cosas, las «claves de certificado de plataforma» que perdieron tienen algunos permisos serios. Para citar la publicación de AVPI:
Un certificado de plataforma es el certificado de firma de la aplicación que se usa para firmar la aplicación «Android» en la imagen del sistema. La aplicación «Android» se ejecuta con una identificación de usuario altamente privilegiada, android.uid.system, y tiene privilegios del sistema, incluidos los privilegios para acceder a los datos del usuario. Cualquier otra aplicación firmada con el mismo certificado puede declarar que quiere ejecutarse con el mismo ID de usuario, lo que le otorga el mismo nivel de acceso al sistema operativo Android.
El editor técnico sénior de Esper, Mishaal Rahman, publicó como de costumbre gran información al respecto en Twitter. Como él explica, darle a una aplicación el mismo UID que el sistema Android no es acceso de root, pero está cerca y permite que una aplicación salga del espacio aislado restringido que existe para las aplicaciones del sistema. Estas aplicaciones pueden comunicarse (o espiar) con otras aplicaciones directamente a través de su teléfono. Imagina una versión más malvada de Google Play Services y te haces una idea.