spelljacking

Es un tema recurrente.

Uno de los principales vectores de ataque en la actualidad son las campañas de phishing, es decir, ataques que tienen como objetivo que la víctima haga algo para facilitarle el trabajo a los cibercriminales.

Se ataca así a la víctima, incitándola a meter sus credenciales de acceso en una web aparentemente oficial, o abriendo un documento que viene con malware, y como es el usuario quien lo hace, la mayoría de controles de seguridad del sistema operativo se saltan. Es más, de aparecer alguna alerta es probable que el propio usuario la acepte y continúe.

Esto es, como decía, así en la actualidad, y tiene difícil solución, ya que la solución pasa por formar más a los usuarios. Concienciación, a fin de cuentas, que no es algo que precisamente se obtenga de la noche a la mañana…

¿Qué me dirías si te digo que puede que tengas instalado un keylogger por defecto en tu dispositivo?

Es decir, ¿que el propio sistema operativo, y el propio navegador cuenta con una herramienta capaz de exfiltrar los datos que tecleas, contraseñas incluidas? Lo que se viene llamando spelljacking.

Pues esto mismo es lo que pasa, hoy en día, con prácticamente todos los sistemas operativos modernos.

Y lo peor de todo es que se hace, paradógicamente, para aumentar la seguridad.

Dos temas a considerar.

Spelljacking en sistemas anti-phishing

No sé si te has parado a pensar alguna vez cómo funcionan las herramientas de protección de suplantación de la identidad que ofrecen sistemas operativos como Windows 11 o MacOS, o navegadores como Chrome o Safari.

Básicamente, el objetivo de estos sistemas es evitar que el usuario introduzca sus contraseñas en donde no debe (páginas de phishing que se hacen pasar por otras páginas legítimas), y para ello no queda otra que estar «escuchando» todo lo que escribimos con el teclado, subirlo a la nube privada de la empresa que esté detrás de la funcionalidad, confirmar si se trata o no de una contraseña, y en tal caso, alertar al usuario de que potencialmente estamos exponiéndola.

En MacOS esta funcionalidad lleva mucho tiempo funcionando (el sistema te alerta cuando identifica que tienes en el llavero de claves una semejante a la que estás poniendo), y en Windows ha llegado recientemente una herramienta semejante, que por defecto viene desactivada, y que puedes encontrar en Seguridad de Windows > Control de aplicaciones y navegador > Configuración de protección basada en la reputación.

Gracias a ello, el sistema analiza si esa contraseña ya la has utilizado previamente (si es una contraseña ya almacenada en el sistema, vaya), y te avisa si la estás intentando escribir en un documento que no cuente con seguridad extra o en una página web.

Y con ello, estamos anteponiendo seguridad (el no repetir o exponer involuntariamente una contraseña en un espacio no seguro) a la privacidad de las comunicaciones.

Un potencial spelljacking a priori utilizado para evitar que el usuario acabe siendo engañado, o tome riesgos innecesarios.

Spelljacking en sistemas de corrección de textos del navegador

Hasta aquí todo bien. A fin de cuentas, dichas credenciales se trabajan tomando las medidas de seguridad oportunas, y además se hace con el objetivo de evitar males mayores.

Pero es que recientemente los investigadores de Otto-JS descubrieron, mientras hacían otra investigación, que ocurre algo parecido en navegadores como Chrome y Edge simplemente por tener activo el sistema de corrección de textos (EN):

«Mientras investigábamos en busca de fugas de datos en diferentes navegadores, nos topamos con una combinación de características que, una vez habilitadas, expondrán innecesariamente datos confidenciales a terceros como Google y Microsoft. Lo preocupante es lo fácil que resulta habilitar estas funciones y que la mayoría de los usuarios lo harán sin darse cuenta realmente de lo que está sucediendo en segundo plano».

Como se muestra en el vídeo que acompaña estas palabras, el atributo spellcheck de HTML permite a estos sistemas por defecto revisar la ortografía y gramática de ese elemento, abriendo la veda a potenciales ataques de spelljacking.

¿Y cómo lo hacen?

Pues, en efecto, enviando esa información a la nube, donde se trata y se busca posibles correcciones, para devolvérselo en pantalla al usuario.

Basta con que en un formulario web, este atributo en el campo de la contraseña no esté convenientemente bloqueado, y el usuario le de al botón de «Mostrar Contraseña» para que esa contraseña se comparta como cualquier otro array de texto con la nube del corrector, en texto plano, sin seguridad alguna.

Que dices tú… Hombre, pues tampoco pasa nada porque el corrector por defecto de Google o Microsoft almacene esa información. A fin de cuentas, si no confiamos en ellos, en quién vamos a confiar…

Pero es que recordemos que esto hila con la posibilidad de utilizar correctores de terceros. Bastaría por tanto que el usuario instalase una extensión de navegador de corrección de textos, para que todos los textos que escriba, contraseñas escritas, sean enviadas al desarrollador de la extensión.

Eso o cualquiera que haya desarrollado un lector de texto, cuyo funcionamiento es exactamente el mismo.

¿Cómo se te queda el cuerpo?

________

Puedes ver más artículos de esta serie en #MundoHacker, donde tratamos en varios tutoriales las medidas para atacar y/o defenderse en el mundo digital.

Y si el contenido que realizo te sirve para estar actualizado en tu día a día, piensa si merece la pena invitarme a lo que vale un café, aunque sea digitalmente.