Aero Series – Introducción
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:
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.