Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What to do about whole-script homographs [M1332714] #384

Closed
classilla opened this issue Apr 21, 2017 · 1 comment
Closed

What to do about whole-script homographs [M1332714] #384

classilla opened this issue Apr 21, 2017 · 1 comment

Comments

@classilla
Copy link
Owner

classilla commented Apr 21, 2017

https://arstechnica.com/security/2017/04/chrome-firefox-and-opera-users-beware-this-isnt-the-apple-com-you-want/

https://www.аррӏе.com/ -> xn--80ak6aa92e.com

Mozilla has wontfixed this in https://bugzilla.mozilla.org/show_bug.cgi?id=1332714 which is idealistically correct but not practical. On the other hand, it's not at all clear how many phony domains can actually be generated in this fashion; the number appears to be small.

The new display algorithm was implemented in https://bugzilla.mozilla.org/show_bug.cgi?id=722299 . A first approximation might be to implement a blacklist, and put some well-known TLDs that have high value for spoofing in it (probably com net org edu gov). This is not as targetted as the Chrome solution and would affect many more domains, but would also deal with the whole-script homograph problem more definitively and be better than wholesale displaying punycode in all circumstances as some have recommended. This could be hacked into network/dns/nsIDNService.cpp::ConvertToDisplayIDN.

No approach here looks like it won't disadvantage non-Latin scripts, unfortunately.

@classilla
Copy link
Owner Author

netwerk/dns/nsIDNService.cpp::isInWhitelist does compute the TLD, so we could borrow that code for ConvertToDisplayIDN.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant