Punycode es un tipo de codificación que utiliza caracteres de tipo Unicode para su posterior traducción a ASCII.
Este tipo de codificación es parte del IDNA (nombres de
dominio internacionalizado), que permite crear dominios multilingües con
caracteres no ascii tipo á é í ó ú ü ñ…, letras chinas por ejemplo o incluso
emojis.
La sintaxis está publicada en el RFC 3492.1 y podemos realizar la traducción en páginas como punycoder o punycode. La traducción que se realiza comienza con el prefijo "xn--"
Tenemos que tener en cuenta que los caracteres ASCII que se
permiten en los nombres de dominio son las letras minúsculas a-z, números (0-9) y los caracteres especiales guión y punto.
¿Pero presenta problemas de seguridad?
Realmente sí, si no nos fijamos, ya que se pueden realizar ataques homográficos, que consisten en registrar dominios con nombre similares
a una web conocida para ejecutar ataques de phishing entre otros.
Imaginad esta web: www.ąmazon.com, si no nos fijamos mucho, podríamos pensar que es la web de compras amazon, o si utilizo este otro dominio www.ѐllisendiado.blogspot.com, quizás no lo pensemos y creamos que estamos enlazando este blog.
Mecanismos de defensa ante punycode
La mayoría de proxies y cortafuegos tienen políticas al respecto, pero si no navegamos a través de uno de estos lo primero que tendremos que hacer es fijarnos en los nombre de dominio, lo segundo es evaluar siempre el certificado
de la Web y que sea https y por último verificar que nuestro navegador muestre
la cadena ACE, es decir en www.ąmazon.com muestre
www.xn--mazon-2wa.com viendo que
esta codificado en punycode. En la mayoría de navegadores ya está configurado
por defecto. En el caso de Firefox debemos configurarlo en:
- Indicamos en la barra de direcciones: about:config.
- Buscar network.IDN_show_punycode y cambia el valor de false a true.
No hay comentarios:
Publicar un comentario