Lo que pregunto es si alguien puede modificar una aplicación para hacerla maliciosa y que conserve la firma original. No estoy seguro de cómo funciona la firma de aplicaciones, así que pensé que ustedes lo sabrían mejor.
Respuesta
¿Demasiados anuncios?Sí, es posible, pero es criptográficamente difícil. Las firmas implican múltiples pasos:
- Hash de la aplicación/mensaje/lo que sea para producir un digest
- Firmar el compendio con una clave tal que la firma pueda ser verificada utilizando información disponible públicamente.
Las funciones hash criptográficas están diseñadas específicamente para tener propiedades de resistencia a las colisiones para evitar que alguien encuentre múltiples entradas que den el mismo resultado. Al especificar que se mantenga la firma original, se está preguntando por lo que se denomina la función hash débil resistencia a las colisiones , si es difícil encontrar una colisión para una entrada específica. Esto es débil en el sentido de que es más fácil de lograr que fuerte resistencia a las colisiones que es una medida de la dificultad de encontrar cualquier colisión entre cualquier entrada.
Para una función hash criptográfica perfecta, no se puede hacer nada mejor que intentar entradas aleatorias (o malware + elemento aleatorio) con la esperanza de generar una colisión. La probabilidad de hacer esto es 1/2^n para un intento, donde n es el número de bits en la salida hash. Para un n grande, la cantidad de tiempo que se necesitaría para tener una posibilidad razonable de encontrar una colisión es astronómica, incluso con los recursos informáticos disponibles a nivel nacional.
Para cualquier función hash criptográfica real, existe la posibilidad de que personas muy inteligentes encuentren en el futuro una forma sistemática de encontrar colisiones. Es entonces cuando la gente deja de utilizar la función hash (por ejemplo, MD5) para aplicaciones seguras y la sustituye por alternativas más seguras.
En resumen, esto no es algo de lo que debas preocuparte, a menos que se descubra que las firmas utilizan funciones hash rotas.
0 votos
Bueno, ya que aplicaciones como Parche de la suerte puede parchear el clases.dex sobre la marcha, sin alterar la firma de la aplicación, supongo que es posible, aunque de forma limitada. Lo que quiero decir, es que estos cambios son bastante volátiles (ya que pueden ser anulados simplemente borrando la caché de Dalvik). Sin embargo, no creo que haya una forma de parchear un APK ya firmado y empaquetado y que además conserve su firma.