Punycode is a method of depicting Unicode using the limited character subset of ASCII which is used for internet host names. It makes it possible to register domain names with foreign characters. For example, the domain name “xn--s7y.co” is same as “短.co”. Using the same, a security researcher has shown the proof-of-concept of a scary attack.
While the whole concept of the attack is very old, it has recently surfaced to the current versions of browsers like Google Chrome, Mozilla Firefox, and Opera. These browsers show unicode characters in domain names as normal characters, which makes it impossible to notice the notorious domains.
In the picture above, ‘аpple.com’ uses Cyrillic ‘а’ (U+0430), instead of the ASCII ‘a’ (U+0041). This is also called a homograph attack.
So, are our web browsers totally incompetent against such attacks? Well, most browsers have some protection mechanisms enabled but they don’t detect every version of such attacks. For example, if the attacker only replaces ASCII characters with characters from a single foreign language, the protection fails.
This bug was reported to Firefox and Chrome on January 20. While the fix has landed in Chrome Canary browser, it’ll be rolled out in Chrome 58 which is slated to arrive next week. The issue remains unaddressed in Firefox.
However, Firefox users can tackle this bug by going to
about:config and setting
Zheng recommends the use of a password manager. He also advises that users must pay close attention to a site’s URL when entering personal information. You can read more about the attack on Xudong Zheng’s blog.