Con el fin de esquivar algo mejor este tipo de ataques, el equipo de Google Chrome ha decidido recientemente restringir ciertos dominios con caracteres no romanos a la hora de ser mostrados en el navegador web. Este cambio viene después de revelarse una técnica que permite la creación de sitios web de phishing muy conseguidas.

Desde hace tiempo se pueden registrar nombres de dominio con caracteres árabes, chinos, cirílicos y hebreos, además de otros alfabetos no romanos. En 2009 la ICANN aprobó un gran número de dominios de alto nivel (TLD, los dominios de Internet), los cuales incluyen caracteres no romanos. Los servidores DNS gestionan los dominios internacionalizados convirtiéndolos en algo compatible con ASCII, empleando para ello un sistema llamado Punycode. Sin embargo, los navegadores web y otras aplicaciones soportan Unicode, lo que abre la puerta al correcto despliegue de contenidos escritos en caracteres no romanos.

Aunque la internacionalización de los dominios ha sido positiva como medida de inclusión dentro de Internet, no se puede obviar que algunas letras de algunos alfabetos se ven parecidos a los romanos sin ser iguales, algo que puede ser usado para crear URL falsificadas. Por ejemplo, la letra “a” en cirílico y romano se ven idénticas, pero se identifican como caracteres diferentes de Unicode, siendo U+0430 y U+0061 respectivamente.

Para evitar los problemas causados por esto, algunos navegadores están incluyendo complejas comprobaciones para decidir si es mejor mostrar los nombres de dominios utilizando sus propios scripts o bien mostrar su equivalente en Punycode. En caso de hallar caracteres romanos, cirílicos y/o griegos mezclados, se mostrará el código Punycode en lugar de una “URL bonita”. Por ejemplo, si el dominio apple.com utiliza la “a” en cirílico, se mostrará xn--pple-43d.com en la barra de direcciones.

Sin embargo, esos filtros no resultan perfectos a la hora de realizar su función y muchos navegadores ni siquiera los incluyen. El desarrollador web Xudong Zheng ha conseguido registrar el dominio xn--80ak6aa92e.com para la creación de una página web que podría hacerse pasar por la de Apple. No, el sitio web de Apple no ha sido hackeado en absoluto, sino que se trata de un domino diferente que mezcla caracteres de distintos alfabetos. El truco está en L, la cual está cogida del cirílico. Xudong ha conseguido engañar a los navegadores web Chrome, Firefox y Opera sobre Windows, Mac y Linux, y solo los usuarios del segundo sistema podrían detectar que la L es un poco extraña. Sin embargo, las versiones más reciente de Google Chrome ya detectan la “falsificación”.

Suplantacion-del-dominio-de-Apple-por-parte-de-Xudong-Zheng

El filtro de Chrome es capaz de detectar nombres de dominios, pero no se puede decir lo mismo de los TLD (los propios dominos). De hecho vemos cómo se puede introducir el nombre de dominio de Apple con diferentes TLD a través del código Punycode: cirílico (xn--80ak6aa92e.xn--p1ai), chino (xn--80ak6aa92e.xn--fiqs8s), griego (xn--80ak6aa92e.xn--qxam) y coreano (xn--80ak6aa92e.xn--3e0b707e). Aunque esos dominios no soy muy recomendables para lanzar ataques de phishing (debido a que la diferencia en el aspecto es muy notable) contra los que usan el alfabeto romano, sí podrían tener éxito en otras zonas del mundo. Recomendamos probar los falsos dominios de Apple desde la navegación privada y con los sistemas de seguridad en guardia, ya que algunos podrían dirigir a una web existente (mucho mejor si se hace desde una máquina virtual).

Dominio-de-Apple-con-TLD-en-cirilico-ruso-y-chino

La política para el despliegue de IDN de Google Chrome realiza diez comprobaciones con diferentes condiciones para detectar las posibles suplantaciones de dominio. Por su parte, Mozilla no tiene claro todavía cómo bloquear la técnica empleada por Xudong, hasta el extremo de que hay visiones contradictorias sobre el responsable a la hora de evitar los ataques de phishing.

Los detractores de aplicar políticas como las de Google Chrome en Firefox argumentan que este problema corresponde a los dueños de las marcas, quienes tendrían que registrar sus nombres de dominios con todos los TLD posibles para evitar esto. Sin embargo, también hay que tener en cuenta que una mayor cantidad de dominios significa un mayor coste del sitio web, por lo que posiblemente muchos particulares y pequeñas empresas no puedan hacer frente a esta situación.

Los usuarios de Firefox puede dirigirse a about:config, buscar la configuración de network.IDN_show_punycode y establecer el valor a true para forzar el despliegue de los códigos Punycode cuando se introduzca un dominio con caracteres no romanos en el navegador.

forzar-la-muestra-del-codigo-Punycode-en-Firefox

Conclusión

Como se puede apreciar, el soporte para los distintos alfabetos del mundo en Internet ha dado alas a los hackers que utilizan el phishing para llevar a cabo sus acciones maliciosas.

De hecho, a principios de año avisamos sobre una conseguida falsificación del login de Gmail, la cual podría engañar a los usuarios más incautos o que no tengan los conocimientos necesarios para distinguir una URL para web legítima de otra que no lo es.

Veremos si en un futuro se aprueban más restricciones sobre cómo pueden ser desplegados los dominios en Internet.

 

Fuente: CSO Online | muyseguridad