IDN 호모그래프 공격의 원리와 식별 방법
국제화 도메인 이름(IDN)은 여러 문자 체계의 글자를 도메인에 쓸 수 있게 합니다. 호모그래프 공격에서는 라틴 문자 일부를 다른 문자 체계의 똑같이 생긴 글자로 바꾼 도메인을 등록합니다. 링크는 신뢰할 수 있는 주소처럼 보이지만 실제로는 다른 도메인으로 연결됩니다.
예제 풀이
- 입력
- еxаmple.com
- 발견된 문자 체계
- 키릴 문자 (Cyrl), 로마자 (Latn)
- 표시된 문자 수
- 2
| 위치 | 문자 | 코드 포인트 | 문자 체계 | 대체 문자 | 규칙 |
|---|---|---|---|---|---|
| 0 | е | U+0435 | 키릴 문자 | e | 혼동 문자 매핑표 |
| 2 | а | U+0430 | 키릴 문자 | a | 혼동 문자 매핑표 |
- Punycode(DNS가 실제로 조회하는 이름)
- xn--xmple-4ve7a.com
- 엄격한 ASCII 대체
- example.com
작동 방식
- DNS는 ASCII만 처리하므로 다른 문자가 들어간 레이블은 xn--로 시작하는 Punycode로 변환됩니다. Punycode 형식이 진짜 이름입니다. 익숙해 보이는 주소가 xn--…로 바뀐다면 보이는 그대로의 도메인이 아닙니다.
- 브라우저는 보통 레이블에 여러 문자 체계가 섞여 있으면 Punycode 형식을 표시합니다. 하지만 이메일 프로그램, 채팅 앱, 문서는 속이는 유니코드 형식을 그대로 보여 주는 경우가 많고, 하나의 닮은꼴 문자 체계로만 쓴 레이블은 걸러지지 않을 수 있습니다.
- 도메인을 확인하려면 탐지기에 붙여 넣으세요. 표시된 문자가 있거나, 한 레이블에 문자 체계가 둘 이상이거나, 정리된 형식이 원문과 다르면 링크 대신 주소를 직접 입력하거나 북마크로 여세요.
변환은 최선의 노력입니다. 매핑된 혼란 항목 및 NFKC 접기는 결정적이지만 일부 합법적인 유니코드는 플래그가 지정되지 않습니다.
당신의 텍스트
붙여넣기 또는 입력 - 입력할 때 결과가 업데이트됩니다(긴 입력의 경우 약간 디바운싱됨).
11자 스캔됨
2개 의심 항목
엄격한 ASCII 대체
원본(의심스러운 문자가 표시됨)
원래 보기의 의심스러운 문자에는 밑줄이 그어져 있고 'susp'라는 라벨이 붙어 있습니다. 하이라이트 컬러 외에도
suspicious character еxsuspicious character аmple.com
정리된 출력
문자 분석
| 인덱스(0 기반) | 원본 | 교체 | 코드 포인트 | 이유 |
|---|---|---|---|---|
| 0 | е | e | U+0435 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 1 | x | x | U+0078 | Not flagged as a confusable or compatibility character. |
| 2 | а | a | U+0430 | Non-ASCII confusable mapped to a safer Latin ASCII equivalent. |
| 3 | m | m | U+006D | Not flagged as a confusable or compatibility character. |
| 4 | p | p | U+0070 | Not flagged as a confusable or compatibility character. |
| 5 | l | l | U+006C | Not flagged as a confusable or compatibility character. |
| 6 | e | e | U+0065 | Not flagged as a confusable or compatibility character. |
| 7 | . | . | U+002E | Not flagged as a confusable or compatibility character. |
| 8 | c | c | U+0063 | Not flagged as a confusable or compatibility character. |
| 9 | o | o | U+006F | Not flagged as a confusable or compatibility character. |
| 10 | m | m | U+006D | Not flagged as a confusable or compatibility character. |