Asegurar los permisos de acceso a archivos .so

1

Trabajo para un lugar que ofrece una suite de cifrado para aplicaciones de Android en forma de una biblioteca .so C que se integrará en las aplicaciones de Android.

El problema es que solo hay dos funciones exportadas en la biblioteca .so : una función encrypt y una función decrypt . Por lo que sé, uno puede simplemente llamar a esas dos funciones exportadas desde el entorno ANY , no solo a nuestras aplicaciones.

La idea aquí es proteger el mecanismo de cifrado / descifrado. Suponiendo que el análisis estático no será posible (solo hágame un favor, por favor :)): ¿Hay alguna forma de asegurarnos de que la biblioteca .so pueda SOLAMENTE ejecutarse desde nuestras aplicaciones?

    
pregunta Solidak 11.04.2018 - 16:00
fuente

1 respuesta

1

Si ignora la amenaza de ingeniería inversa (no debería), puede ocultar las funciones de cifrado / descifrado de su SO, y solo permitir que se utilicen desde un entorno de confianza (consulte JNI_OnLoad() ). P.ej. Puede verificar el nombre del paquete de la aplicación que carga su biblioteca. Pero de todos modos, puede ejecutar las mismas comprobaciones en su cifrado () y descifrado ().

Otro truco es no usar el proceso de empaquetado normal para la biblioteca, sino descomprimirlo manualmente desde su APK a algún lugar al que solo se pueda acceder desde su aplicación. Esta protección no ayudará en dispositivos arraigados.

    
respondido por el Alex Cohn 12.04.2018 - 17:03
fuente

Lea otras preguntas en las etiquetas