ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Segurida En Dipositivos Moviles


Enviado por   •  11 de Octubre de 2012  •  1.549 Palabras (7 Páginas)  •  295 Visitas

Página 1 de 7

Aprovechando que desde hace algún tiempo tengo un Nexus One quiero compartir con vosotros los pasos básicos para poder realizar una auditoría forense de este tipo de dispositivos, con el fin de que comprendáis un poco mejor cómo se organiza el sistema de ficheros en Android y cómo localizar información sensible dentro del mismo. También quiero que este texto sirva para ilustrar que la pérdida o el robo de un teléfono implica que siempre es posible tratar de recuperar datos sensibles de él, y aquí vamos a poner alguos ejemplos.

Describir un procedimiento completo y detallar todas y cada una de las ubicaciones en el sistema donde puede haber información sensible sería largo y costoso. Prefiero hacer una descripción general y poner algunos ejemplos prácticos que espero sean de vuestro agrado y utilidad. Estos ejemplos están enfocados al análisis forense de un sistema de ficheros, con lo que otras partes del sistema como la memoria no están cubiertas. Si te interesa esta última disciplina, quizás te interese este artículo.

Requisitos previos

* Ser root en el sistema, lo cual se logra normalmente desbloqueando el bootloader para proceder a ganar root. Hay infinidad de artículos al respecto en Internet. En la enorme mayoría de los artículos se utliza fastboot para desbloquear el bootloader y superboot para ganar root arrancando una imagen boot.img que permite la ejecución con usuario root. Ganar root implica perder la garantía del teléfono, así que abstente si no tienes absolutamente claro cómo hacerlo.

* La manera natural de intractuar con el teléfono a nivel consola es lanzar comandos mediante Android Debug Bridge (ADB). ADB es parte del SDK de Android y nos permite conectar al dispositivo estando este conectado via USB en la máquina que queramos analizar. Ojito si vais a usar ADB en Windows, ya que tenemos que tener el driver USB instalado (consultar SDK). En cualquiera de los casos, tanto Windows como Mac o Linux, la depuración USB tiene que estar activada en el teléfono.

* De modo altrnativo, es factible tener un servidor SSH instalado en el teléfono. Con paciencia y un poco de conocimiento se puede echar a andar Dropbear. También se pueden emplear ROMs que tengan el demonio SSH incorporado. Por último puedes comprar en el Market una aplicación que habilite un servidor SSH sin complicaciones, como por ejemplo QuickSSHD.

Conectando con el teléfono

En este artículo emplearemos el SDK de Android, que incluye la herramienta Android Debug Bridge (ADB) para conectar al teléfono. En mi caso particular el rendimiento de conectar vía SSH en una red WLAN es muy pequeño a causa de la señal, con lo que prefiero hacerlo con el teléfono conectado con el cable USB, lo que me hará tener mejores cuotas de transferencia al mover ficheros. Es indiferente emplear Windows o Linux, cada cual que escoja lo que más le guste:

adb android

adb android

Si al solicitar la lista de dispositivos conectados vemos claramente nuestro dispositivo podemos proceder con tranquilidad, ya que todo ha ido correctamente y estamos en condiciones de operar. Caso contrario hemos de referirnos a la documentación. A los que uséis Linux comentaros que pese a que el binario está precompilado y no hay por tanto que compilar (basta con extraer las herramientas del SDK) sí que es preciso crear un fichero de reglas y relanzar udev para que lea los cambios. Si no hacéis estos dos pasos no veréis el dispositivo conectado. Una vez conectado el dispositivo, lanzamos la consola:

adb android

Nuestra primera ejecución será un listado del directorio raíz:

adb android

El sistema de ficheros Android

Android está basado en un núcleo Linux. Como tal la manera de aproximarse al sistema es la que usaríamos en cualquier derivado de Unix, teniendo en cuenta las particularidades de cada caso.

Un primer vistazo nos revela la composición del sistema de ficheros:

adb android

En lo que a dispositivos se refiere se puede observar que los puntos de montaje para /system, /data y /cache están asociados a distintos mtdblocks presentes en /dev/block/. Es también el caso de la tarjeta SD externa que acompaña a este modelo de teléfono, montada en /sdcard.

MTD es un subsistema Linux llamado Memory Technology Devices. En aquellos sistemas Linux donde no existen dispositivos de bloque tradicionales (las unidades de disco, por ejemplo) sino que el sistema está embebido en un medio flash, como es el caso del teléfono, es normal encontrar dentro de los puntos de montaje habituales referencias a los bloques MTD (en nuestro caso, son los mtdblocks).

Para comprender esta nomenclatura basta con pensar en las convenciones que se toman para dispositivos de bloque tradicionales, como por ejemplo los discos IDE (/dev/hd* significando hd hard drive) o los discos SCSI o SATA (/dev/sd*). En este caso es exactamente igual, pero sin embargo existe una diferencia: Los MTD siguen la nomenclatura /dev/mtd*

Podemos obtener más información de los dispositivos inspeccionando /dev y /proc:

...

Descargar como (para miembros actualizados)  txt (9.8 Kb)  
Leer 6 páginas más »
Disponible sólo en Clubensayos.com