26 de abril de 2017

Phishing con caracteres Unicode

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