El ojo entrenado logra detectar sin mayores dificultades a un sitio que está tratando de hacerse pasar por otro, pero el phishing aún funciona bastante bien en el robo de credenciales, y lo último que necesita es un mejor camuflaje. Lamentablemente, eso es lo que obtiene a través del soporte Punycode en Firefox y Chrome, que puede ser utilizado para esconder una dirección maliciosa y presentarla al usuario como un dominio válido y protegido.
Un par de meses atrás hablamos sobre las sutiles diferencias entre los caracteres normales, y aquellos disponibles vía Unicode que pueden confundir a los usuarios. Es un truco simple por donde se lo mire, pero a pesar de los nuevos esfuerzos en seguridad, el phishing no ha perdido efectividad. Todo comienza con un poco de educación: La gran mayoría de las compañías en la Web no contactan al usuario salvo que lo haya autorizado de forma explícita, o sea necesario comunicar algo con extrema urgencia, por ejemplo, la crisis de seguridad que afectó a Yahoo!. Muchos expertos en seguridad indican que la recomendación de «no hacer clic en enlaces» no es apropiada ya que la Web en sí es una red de enlaces, pero eso no impide que deban ser tomados con una pizca de «caveat emptor». El enlace puede no ser lo que parece, y la última prueba de ello llega gracias al investigador Xudong Zheng.
Este último ataque homógrafo aprovecha el sistema Punycode que permite la codificación de caracteres especiales Unicode en dominios web. Como referencia, «nеotеo.com» no es lo mismo que «neoteo.com», por más que nuestros ojos digan lo contrario. Pero el verdadero problema aquí es que las últimas versiones de Firefox y Chrome (eso incluye a sus variantes) están presentando al dominio «maquillado» en la barra de direcciones, en vez de enseñar la dirección sin codificar. El ejemplo que publicó la gente de Wordfence es contundente: Lo que aparenta ser «https://www.epic.com» es en realidad «https://www.xn--e1awd7f.com». El certificado de seguridad fue obtenido con la ayuda del portal Let’s Encrypt, y el proceso entero tomó unos cinco minutos. Eso es suficiente para que Firefox y Chrome anuncien al sitio falso como «seguro».
Por suerte, la corrección en Chrome está progresando. El build Canary incluye el hotfix necesario, y llegará a las ediciones estables dentro de unos días. Mejores noticias hay para los usuarios de Firefox, que sólo deben ingresar a about:config, buscar el parámetro network.IDN_show_punycode, y cambiar su valor de «false» a «true».