No es necesario hacer “clic” en ningún enlace para acceder a un terminal móvil
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 con un simple “clic”. Una acción que pondrá en riesgo la ciberseguridad de dispositivos tanto propios como ajenos —si pensamos en los contactos con los que la víctima tiene relación.
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.
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.
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.
La seguridad en la verificación y validación de aplicaciones
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.
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, este 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 el robo de información o 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”.
Técnicas de 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 validar y verificar su seguridad. 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. Desde hace tiempo, numerosos expertos del sector emplean lo que podría llamarse “la metodología de la prueba y error”. Se trata de identificar entradas a los programas que puedan desencadenar situaciones imprevistas y que redunden en violaciones de la seguridad.
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 de la aplicación y que desencadenen el agujero de seguridad.
A este modo de chequeo de aplicaciones se le conoce con el nombre de “técnicas de fuzzing”. Se trata de un procedimiento intensivo en esfuerzo y tiempo mediante el cual los ingenieros del proyecto Zero de Google, por ejemplo, identificaron algunas de las vulnerabilidades que presentaban las aplicaciones de mensajería y el sistema operativo de Apple.
En general, estas vulnerabilidades habitualmente se notifican a los fabricantes para que las corrijan con tiempo suficiente (y dispongan 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 no confesados. Tal fue el caso, por ejemplo, de Pegasus que aprovechaba vulnerabilidades en las librerías software que se utilizaban para enviar mensajes o para presentar imágenes a los usuarios y así instalar malwares en los dispositivos con los que espiar a las víctimas y a sus contactos.
Lo llamativo de este tipo de situaciones es que, en todos los casos, y siguiendo con el ejemplo mencionado, la víctima ni siquiera tenía que ver el mensaje o la imagen recibida para caer en la trampa. El dispositivo quedaba infectado sin que hiciera nada. No tenía que hacer ni un solo “clic”.