CWE一覧に戻る
CWE-1007

ユーザーに提示されたホモグリフの視覚的区別が不十分

Insufficient Visual Distinction of Homoglyphs Presented to User
脆弱性 作成中
JA

この製品はユーザーに情報または識別子を表示するが、その表示メカニズムは、ユーザーが視覚的に類似または同一のグリフ(ホモグリフ)を区別することを容易にしていないため、ユーザーはグリフを誤って解釈し、意図しない安全でないアクションを実行する可能性がある。

グリフ、絵、アイコンの中には、プログラムにとっては意味的に異なるものであっても、人間のユーザーには非常によく似ていたり、同じように見えたりするものがある。これらはホモグリフと呼ばれる。例えば、小文字の "l"(エル)と大文字の "I"(アイ)は異なる文字コードを持っていますが、これらの文字はフォントによってはユーザには全く同じように表示されます。これは異なる文字セット間でも起こりうる。たとえば、ラテン文字の大文字 "A "とギリシャ文字の大文字 "Α"(アルファ)は、プログラムでは異なる文字として扱われますが、ユーザーにはまったく同じように表示されることがあります。ラテン文字の大文字「À」と、それに相当するアキュートアクセント付きの「Á」のように、アクセント記号によって文字が非常に似て見えることもあります。

例えば、攻撃者が管理するホスト名へのリンクを、被害者が信頼するホスト名に似せて提供することで、攻撃者はこの視覚的類似性をフィッシングなどの攻撃に悪用することができる。ホモグリフの別の使用法として、敵対者は一般ユーザーのユーザー名に視覚的に類似したバックドア・ユーザー名を作成することがあります。

EN

The product displays information or identifiers to a user, but the display mechanism does not make it easy for the user to distinguish between visually similar or identical glyphs (homoglyphs), which may cause the user to misinterpret a glyph and perform an unintended, insecure action.

Some glyphs, pictures, or icons can be semantically distinct to a program, while appearing very similar or identical to a human user. These are referred to as homoglyphs. For example, the lowercase "l" (ell) and uppercase "I" (eye) have different character codes, but these characters can be displayed in exactly the same way to a user, depending on the font. This can also occur between different character sets. For example, the Latin capital letter "A" and the Greek capital letter "Α" (Alpha) are treated as distinct by programs, but may be displayed in exactly the same way to a user. Accent marks may also cause letters to appear very similar, such as the Latin capital letter grave mark "À" and its equivalent "Á" with the acute accent.

Adversaries can exploit this visual similarity for attacks such as phishing, e.g. by providing a link to an attacker-controlled hostname that looks like a hostname that the victim trusts. In a different use of homoglyphs, an adversary may create a back door username that is visually similar to the username of a regular user, which then makes it more difficult for a system administrator to detect the malicious username while reviewing logs.

Scope: Integrity, Confidentiality / Impact: Other
Use a browser that displays Punycode for IDNs in the URL and status bars, or which color code various scripts in URLs.

Due to the prominence of homoglyph attacks, several browsers now help safeguard against this attack via the use of Punycode. For example, Mozilla Firefox and Google Chrome will display IDNs as Punycode if top-level domains do not restrict which characters can be used in domain names or if labels mix scripts for different languages.
Use an email client that has strict filters and prevents messages that mix character sets to end up in a user's inbox.

Certain email clients such as Google's GMail prevent the use of non-Latin characters in email addresses or in links contained within emails. This helps prevent homoglyph attacks by flagging these emails and redirecting them to a user's spam folder.
MITRE公式ページ — CWE-1007