Servicios de ingeniería inversa y hardware hacking
Hardware hacking en dispositivos con acceso físico para identificar fallos de seguridad en las diferentes puertas de entrada
Complete el formulario y le llamamos
Objetivos de las auditorías de seguridad de hardware hacking
Debido al incremento en la cantidad de dispositivos inteligentes conectados a la red estos últimos años, las superficies de ataque se han incrementado en igual medida. Muchos de estos dispositivos son lo suficientemente simples como para que los ataques al hardware sean viables.
En las auditorías de seguridad de hardware hacking, el equipo de expertos de Tarlogic trata de encontrar posibles vulnerabilidades y fallos de seguridad en dispositivos con los que se cuenta con acceso físico, incluyendo el estudio posibles comunicaciones con otros dispositivos (Bluetooth, WiFi…), el análisis de las radiofrecuencias usadas, puertos físicos expuestos y demás posibles puertas de entrada.
El resultado de este esfuerzo permitirá al cliente conocer el estado de seguridad del dispositivo no solo a nivel lógico, sino también desde la perspectiva de un atacante con acceso físico al mismo.
Beneficios de las auditorías de seguridad de hardware hacking
Los beneficios que nuestros clientes obtienen mediante la ejecución de este tipo de pruebas son:
- Conocer con precisión el grado de exposición del dispositivo, puertos físicos disponibles, tipos de comunicaciones y nivel de exposición en redes entre otros.
- Estudio de posibles fallos de seguridad tanto a nivel físico como lógico.
- Análisis de las posibles implicaciones de estos fallos de seguridad para el tipo de dispositivo concreto.
- Limitar el impacto que los problemas seguridad del producto puedan tener en la cadena de suministro.
Ingeniería inversa y Hardware Hacking
En una auditoría de seguridad de hardware hacking se analiza la superficie de ataque física del dispositivo. Esto involucra el estudio de la arquitectura del dispositivo, así como la identificación de cualquier componente o bloque funcional que sirva para intercambiar información con el exterior. Es común que el propio dispositivo realice comunicaciones con otros dispositivos o bien a través de Internet, en cuyo caso estas comunicaciones también pueden ser analizadas.
Una vez se dispone de una descripción detallada de la superficie de ataque, se procede a analizar cada uno de los posibles puntos de entrada. Esto incluye la interacción con puertos físicos y puntos de prueba de las placas (test points), el volcado de memoria y firmware del dispositivo y las comunicaciones con otros dispositivos.
Los distintos hallazgos se recogen en un informe detallado donde se documentan los pasos a seguir para poder reproducirlos.
Los servicios de ingeniería inversa también se aplican al análisis de software, y sus mecanismos de protección y licenciamiento, proporcionando soluciones técnicas de cara a evitar la modificación no autorizada.
Preguntas frecuentes sobre hardware hacking e ingeniería inversa
¿Qué es el hardware hacking?
El hardware hacking es una disciplina de la ciberseguridad que se focaliza en el estudio y análisis de la superficie física de un dispositivo. Para ello, se identifican los componentes o bloques funcionales que lo conforman, se buscan vías de entrada al mismo (puertos de depuración, puertos de comunicaciones…), se extraen las memorias para obtener el firmware, se analizan las comunicaciones con otros dispositivos, etc.
En definitiva, el hardware hacking constituye la primera barrera de entrada a una auditoría de ciberseguridad al permitir al investigador conocer el diseño físico del dispositivo, extraer su software y analizar sus comunicaciones.
¿Qué es ingeniería inversa?
La ingeniería inversa es una disciplina de la ciberseguridad que se basa en reconstruir y hacer comprensible para el investigador “sistemas” de bajo nivel. Se puede aplicar ingeniería inversa a distintos contextos, aunque los principales son: aplicaciones y comunicaciones.
El objetivo de la ingeniería inversa a nivel de aplicaciones es obtener y comprender el código fuente de la misma. Se puede aplicar ingeniería inversa de muy bajo nivel, por ejemplo, para obtener el código fuente de aplicaciones compiladas (como ocurre con los binarios escritos en C). También se puede aplicar la ingeniería inversa a más alto nivel con aplicaciones basadas en lenguajes interpretados (como java) pero que han sido ofuscadas de alguna forma (como suele ocurrir con las aplicaciones Android).
El objetivo de la ingeniería inversa a nivel de comunicaciones es la reconstrucción de un protocolo de comunicaciones desde cero para entender su funcionamiento y, en el mejor de los casos, poder interactuar con el dispositivo a través de él. Es un proceso bastante complejo y suele requerir del uso de SDR.
¿Cuáles son los beneficios de la ingeniería inversa en la auditoría de vulnerabilidades?
En la auditoría de vulnerabilidades conocer a bajo nivel el funcionamiento de una aplicación (gracias al uso de ingeniería inversa) ayuda a comprender mejor el flujo de ejecución y a identificar el punto exacto en el que se vulnera al dispositivo.
Por regla general, las vulnerabilidades se detectan bien mediante el análisis del código (obtenido a través de ingeniería inversa) o bien mediante la detección de un crash y la posterior búsqueda del punto crítico que produce el fallo (en este tipo de ocasiones se suelen entrelazar fuzzing con ingeniería inversa).