퓨니코드(Punycode)란
DNS(도메인 네임 시스템)는 영어 알파벳(A-Z), 숫자(0-9), 하이픈(-)으로 이루어진 7비트 ASCII 문자만 인식할 수 있습니다.
하지만 영어가 익숙하지 않은 사용자는 자국어로 된 도메인주소를 통해 훨씬 직관적이고 쉽게 인터넷에 접근하고 싶어 합니다.
퓨니코드는 기존 DNS 시스템을 수정하지 않고도 다양한 언어의 도메인(IDN, 다국어 도메인)으로 접속할수 있게 해주는 기술입니다.
퓨니코드의 작동 방식
퓨니코드로 변환된 도메인은 항상 접두사 xn--로 시작합니다.
- 우리가 웹 브라우저 주소창에 한글.com을 입력하면
- 브라우저가 이를 자동으로 xn--bj0bj0b.com이라는 퓨니코드로 변환하여 도메인 네임 서버(DNS)에 요청을 보냅니다.
- DNS는 xn-- 라는 접두사를 통해 해당 문자열이 PunyCode로 인코딩 된것임을 알수있습니다.
- 입력한 도메인: 한글.com
- 퓨니코드 변환: xn--bj0bj0b.com
보안 관점: 호모그래프 공격(Homograph Attack)
시각적으로 유사한 문자를 이용해 사용자가 정상 도메인으로 접속했다고 착각하게 만드는 피싱 공격에 활용될수있습니다.
예를들어 www.apple.com이라는 주소에서 알파벳 a와 비슷하게 생긴 키릴문자 a로 대체하는식 입니다.
Xudong Zheng이 키릴 문자(a)를 사용하여 Chrome과 Firefox에서 유효한 HTTPS 인증서와 함께 www.apple.com(xn--80ak6aa92e.com)을 등록하여 실제 호모그래프 공격에 사용될수 있음을 증명했습니다.

최근 웹 브라우저(Chrome, Safari 등)는 이러한 피싱을 막기 위해 주소창에 영문과 타 언어가 수상하게 혼용된 경우, 한글/타 언어 대신 xn--... 형태의 퓨니코드 주소를 그대로 노출시키는 보안 기능을 제공합니다. Xudong Zheng의 PoC 페이지를 보면 과거에는 apple.com으로 주소가 보였지만 26년 현재 접속시 퓨니코드로 주소가 보이는것을 볼수있습니다.

앞서 설명한 웹 브라우저의 보안 기능 강화로 전통적인 PC 환경의 퓨니코드 피싱은 크게 줄어든 추세입니다. 그러나 화면이 좁아 주소창이 쉽게 생략되는 모바일 환경이나, 발신자 이메일 주소 도메인(@company.com)을 위장하는 기업 대상 이메일 사기 등에서는 여전히 악용될 수 있습니다.
'Security > Web Security' 카테고리의 다른 글
| User-Agent는 왜 자기를 크롬, 사파리라고 소개할까? (0) | 2025.12.30 |
|---|---|
| WordPress xmlrpc 취약점 (0) | 2025.09.18 |
| [보안관제] X-Requested-With 헤더와 정오탐 판별 (7) | 2025.08.04 |
| DVWA로 배우는 CSRF 공격 (0) | 2025.02.10 |
| DVWA로 배우는 File Inclusion (0) | 2025.02.10 |