Existen millones de applets maliciosos (ficheros .jar) y apps de Android ahí fuera. ¿De dónde vienen? ¿De qué país? ¿Al menos, cuál es su zona horaria? Puede ser relevante conocer si provienen de Rusia, Brasil, China, la India o Estados Unidos. Veamos cómo.

Los ficheros ZIP
Los APK (apps de Android) y los applets (y programas Java) vienen todos del mismo formato: son un fichero ZIP. Esto quiere decir que comparten buena parte de las especificaciones PKZIP. A la hora de crear un fichero ZIP, el atributo “fecha” de cada fichero se almacena dentro del fichero ZIP. Se puede comprobar simplemente abriendo un fichero ZIP con cualquier herramienta.

Ficheros firmados y certificados
Algunos applets se firman, de forma que pueden escapar de la sandbox de Java y atacar a los usuarios. Los apk siempre están firmados, porque Google Play y Android dicen que así debe ser. Cuando están firmados, se añade un certificado dentro de los ficheros ZIP. Este certificado está en una estructura PKCS, que es un fichero con extensión (entre otras) RSA o DSA en el directorio META-INF. Los certificados puede que estén autofirmados. Esto es gratis y los atacantes no tienen que demostrar a nadie quiénes son en realidad.

Atacantes y certificados
Los atacantes odian los certificados firmados por CAs, pero les encantan los certificados autofirmados. Son gratis y desechables. Pueden crear un certificado autofirmado ad-hoc para una app y nunca usarlo más. Por ejemplo, Eclipse ayuda en esta tarea de crear certificados ad-hoc a la hora de compilar ficheros apk, como último paso antes de enviarlo a Google Play.

Los certificados se almacenan dentro de los ficheros apk cuando se crean. Y aquí está el truco. Se almacenan en UTC. En formato YYMMDDHHMMSSZ. La Z corresponde a “hora zulú”, que es UTC o a efectos prácticos, casi igual que GMT+0.
T+1.

Hemos creado una herramienta que realiza el cálculo. Lee un fichero jar o apk y, si está firmado:

- Intentará extraer el fichero UTC de un certificado.

- Intentará leer la hora del último fichero creado en la compilación (normalmente el fichero .sf en el directorio META-INF).

- Hará las cuentas y dirá en qué zona horaria vive el desarrollador, asumiendo que la creación del certificado y la compilación han ocurrido en el mismo momento (minuto arriba, minuto abajo).

Te puede interesar

  • infografia-future-workplace

    The Future of Workplace: Conectamos el talento con los objetivos empresariales

  • dossier-servicios-soluciones-ciberseguridad

    Dossier de servicios y soluciones de ciberseguridad

  • informe-estado-seguridad-h1-2023

    Informe sobre el estado de la seguridad 2023 H1