De la misma forma que los atacantes encuentran métodos cada vez más sofisticados para intentar evadir las técnicas de detección del antivirus, también mejoran aquellas que les permiten engañar al usuario o al menos evadir los consejos básicos que se suelen enseñar en una clásica capacitación de seguridad informática.

A pesar de ello, siempre podemos dar un paso más para reforzar nuestra seguridad y detectar sus engaños, como veremos más abajo.

que un sitio tenga HTTPS y un candado ya no es suficiente para determinar que es seguro

Primero apuntaron a mejorar notablemente el diseño de los engaños de phishing, utilizando imágenes elaboradas o la inclusión de iframes provenientes de una página auténtica.

Además, gracias a las ventajas que hoy en día proporcionan los diccionarios y traductores en línea, logran evitar (algunos) errores de gramática u ortografía en los correos.

Por otro lado, ya no basta con mirar la dirección del remitente de un correo electrónico o SMS, ya que gracias a las técnicas de spoofing un atacante se puede hacer pasar por una entidad distinta, falsificando los datos en una comunicación.

También es necesario prestar especial atención a los enlaces a los cuales conducen los correos engañosos, ya que muchas veces los sitios fraudulentos se ocultan detrás de direcciones acortadas o compuestas, para no revelar a simple vista su intención.

Aún así, nos quedaba un consejo que, hasta ahora, creíamos infalible: revisar que la página sea segura, que utilice el protocolo HTTPS y, sobre todo, que tenga el certificado de seguridad.

Cibercriminales con sitios seguros

Si bien es cierto que la mayoría de las páginas fraudulentas utilizan HTTP, mientras que los sitios originales que solicitan credenciales (como redes sociales, portales bancarios, etc.) lo hacen a través de HTTPS, esto no significa que un atacante no pueda hacer lo mismo. De hecho, podría fácilmente convertirlo en HTTPS, obteniendo un certificado SSL/TLS completamente válido para su sitio, incluso de manera gratuita.

Ahora bien, para que esto funcione, el atacante debería ser capaz de registrar un dominio que se vea lo más parecido posible al sitio que desea falsificar y luego adquirir el certificado para este nuevo dominio. Una opción es buscar dominios que se escriban similar. Por ejemplo: “twiitter.com” versus el original "twitter.com", o “rnercadolibre.com” versus el original "mercadolibre.com".

¿Recuerdas esos experimentos en los que te muestran palabras incompletas o con errores casi imperceptibles, y las lees rápido como si estuviesen completas y bien escritas? Bueno, lo mismo le sucede a muchos con las URL al navegar.

A simple vista y leyendo con rapidez, esos ejemplos podrían engañar a más de uno, pero basta con prestar atención a cómo está escrita la dirección para detectar el engaño. Lo que aún necesita el atacante es poder registrar un sitio que se escriba diferente, pero se vea igual para el usuario, y para esto es que se utilizan los ataques homográficos.

Veamos un ejemplo. ¿Puedes decir si este sitio es falso?

Este ejemplo pertenece a una prueba de concepto realizada por el investigador Xudong Zheng, quien registró el dominio https://www.xn--80ak6aa92e.com/. Puedes ver cómo funciona ingresando al enlace a través del navegador Firefox.

Lo que hace esto posible es la utilización de caracteres Unicode en otros idiomas, como cirílico, griego o ruso. En estos idiomas podemos encontrar caracteres similares o, muchas veces, iguales a los que utilizamos habitualmente en el latín y en las URLs. Gracias a Punycode, que es una sintaxis de codificación que permite que cualquier carácter Unicode pueda ser traducido en una cadena de caracteres más limitada y compatible con las URLs, es que se puede registrar un nombre de dominio utilizando estos caracteres.

Por ejemplo, se puede registrar un dominio como “xn--pple-43d.com”, que es interpretado por el navegador como “apple.com”, pero en realidad está escrito utilizando el caracter cirílico “а” (U+0430) en vez de la “a” en ASCII (U+0041). Si bien ambos caracteres se ven iguales a simple vista, para los navegadores y certificados se seguridad se trata de dos caracteres diferentes y, por lo tanto, forman parte de dominios diferentes.

Existen numerosos ejemplos, como “tωitter.com” (xn--titter-i2e.com en Punycode) o “gmạil.com” (xn--gmil-6q5a.com). Incluso, puedes jugar a crear tus propias combinaciones con un conversor de Unicode a Punycode.

Muchos navegadores actuales tienen mecanismos que intentan evitar este tipo de ataques. Por ejemplo, en Firefox o Chrome, cuando un dominio contiene caracteres en diferentes idiomas, en lugar de mostrar su forma Unicode, mostrará el Punycode correspondiente.

Es decir, en los ejemplos anteriores, en vez de ver “apple.com” (forma Unicode), veríamos “xn--pple-43d.com” (forma Punycode); y en el caso de tωitter.com” sería “xn--titter-i2e.com”.

Sin embargo, en la prueba de concepto, Xudong Zheng logra evitar esta protección registrando el dominio “apple.com” utilizando únicamente caracteres en lenguaje cirílico. De esta forma, “xn--80ak6aa92e.com” se verá como: аррӏе.com.

Además, el investigador va un paso más allá obteniendo a través de Amazon un certificado TLS para su dominio, el cual a simple vista se ve bastante convincente:

Pero si entramos a ver los detalles podemos observar que en realidad pertenece a “xn--80ak6aa92e.com”:

Si bien esta vulnerabilidad ya ha sido corregida en las últimas versiones de Chrome e Internet Explorer, navegadores como Firefox aún sufren este problema. En este último navegador, una alternativa es configurar la opción network.IDN_show_punycode en true, de forma tal que siempre muestre los caracteres en su forma Punycode.

Aun así, el sitio gmạil.com del ejemplo anterior también logra evitar la protección de Chrome, debido a que utiliza únicamente caracteres del latín, inclusive caracteres especiales como “ạ”, los cuales sí son mostrados por el navegador.

La necesidad de reforzar la protección

Cada vez que encontramos un nuevo caso de phishing o alguna página fraudulenta que busca engañar al usuario, repetimos los mismos consejos: revisar el remitente del mensaje, prestar atención al enlace de la página a la que estamos ingresando, asegurarnos que esté bien escrita y, por sobre todas las cosas, que sea segura (utilice HTTPS) y tenga certificado de seguridad.

Sin embargo, hoy en día no alcanza con solo estos cuidados, ya que los cibercriminales emplean técnicas cada vez más complejas para engañar al usuario. Implementar HTTPS y certificados no es un tema de seguridad para el atacante; después de todo, si está robando tus credenciales, ¿qué importa si las recibe cifradas o no?

El punto es que estas técnicas se usan para dar a los usuarios una falsa sensación de seguridad que los lleve a ingresar sus datos creyendo que están en un sitio seguro, y obedeciendo al consejo que les repitieron hasta el hartazgo de que miren si el sitio tiene un candadito y HTTPS. Pero, como vemos, ya no es suficiente.

Es por esto que además de prestar especial atención a los correos y sitios web, también te recomendamos mirar cuidadosamente los certificados de seguridad, evitar acceder a los sitios a través de enlaces en correos electrónicos (mejor hacerlo siempre escribiendo la URL o a través de accesos directos de confianza) y agregar una capa extra de protección en tus cuentas utilizando el doble factor de autenticación.

Sigue leyendo: Cómo se esconde el phishing en URLs falsas: develando el truco