Se ha confirmado un problema en Chrome
y Firefox que podría permitir la realización de ataques de phishing mediante el
uso de caracteres Unicode. Conocidos como ataques homográficos, representan un
problema que los navegadores intentan evitar, pero se ha descubierto una forma
para evitar los controles actuales. Se puede visitar https://www.аррӏе.com/
para entender las implicaciones.
Con el uso de Punycode se pueden
representar caracteres Unicode mediante el subconjunto de caracteres ASCII
empleado para los nombres en Internet. De esta forma se pueden registrar
dominios que hagan uso de caracteres no permitidos, por ejemplo podríamos
registrar un dominio como España.com que quedaría como xn--espaa-rta.com.
Evidentemente no es muy empleado porque para temas como el SEO, promoción y
marca, no es muy eficiente. Queda raro que haya que escribir algo como
xn--espaa-rta.com.
Ahora bien, las implicaciones en el
mundo de la seguridad que pueden representar estos dominios son grandes, ya que
muchos caracteres Unicode pueden ser difíciles de distinguir de los caracteres
ASCII normales. De esta forma, es posible registrar dominios como
"xn--pple-43d.com", equivalente a "аpple.com" por el uso de
la a en cirílico "а" (U+0430) en vez de la "a" en ASCII
(U+0041). Este tipo de ataques son conocidos como homográficos.
Asusta, eh? (vía
https://t.co/YZOR49q342) pic.twitter.com/Ua6UWAWzcr
— David García
(@dgn1729) 18 de abril de 2017
Los navegadores modernos tienen
mecanismos para evitar o limitar este tipo de ataques. En Chrome y Firefox la
forma Unicode se esconde si un dominio contiene caracteres de varios lenguajes
diferentes. De esta forma, por ejemplo el dominio "xn--pple-43d.com"
aparecerá como tal (en vez de "аpple.com") al contar con caracteres
de dos lenguajes, de esta forma se evita la confusión con el dominio real.
Pero el sistema de protección ante
ataques homográficos falla si todos los caracteres son sustituidos con un carácter
similar del mismo lenguaje. El dominio "аррӏе.com" registrado
como "xn--80ak6aa92e.com" evita el filtro al emplear únicamente
caracteres cirílicos. Esta forma de evitar la protección
afecta a Chrome y Firefox, mientras que Internet Explorer, Microsoft Edge y
Safari se libran del problema.
El desarrollador Xudong Zheng
(@Xudong_Zheng) reportó el fallo a Chrome y Firefox el 20 de enero de 2017 y
confirma que ha quedado corregido en la rama de Chrome 59, aunque finalmente se
incluirá en Chrome 58 que estará disponible en torno a la semana que viene. Por
ahora sigue sin corregir en Firefox ya que no han decidido si está dentro de su
alcance.
Como contramedida en Firefox se puede
configurar desde about:config y asignar network.IDN_show_punycode a true. Esto
fuerza a Firefox a mostrar siempre los dominios IDN en su forma Punycode, lo
que permite identificar los dominios maliciosos.
Más información:
·
Phishing
with Unicode Domains https://www.xudongz.com/blog/2017/idn-phishing/
·
Punycode
https://en.wikipedia.org/wiki/Punycode
·
Registrar
un dominio con ñ https://www.honesting.es/registrar-un-dominio-con-n/
·
Phishing
with Unicode Domains (Reddit) https://www.reddit.com/r/netsec/comments/65csdk/phishing_with_unicode_domains/
Fuente:
Hispasec