jueves, julio 01, 2010

iPhone: Seguridad antirootkits y antivirus en iPhoneOS

Antes de seguir solo comentar que tenemos que descargar unas cuantas aplicaciones del Cydia:

mobile terminal, adv-cmds, sed, grep, network-cmds, Gawk y wget

El resto lo dejo a vuestra discreción… ya que el artículo está FUSILADO COMPLETAMENTE DE Security by Default

---------------------------

¡Hola!, antes de nada me gustaría agradecer a SbD el permitirme escribir este artículo, es todo un placer por mi parte.

Sin más, vamos a tratar la seguridad en los iPhone, iPod Touch, iPad y futuros iGadgets en los que esté funcionando iPhoneOS a los que se les haya aplicado Jailbreak. Por un lado, hacer Jailbreak hace más inseguro al dispositivo (instalación de software no oficial, servicio SSH escuchando ...), pero por otro lado nos permite tener control total sobre él.

Primero vamos a implantar seguridad básica, y luego vamos a pasar al artículo en sí.

Implantar seguridad básica significa cambiar la contraseña por defecto de root para evitar intrusiones típicas (virus rastreando en busca de dispositivos configurados por defecto para entrar por SSH e instalarse).

Abrir Mobile Terminal (disponible en Cydia) para poder acceder a la terminal de comandos, y ejecutar las sentencias:

su

(password alpine por defecto)

passwd

(y la cambiáis por la que queráis)

Esto es lo normal, lo básico. Pero, ¿y si queremos más? Un dispositivo con Jailbreak es, al fin y al cabo, una máquina Unix-like a la cual podemos instalar (vía Cydia) los comandos típicos. Si a esto le sumamos que tenemos un compilador de C (además de algunos lenguajes interpretados), no sería mala idea portar aplicaciones y adaptarlas, e incluso programar nuevas aplicaciones por nuestra cuenta.

Pues este es el cuerpo de artículo, explicar y compartir algunas aplicaciones (dos portadas, una nueva) para iPhoneOS orientadas a protección antirootkits y antimalware. He metido todas en un pack, al final del artículo tenéis la descarga y el modo de instalación (muy sencillo, y desde terminal).

Antes de empezar, decir que para que funcionen adecuadamente necesitaremos usar estas aplicaciones con privilegios de root.

- Unhide

Una aplicación de la que creo que no hace falta hablar mucho aquí. Permite descubrir procesos y puertos TCP/UDP ocultos por rootkits / LKMs o cualquier otra técnica de ocultación.

Al estar escrita en C sólo ha habido que modificar los comandos del sistema que usa, y una función. Encaja muy bien en el sistema, es una herramienta bastante portable. El código fuente está incluido en la descarga, ya que ha sido modificado para poder adaptarlo.

Requiere descargar los siguientes paquetes de Cydia -> adv-cmds, sed, grep, network-cmds y Gawk. (Es posible que para encontrarlos tengáis que quitar el filtro de paquetes, ponedlo como Developers).

El uso es muy sencillo, para buscar procesos ocultos:

./unhide sys

Para buscar puertos:

./unhide-tcp



- Chkrootkit

Una herramienta que busca de forma local rootkits conocidos, strings sospechosas, comportamientos extraños del sistema (interfaz en modo promiscuo por ejemplo), etc ... Escrita también en C, en este caso el código no se incluye ya que no se ha modificado el original.

Requiere descargar los mismos paquetes que para Unhide (mirar arriba).

El README es muy bueno, y vienen los diferentes modos de uso. El más normal es arrancar el shell script que automatiza un análisis completo.

./chkrootkit

Esto nos analizará todo el sistema de ficheros.


Es una gran herramienta pero no está orientada a iPhoneOS, sino en general a sistemas Unix-like.

Ese era el problema, que no conocía ninguna herramienta orientada a iPhoneOS (a sus virus, a sus problemas de seguridad). Así que a raiz del artículo, he escrito un programa bastante sencillo que pretende ser algo así como un Antivirus diseñado para iPhoneOS. Las soluciones antivirus para este sistema son por ahora inexistentes, o poco conocidas (de forma oficial, en la AppStore no hay ninguna).

- iNovirs (Antivirus para iPhoneOS)

Programa muy sencillo que busca (en cuanto a su base de datos) archivos de virus en el sistema e intenta borrarlos. Está programado en C, y el código está licenciado bajo GNU/GPLv3. La base de datos es texto ASCII, y por lo tanto es personalizable por el usuario. Por defecto detecta y elimina el gusano ikee (variantes A, B, C y D). El código fuente se incluye en la descarga. No requiere ningún comando externo (usa el rm de forma opcional).

No es un software antivirus como tal, ya que no se van a proporcionar actualizaciones. Es una herramienta de ayuda antivirus, y la idea es que sea el propio usuario el que modifique y mantenga la base de datos (si le interesa estar seguro, o ante una infección). La herramienta está hecha just for fun.

He escrito un README en inglés con toda la información sobre cómo mantener la base de datos, los diferentes modos de funcionamiento del programa ... etc.

Tiene tres modos de funcionamiento: scan, normal y aggresive.

./inovirs scan (Busca virus, pero no borra nada).

./inovirs normal (Busca virus, en caso de encontrarlo y que el fichero NO sea delicado lo borra).

./inovirs aggresive (Busca y elimina todos los ficheros de virus encontrados, puede dañar algún componente del sistema).

iNovirs detecta si el fichero es delicado o no en función de lo que ponga en la base de datos (cada campo tiene -> nombre de virus:dirección del fichero del virus:acción a realizar).

Aquí está la ayuda:

Escaneamos en busca de virus (modo scan) y no encuentra nada.

Simulamos que estamos infectados y volvemos a ejecutar (modo scan). Vemos que encuentra el virus y nos avisa, pero no desinfecta.

Volvemos a lanzarlo para desinfectar (modo normal), lo que nos eliminará el virus del sistema.

Estos tres programas están metidos en un paquete .tar, subido al repositorio de software. Para obtenerlos vamos a abrir la terminal, y vamos a descargar el paquete con Wget (disponible en Cydia).

wget http://sbdtools.googlecode.com/files/iphone-norootk.tar

Una vez descargado sólo hay que descomprimir.

tar -xvf iphone-norootk.tar

Tendréis la carpeta iphone-norootk a la que podéis moveros, y dentro estarán las tres herramientas en sus carpetas correspondientes.

Hasta aquí el artículo. Escrito por Alberto Ortega Llamas

1 comentario:

Al dijo...

Acoding.academy
La programación es el abecedario de la informática y comprenderla nos ayudará enormemente a entender internet, la ciberseguridad, las aplicaciones móviles y mucho más. Si quieres comenzar a formarte, apúntate a un curso online de programación para principiantes. Existen cursos específicos para el mundo Apple.