Random IRC quote :      <pancake> me hare un usuario q se llame serialkiller en twitter <pancake> y empezare a seguir a todo el mundo

Aero Series – Introducción

Fear the Commander Cat!

English version of this post can be found here

Durante los últimos 4 años he dedicado casi todo mi tiempo de investigación personal a estudiar la seguridad de los sistemas de comunicación y navegación aeronáuticos, tanto en tierra como en las propias aeronaves. Tras todo este tiempo creo que he llegado a interesantes conclusiones y he hecho bastantes descubrimientos que podría ser interesante publicar.

Así pues, con este primer post pretendo iniciar una serie de artículos en los que ir exponiendo poco a poco el proceso que he seguido, los problemas y soluciones que me he encontrado así como los resultados y conclusiones a los que he llegado.

¿Aviones? ¿Estas de broma?

Sí, sí, has leído bien, todo esto va de AVIONES; realmente va de aeronaves pero tampoco nos vamos a poner técnicos tan pronto. La pregunta más habitual llegado este punto es: ¿a qué clase de mente perturbada se le puede ocurrir algo así?. Es cierto que no es algo habitual pero tiene una explicación… o no; veamos un poco de historia.

Todo esto comenzó un día que estaba buscando nuevos sistemas en los que encontrar vulnerabilidades. Por aquel entonces me dedicaba a los sistemas SCADA y, como aparte de ser investigador de seguridad  uno es piloto comercial, de repente me surgió una pregunta: ¿habrá algún sistema abordo de un avión lo suficientemente complejo como para poder tener vulnerabilidades? Y así empezó todo…

A una respuesta afirmativa para esa primera pregunta, surgieron nuevas preguntas y… aquí estamos años después 🙂

Hoja de ruta

Ahora que ha pasado tanto tiempo, y he avanzado mucho en esta investigación, no voy a seguir los mismos pasos en estos artículos que los que seguí durante mi investigación; voy a intentar seguir un camino más ordenado, más teniendo en cuenta que habrá que introducir bastantes conceptos aeronáuticos que yo ya poseía de entrada.

A estas alturas puedo enfocar el estudio usando una metodología más clásica, algo que no creía que fuese posible cuando empecé yo, así que intentaremos seguir los mismos pasos (aproximadamente) que seguiríamos a la hora de atacar cualquier otro sistema de los que estamos acostumbrados:

Metodología

A grandes rasgos intentaré seguir el diagrama anterior, intercalando todas las explicaciones de conceptos nuevos que sean necesarias, y teniendo en cuenta que se trata de un trabajo de investigación de un sistema nuevo y no de un ataque convencional, por lo que habrá mucho de investigación y desarrollo. Veamos cada una de las fases un poco más en más detalle:

Descubrimiento

Tras unas primeras entradas introductorias dedicadas a presentar los conceptos necesarios, se estudiarán aquellos sistemas de navegación y comunicación que nos permitirán listar e identificar aeronaves específicas así como realizar su posterior seguimiento.

¿Y tú que creías saber de redes Wifi, eh?

Enumeración

Una vez visto como listar y localizar objetivos concretos se verán diferentes opciones para extraer toda la información posible de los objetivos seleccionados. La finalidad de esta fase es la misma que en los ataques convencionales: conseguir toda la información posible para usar en la fase de explotación.

Esto… que alguien le pregunte a Chemita si su FOCA tiene algo que decirnos al respecto, o se le ha comido la lengua una ORCA 😀

Explotación

En esta fase se estudiarán varios sistemas, tanto embarcados como de tierra, en busca de vuelnerabilidades que se puedan explotar (ambas locales y remotas) para tomar el control de los sistemas vulnerables. Si bien el objetivo no es el de explotar protocolos inseguros con ataques tipo MitM, spoofing, etc, ese tipo de ataques también se incluirán en el estudio.

En resumen: fuzzing, ingeniería inversa, arquitecturas raras y toneladas de ensambladores varios!

Post-explotación

Por último se estudiarán tanto los conceptos habituales para comprometer otros sistemas a partir del sistema explotado como las peculiaridades de explotar un entorno tan novedoso como puede ser una aeronave. Todos sabemos qué hacer con un servidor web comprometido pero… ¿y con un avión? ¿será el botón rojo?

¡Sr Moore, Sr Moore! ¿Y el meterpreter me sirve para esto?

Al igual que ocurre durante un ataque clásico, estas fases forman parte de un proceso cíclico por lo que tras una fase de explotación o post-explotación puede repetirse el ciclo completo varias veces.

Notas finales

Como podréis comprender se trata de un estudio bastante delicado, por lo que ya adelanto que no se liberarán exploits o vulnerabilidades que puedan ser usados de forma irresponsable contra aeronaves (cri cri! cri cri! el auditorio se queda vacío…), ese no es el objetivo de esta serie de artículos. Se pretende ilustrar el proceso de estudiar un sistema poco habitual, exponer el estado de la seguridad del mismo y aprender todo lo posible en el proceso.

3 Comentarios para “Aero Series – Introducción”

  1. Comment por vierito5 | 06/13/12 at 5:37 pm

    Queremos más!!

  2. Comment por koperpot | 10/24/12 at 6:15 pm

    Estuviste muy grande en la presentación en la RootedCON, a ver si para la próxima te dan todo el tiempo que necesites.
    Estaría bien que colgases aquí el vídeo de la conferencia. Y a ver si continúas la saga de posts que nos has dejado con ganas de más!

  3. Comment por koperpot | 10/24/12 at 6:17 pm

    PD: Subid el nivel de SPAM, no?

Se han cerrado los comentarios