¿Cómo determinar si es seguro instalar archivos apk desde tiendas de aplicaciones de Android alternativas?

7

Varios sitios ofrecen descargas de APK ( 1 , 2 , 3 ). ¿Hay alguna forma de determinar si un sitio web / apk determinado es seguro de instalar?

    
pregunta Sparkler 03.08.2015 - 17:15
fuente

2 respuestas

5

Análisis inicial

Creo que la forma más completa de probar aplicaciones de terceros es:

  1. Descargue el SDK / Herramientas de Android
  2. Cree un dispositivo Android virtual con versión de Android de su teléfono .
  3. Habilite la depuración de Android a través de USB en su dispositivo. (Se puede apagar más tarde)
  4. Compruebe con ADB que se detectó su emulador: adb devices
  5. Instale la aplicación de terceros con ADB: 'adb install

Puede analizar lo que ocurre en el dispositivo utilizando diferentes registros que se ejecutan constantemente. Estos pueden ser difíciles de capturar, pero puede capturar el logcat de su dispositivo con adb logcat . Puede aprender a usar Logcat como un profesional .

El dispositivo virtual de Android (AVD) usa su conexión a Internet como una conexión WiFi. En este punto puedes realizar todo tipo de análisis. Mi publicación en cómo analizar el malware podría Ser de ayuda (en cuanto a herramientas y técnicas a utilizar). Wireshark será una herramienta útil para analizar el tráfico de la red. Vea lo que la aplicación con sus conexiones de red.

Ingeniería inversa

Así que ahora te sentirás deprimido y verás lo que hace exactamente el APK. Para ello necesitarás unas cuantas herramientas. Aquí hay una herramienta en línea (no la he utilizado) que pretende descompilar un APK de Android en su código Java. Si quisiera entender el proceso y hacerlo usted mismo, vería esta respuesta de desbordamiento de pila .

Un APK es solo un archivo .zip . Así que los pasos (con las herramientas de esa respuesta de desbordamiento de pila)

  1. unzip example.apk

Ahora tenemos los siguientes archivos y directorios:

-rw-rw-r--  1       3708 Oct 14  2013 AndroidManifest.xml
-rw-rw-r--  1    2751916 Oct 14  2013 classes.dex
drwxrwxr-x  2       4096 Aug  3 12:12 META-INF
drwxrwxr-x 23       4096 Aug  3 12:12 res
-rw-rw-r--  1     363640 Oct 14  2013 resources.arsc

El classes.dex es lo que queremos. Contiene todas las clases de Java utilizadas para la aplicación.

  1. ./d2j-dex2jar.sh ../example.apk

Ahora tenemos un archivo ./example-dex2jar.jar JAR que puede descomponerse en el código Java. Aquí es donde JD-GUI y ApkTool pueden ser útiles. Ahora puedes ver el código exacto que ejecuta el APK.

Tenga en cuenta, sin embargo, que algunas partes (si no la mayoría) del código Java serán confusas. Esto es común y, a menudo, verá los símbolos de función arrancados y reemplazados con a , b , etc. No solo funciones, sino paquetes, métodos, variables. Ver Java confuso como z = (a) b.d() no sería raro. Pero puede ver cadenas, importaciones típicas y cualquier función de objeto compartido JNI que puedan usar.

Todo lo que se dice. ¿Quieres hacer eso para cada aplicación que descargues? Probablemente no. Todo depende de si confía en la Tienda que está usando y / o en la compañía de software que puso la aplicación. Yo personalmente no uso ninguna aplicación fuera de la tienda Google Play. Las aplicaciones que descargo se basan en las compañías que las desarrollaron, las reseñas de los usuarios (se pueden falsificar), las recomendaciones de amigos / foros, etc.

Debes confiar un poco en la aplicación que estás descargando, o analizar todas y cada una de las aplicaciones que instales. De cualquier manera tienes que tener cuidado.

    
respondido por el RoraΖ 03.08.2015 - 18:23
fuente
4

Para verificar si un APK es seguro, puedes subirlo a, por ejemplo. Virustotal . Utilizará un montón de escáneres de virus para detectar si hay algún problema con el APK.

Note que los APKs (en este momento de la escritura) son el tipo de archivo # 1 que está escaneando Virustotal.

    
respondido por el SaeX 01.06.2016 - 14:50
fuente

Lea otras preguntas en las etiquetas