Cellebrite: herramientas de «seguridad» tremendamente inseguras

Aunque no son muy conocidas por el gran público, las herramientas de Cellebrite cuentan con un enorme reconocimiento entre una audiencia selecta, y que no es otra que aquella que pretende acceder al contenido de smartphones con fines de investigación. Esto incluye a cuerpos de seguridad, instancias judiciales, investigadores privados y, por supuesto, gobiernos totalitarios, […]

La entrada Cellebrite: herramientas de «seguridad» tremendamente inseguras es original de MuySeguridad. Seguridad informática.

Aunque no son muy conocidas por el gran público, las herramientas de Cellebrite cuentan con un enorme reconocimiento entre una audiencia selecta, y que no es otra que aquella que pretende acceder al contenido de smartphones con fines de investigación. Esto incluye a cuerpos de seguridad, instancias judiciales, investigadores privados y, por supuesto, gobiernos totalitarios, regímenes profundamente antidemocráticos y entidades similares.

El sistema de recuperación de datos que ofrece Cellebrite se divide en dos aplicaciones para Windows: UFED y Physical Analyzer. El primero, con el teléfono conectado al ordenador que ejecuta el software, realiza una copia de seguridad del contenido del dispositivo. Una copia estándar, similar a las que se pueden efectuar con adb backup (sí, la función que posiblemente sea eliminada próximamente) en Android y con iTunes en iOS.

Physical Analyzer, por su parte, ofrece una herramienta para navegar por los contenidos de dichas copias de seguridad, agrupándolas por tipo de contenido y organizándolas. Con estas dos herramientas de Cellebrite no es posible desbloquear un dispositivo bloqueado con un código de seguridad, pero si se encuentra la manera de desbloquearlo o, al menos, de poder hacer una copia de seguridad del contenido del mismo con UFED, analizar su contenido se convierte en un juego de niños.

Hace unos meses, Cellebrite anunció que su software ya era compatible con Signal, el popular servicio de mensajería instantánea cifrada y segura, algo que sin duda no debió hacerle demasiada gracia a Moxie Marlinspike, el creador del servicio, y que hizo que centrara su atención en UFED y Physical Analyzer. Y los descubrimientos que ha hecho no dejan a Cellebrite en muy buen lugar, a tenor de lo que podemos leer en esta entrada del blog de Signal.

Todo empieza, según su relato, cuando Moxie caminaba un día cualquiera por la calle cuando, para su sorpresa, una furgoneta dejó caer un paquete. Al prestar atención al vehículo, que no detuvo su marcha, pudo observar que estaba rotulado con el nombre de una empresa… sí, Cellebrite. Atónito, tomó el paquete del suelo y, para su sorpresa, en su interior encontró un kit completo de análisis de smartphones de la compañía. No sé si esta explicación sería válida ante un juez, pero sería hipócrita si negara que me ha parecido un principio sensacional.

Cellebrite: herramientas de "seguridad" tremendamente inseguras

Prueba de concepto de explotación de los problemas de seguridad del software de Cellebrite,

Pero bueno, vamos a los problemas de Cellebrite. Como ya he mencionado anteriormente, UFED realiza una copia de seguridad y Physical Analyzer la analiza e indexa para facilitar el acceso a su contenido. Dicho de otra manera, ambas herramientas acceden a contenido potencialmente no confiable. Esto no es un fallo, claro, forma parte de la naturaleza misma de su misión, extraer y analizar datos de dispositivos ajenos. Como si el popular programa televisivo de subasta de trasteros se llevara a cabo en Bagdad, la proporción entre riesgo y potencial beneficio estaría bastante equilibrada.

La industria marca, para este tipo de accesos, determinados estándares y medidas de seguridad dirigidas a minimizar el riesgo, y su uso está bastante generalizado. Sin embargo, Cellebrite no parece seguir dichas convenciones, según afirma Moxie tras su investigación. Y es que su software no cuenta con medidas de seguridad para evitar que los archivos almacenados primero en el teléfono, y luego en la copia de seguridad, puedan ejecutar código arbitrario en el sistema en el que se está empleando Physical Analyzer.

Sí, has leído bien, no es que algún fallo en sus medidas de seguridad permita saltárselas y ejecutar código malicioso, no, es que no existen (siempre según el relato del creador de Signal) medidas para evitar que esto ocurra. Dicho de otra manera, no es lo mismo si la cerradura de mi casa tiene un fallo de diseño que, en determinadas circunstancias, permite abrirla combinando un encendedor, dos alambres y 10 centímetros de seda dental, que si no tengo cerradura en la puerta o, en el mejor de los casos, la cierro con un trozo de papel de celo o un trozo de papel plegado.

¿A dónde nos lleva esto? Seguro que ya lo has imaginado: basta con que un teléfono analizado con las herramientas de Cellebrite contenga un archivo diseñado para explotar la vulnerabilidad de Physical Analyzer para que el sistema en el que se está empleando el software se vea afectado. Y según las pruebas llevadas a cabo por Moxie, es posible desde mostrar un mensaje en pantalla hasta modificar el funcionamiento del software para falsear los resultados de la prueba actual, las futuras, e incluso los informes de las anteriores. Todo esto, claro, de manera oculta, de modo que el investigador no llegue a ser consciente del engaño.

No es este el único problema de las herramientas de Cellebrite. Y es que la investigación ha revelado que muchos de los componentes del software están terriblemente desactualizados. Por ejemplo, la dll empleada para poder reproducir vídeo en formato Mpeg (FFmpeg) es una versión publicada en 2012, y que desde entonces ha tenido más de 100 actualizaciones de seguridad que, efectivamente, no están presentes en la copia incluida en el software de Cellebrite. Este es el resumen de vulnerabilidades, ordenadas por el año del elemento afectado, encontradas en la investigación:

Cellebrite: herramientas de "seguridad" tremendamente insegura

No te molestes en hacer la cuenta, son un total de 315 vulnerabilidades identificadas y, por lo tanto, explotables, 32 de ellas con 10 o más años de antigüedad. Y en cuanto a las más actuales, son de 2019, por lo que ya ha pasado más de un año desde que fueron identificadas, pero Cellebrite no parece haber hecho nada para evitar este riesgo.

Como guinda a un pastel que ya va cargado de nata, el instalador del software de Cellebrite incluye dos instaladores en formato MSI, AppleApplicationsSupport64.msi y AppleMobileDeviceSupport6464.msi. Ambos están firmados por Apple y forman parte del instalador de iTunes 12.9.0.167 para Windows (versión publicada en julio de 2018). El software incluido en los mismos es necesario para poder acceder al contenido de un iPhone y otros dispositivos de Apple desde Windows.

¿El problema? Que resulta un tanto dudoso que Apple haya autorizado a Cellebrite a redistribuir sus MSI y las DLL que contienen dentro de UFED y Physical Analyzer. Obviamente cualquier usuario las puede obtener instalando iTunes, pero que esta compañía las haya tomado y las haya incluido en su propio instalador es algo que, en una Apple más preocupada que nunca por la privacidad de sus usuarios, algo que podría no hacer ninguna gracia, y que incluso podría dar lugar a acciones legales.

¿El principio del fin de Cellebrite?

De confirmarse todo lo contado por Moxie Marlinspike, resultaría evidente que las lagunas de seguridad del software de Cellebrite desaconsejan por completo su utilización, por peligrosas y poco fiables. Ha sido ahora cuando el creador de Signal ha difundido este problema, pero desconocemos si ya había sido identificado en el pasado por cualquier actor malicioso, y que por lo tanto ya la haya explotado para blindar dispositivos frente a los análisis de contenido con Physical Analyzer. Y lo que es evidente es que, desde hoy mismo, son muchos los que lo harán.

Y esto no es una suposición, la entrada del blog del creador de Signal termina con el siguiente párrafo:

«En noticias completamente no relacionadas, las próximas versiones de Signal incluirán periódicamente archivos en el almacenamiento de la aplicación. Estos archivos nunca se utilizan para nada dentro de Signal y nunca interactúan con el software o los datos de Signal, pero se ven bien, y la estética es importante en el software. Los archivos sólo se devolverán a las cuentas que hayan estado instaladas de forma activa durante algún tiempo, y sólo de forma probabilística en porcentajes bajos basados en la fragmentación del número de teléfono. Tenemos algunas versiones diferentes de archivos que consideramos estéticamente agradables, y las iremos modificando lentamente con el tiempo. No hay ningún otro significado para estos archivos.»

Resulta bastante evidente, ¿verdad? Las probabilidades de que un teléfono analizado con el software de Cellebrite y que tenga instalado Signal puede, potencialmente, distorsionar los resultados obtenidos con Physical Analyzer. Y esto es solo el principio, pues lo más probable es que otros desarrolladores empiecen a desarrollar técnicas similares. Dicho de otra manera, en poco tiempo algunas apps pueden convertirse en una bomba de relojería contra este software, y su falta de seguridad lo convierte en una solución poco o nada fiable, y que además comprometerá la seguridad de los sistemas en los que se emplea.

La entrada Cellebrite: herramientas de «seguridad» tremendamente inseguras es original de MuySeguridad. Seguridad informática.