Mitigating the effects of misleading characters
Security identifiers are analyzed to mitigate the use of misleading characters. In some embodiments, a language-based character set determination is utilized and looks for characters that are different from those that a user and/or the user's system would expect to see. If a security identifier is found to contain a character that is other than one that the user or the user's system would expect to see, then certain remedial actions can be implemented
1 . A computer-implemented method comprising:
determining one or more languages expected to be encountered on a computing device;
mapping the one or more languages to a set of acceptable character sets;
determining whether a security identifier contains only characters from the set of acceptable character sets; and
implementing a remedial action if the security identifier contains characters other than those from the set of acceptable character sets.
2 . The method of claim 1 , wherein the act of determining one or more languages is performed based on one or more languages a user of the computing device expects to encounter.
3 . The method of claim 1 , wherein the character sets comprise Unicode scripts.
4 . The method of claim 1 , wherein the security identifier comprises a domain name.
5 . The method of claim 4 , wherein the act of implementing is performed by displaying the domain name in a visually-distinctive manner.
6 . The method of claim 5 , wherein the visually-distinctive manner comprises an encoded format.
7 . The method of claim 1 , wherein the security identifier does not comprise a domain name.
8 . The method of claim 1 , wherein the act of determining one or more languages is performed by using a locale-based determination.
9 . A computer-implemented method comprising:
determining a locale associated with a computing device;
mapping the locale to a set of acceptable Unicode scripts;
determining whether a domain name contains only characters from the set of acceptable scripts;
in an event that the domain name contains characters other than those from the set of acceptable scripts, displaying the domain name in a visually-distinctive manner.
10 . The method of claim 9 , wherein the act of displaying is performed by displaying the domain name in an encoded format different from its Unicode representation.
11 . The method of claim 9 , wherein the act of determining the locale comprises using both a language and a region.
12 . The method of claim 9 , wherein the act of determining the locale comprises using a location.
13 . The method of claim 9 , wherein the act of determining the locale comprises using configuration information on the computing device.
14 . The method of claim 9 , wherein the act of determining the locale comprises using information provided by a user of the computing device.
15 . The method of claim 9 , wherein the act of determining the locale comprises doing so without user input as to the locale.
16 . A computing device comprising:
one or more processors;
one or more computer-readable media;
computer-readable instructions on the one or more computer-readable media which, when executed by the one or more processors, cause the one or more processors to implement a method comprising:
receiving a domain name;
evaluating individual labels of the domain name to ascertain whether the individual labels contain characters from allowable scripts for a particular language or languages;
in an event a label contains a character from a script that is not an allowable script for the particular language or languages, displaying the domain name in a visually-distinctive manner; and
in an event that all labels contain characters from allowable scripts for the particular language(s), displaying the domain name in an unencoded format.
17 . The computing device of claim 16 , wherein the computer-readable instructions reside in the form of a browser application.
18 . The computing device of claim 16 , wherein the particular language or languages are determined using a locale-based approach.
19 . The computing device of claim 16 , wherein the particular language or languages are determined using information from a user of the computing device.
20 . The computing device of claim 16 , wherein the act of displaying comprises displaying the domain name in a visually-distinctive manner comprises displaying the domain name in an encoded format.