OpiniónMovilidad

¿Qué hay detrás de Pegasus?

Por Juanjo Galán, Business strategy de All4Sec.

Juanjo Galán, Business Strategy de All4Sec.
Juanjo Galán, Business Strategy de All4Sec.

El éxito de los ciberataques a teléfonos móviles frecuentemente ha tenido como referencia la participación directa de las víctimas durante el proceso de infección. A menudo se ha dicho que cualquier persona puede desencadenar la instalación de un malware dentro de un dispositivo con un simple “clic”. Una acción que pondrá en riesgo la ciberseguridad de los dispositivos tanto propios como ajenos —si pensamos en los contactos con los que la víctima tiene relación.

El acceso a un sitio web inseguro, la descarga de una aplicación sin origen conocido o incluso la apertura de un fichero que lleva asociado la ejecución de ciertos programas son casos de eventos de seguridad conocidos, divulgados y diariamente repetidos.

Concienciación versus vulnerabilidades de aplicaciones

Cuando esto ocurre, normalmente tendemos a cargar las tintas sobre la concienciación de las personas y las pautas que como usuarios debemos adoptar a la hora de ejecutar aplicaciones y servicios de Internet. La concienciación ciudadana en materia de ciberseguridad se convierte entonces en la piedra angular sobre la que gira la protección del mundo digital: todos debemos ser conscientes de nuestro papel y asumir las responsabilidades que se deriven de los errores cometidos, y asociados habitualmente a la falta de atención o al desconocimiento.

Sin embargo, a veces descubrimos que la responsabilidad no siempre recae en el conocido como “eslabón débil” de esta cadena. Los problemas de ciberseguridad se repiten incluso si somos conscientes de las amenazas y actuamos siguiendo las pautas recomendadas.

Los ciberataques también están asociados a otro patrón, tan peligroso o más que los propios usuarios: las vulnerabilidades intrínsecas de las aplicaciones que los fabricantes ponen a nuestra disposición.

La seguridad en la verificación y validación

Toda aplicación responde a un diseño y desarrollo software que da como resultado un complejo sistema de servicios y utilidades que empleamos a diario, desde aplicaciones de lúdicas hasta complejos sistemas de comunicaciones móviles o programas de uso empresarial.

La verificación y validación de estas aplicaciones son clave para su seguridad. Hasta hace pocos años (incluso podríamos decir que en la actualidad) el desarrollo de software no tenía en cuenta los problemas de seguridad que las aplicaciones podían traer consigo cuando se ponían en funcionamiento. Siempre que el resultado respondiera a las especificaciones del producto y cumpliera con las necesidades expresadas por los usuarios, un producto se consideraba verificado y validado.

La incorporación de la seguridad como requisito de referencia desde el propio diseño de las aplicaciones ha sido históricamente una asignatura pendiente de nuestra industria. Por eso mismo, cuando se producen ciberataques como los espionajes recientes con Pegasus, se pone al descubierto su verdadera importancia.

Interaction-less bugs

Los teléfonos móviles pueden ser víctimas de ciberataques sin que el usuario participe en modo alguno en su éxito. Hace apenas unos años, en 2019, una vulnerabilidad en la plataforma de WhatsApp levantó la inquietud de millones de usuarios al descubrirse que a través de ella se podía infectar un terminal con una simple llamada telefónica que ni siquiera debía ser contestada. Cualquier dispositivo móvil, Android o iOS, podía ser víctima de este tipo de ataque que tenía como consecuencia el control externo del teléfono.

Simultáneamente, una ingeniera del proyecto Zero de Google, Natalie Silvanovich, divulgó en el congreso internacional “Black Hat 2019”, diez vulnerabilidades que afectaban a los servicios de los dispositivos móviles iOS de Apple. Se trataba de vulnerabilidades que permitían desde el robo de información hasta el control del terminal sin que para ello el usuario tuviera que llevar a cabo ninguna acción concreta. Una sencilla secuencia de mensajes servía de detonante para el ataque.

Estos agujeros de seguridad son conocidos en el sector con el nombre de “interaction-less bugs” o “zero-click bugs”.

Fuzzing

Los errores que conducen a este tipo de situaciones a menudo son difíciles de identificar porque los propietarios de las aplicaciones suelen mostrarse reticentes a dar acceso al código fuente de sus programas para que su seguridad pueda ser validada y verificada. Lo más que llegan a ofrecer son recompensas (bug bounty) para aquellos usuarios que identifiquen algún problema de seguridad en caso de que quieran evaluar su funcionamiento actuando como usuarios finales.

Sin embargo, muchos profesionales de la ciberseguridad no se han quedado en este paso. Numerosos expertos del sector emplean desde hace tiempo lo que podría llamarse “la práctica metodológica de la prueba y error”. Normalmente, para ello, definen entradas a los programas, siguiendo patrones, que puedan desencadenar situaciones imprevistas y que redunden en violaciones de la seguridad para posteriormente ser explotadas. El método, para el que existen algunas herramientas, consiste en introducir pequeñas variaciones a datos de entrada, en principio correctos, que den lugar a excepciones no consideradas en el diseño del programa y que desencadenen el agujero de seguridad.

A este modo de chequeo de aplicaciones se le conoce con el nombre de “técnicas defuzzing”. Se trata de un procedimiento intensivo en esfuerzo y tiempo mediante el cual los ingenieros del proyecto Zero de Google, Natalie Silvanovich y Stefan Groß, identificaron algunas de las vulnerabilidades que presentaban las aplicaciones de mensajería y el sistema operativo de Apple. Vulnerabilidades que notificaron al fabricante para que las corrigiera con tiempo suficiente (y dispusiera de actualizaciones) antes de divulgarlas a la comunidad de profesionales de la ciberseguridad (una práctica habitual y reconocida en el sector).

Vulnerabilidades silenciadas

En la actualidad, continúan identificándose nuevas vulnerabilidades siguiendo métodos similares. Unas veces son transmitidas a los fabricantes para que las corrijan; en otras, son silenciadas para su explotación con fines, por ejemplo, de espionaje. Tal es el caso de productos como Pegasus que aprovechan vulnerabilidades (la mayor parte de ellas silenciadas) en las librerías software que se encargan, por ejemplo, de enviar mensajes o presentar imágenes a los usuarios para instalar malwares en los dispositivos con los que espiar a las víctimas y sus contactos.

Lo llamativo de este tipo de situaciones es que, en todos los casos, y siguiendo con el ejemplo, la víctima ni siquiera tiene que ver el mensaje o la imagen recibida para caer en la trampa. El dispositivo quedará infectado sin que haga nada. No tendrá que hacer ni un solo “clic”. Entonces comenzará el robo de gigas y gigas de información privada.

Computing 814