• Booking.com 고객들이 유니코드의 까다로움을 뼈저리게 깨닫다

    Booking.com 사용자를 겨냥한 피싱 캠페인은 유니코드 문자열의 모호성을 이용하는 기법에 의존합니다.

    article image

    잘 디자인되지 않은 서체에서는 "l"과 "1", 또는 "I"가 쉽게 혼동됩니다. (음.) 다행스럽게도 현대의 폰트들은 이러한 혼동하기 쉬운 영문 알파벳과 숫자 문자들을 명확히 구분하기 위해 다양한 기술을 사용합니다. 하지만 최근 Booking.com 사용자를 겨냥한 피싱 캠페인이 보여주듯이, 이러한 디자인은 여러 문자 세트 간에 존재하는 유사성에서 비롯되는 모호성까지는 거의 대비하지 못합니다.

    BleepingComputer 보도에 따르면, "보안 연구원 JAMESWT가 처음 발견한 이 공격은 일부 폰트에서 일본어 히라가나 문자 'ん'(유니코드 U+3093)를 악용합니다. 이 문자는 언뜻 보기에 라틴 문자 시퀀스 '/n' 또는 '/~'와 매우 유사합니다." 공격자의 의도는 사람들이 이 특이한 문자를 간과하고 악성 링크를 클릭한 뒤, 이 캠페인을 통해 배포되는 악성코드의 표적이 되도록 유도하는 것입니다.

    유니코드는 이처럼 수없이 악용되어 왔습니다. 이는 예를 들어 스패머가 이메일 필터를 우회하는 비교적 흔한 방법이거나, 심지어 욕설 필터가 있음에도 트롤들이 온라인상에서 사람들을 괴롭히는 데 사용되기도 합니다. 그럼에도 불구하고 이를 해결하기는 어렵습니다. 텍스트 렌더링은 대부분의 사람이 아는 것보다 훨씬 복잡한 특성(마치 DNS와 같습니다)을 지니고 있기 때문입니다. 자, 그럼 문자들에 대한 종합 강좌를 시작하겠습니다.

    • Unofficial 7-zip.com 웹사이트, 일주일 이상 악성코드 포함 다운로드 제공—감염된 PC가 프록시 봇넷에 강제 접속
    • 암호화 자산 참사로 비트코인 440억 달러가 무작위 사용자에게 전송

    컴퓨터는 원래 최소한의 미국 표준 정보 교환 코드(American Standard Code for Information Interchange), 즉 사람들이 이성적으로 부르는 ASCII 규격까지만 지원했습니다. 이는 비교적 간단했습니다. 영어 알파벳 26자를 소문자와 대문자 형태로 처리할 수 있게 했고, 일부 필수 구두점과 함께 줄바꿈이나 텍스트 들여쓰기 등 컴퓨터에게 특정 동작을 지시하는 다양한 제어 코드들을 허용했습니다.

    그러나 영국 제국마저 영어 알파벳을 지구상 유일한 문자 세트로 만들지 못했고, 그러한 문자를 사용하는 사람들 중 일부는 컴퓨터를 사용하길 원했습니다. 이것이 모든 현대 장치에서 문자를 인코딩하는 데 사용되는 유니코드 표준의 탄생으로 이어졌습니다. (모든 합리적인 시스템에서 실제 인코딩이 UTF-8이며, 더 구체적으로는 Windows 시스템이 아닌 환경이라는 점은 생략하겠습니다.)

    유니코드 컨소시엄(Unicode Consortium)에 따르면 유니코드는 "약 110만 개의 문자를 인코딩할 수 있으며, 이를 통해 단 하나의 보편적인 표준으로 전 세계의 모든 언어와 스크립트를 지원할 수 있다"고 밝혔습니다. 또한 "모든 현대 운영 체제, 컴퓨팅 환경, 프로그래밍 언어 및 애플리케이션이 유니코드 표준의 핵심을 지원한다"고 합니다. 덕분에 이모지, 구두점, 비영어권 문자 같은 멋진 것들을 사용할 수 있게 된 것입니다.

    하지만 Booking.com 사용자를 겨냥한 공격처럼, 이러한 형태의 공격을 당하는 것도 가능하며 이를 방지하는 것은 결코 간단하지 않습니다. 운영 체제나 브라우저 같은 프로그램은 유니코드 문자를 처리하는 방법을 알지만, 그것이 속임수로 사용되고 있는지 여부를 판단할 수 있다는 의미는 아닙니다. 사람들은 효과적으로 소통하기 위해 의도적으로 혼합된 문자 세트를 사용하고 싶을 때도 있고, 단순히 뭔가 멋지게 꾸미고 싶을 때도 있기 때문입니다.

    이 문제가 왜 간단하지 않은지 다시 한번 강조하자면, 유니코드는 주어진 텍스트 조각에서 문자 수를 세거나 두 문자가 시각적으로 정렬되어 있는지 여부를 판단하는 것처럼, 겉보기에는 기초적인 작업들조차 수행하기 어렵게 만듭니다. 물론 이 문제를 해결하는 것이 불가능하다는 뜻은 아니지만, 대부분의 사람들이 예상하는 것보다 훨씬 복잡할 것이라고 짐작합니다.

    Booking.com 사용자들을 목표로 하는 이러한 사기 수법에 속지 않기 위해 사람들이 할 수 있는 조치에 대해 말씀드리자면, 저의 공식적인 권고 사항은 이메일은 절대 읽거나 링크를 클릭하지 않는 것입니다.

    다만, 텍스트 렌더링(그리고 편집!)이 왜 저주받았는지에 대한 더 상세한 설명이 아니라면 말이죠. 그렇다면, 마음껏 클릭하세요. 약간의 '저주받은 지식'을 아는 것이 뭐가 문제겠습니까? 아니, 적어도 제가 밤에 잠자리에 들려고 할 때 저 스스로에게는 그렇게 말합니다.

    [출처:] https://www.tomshardware.com/tech-industry/cyber-security/booking-com-customers-learn-the-hard-way-that-unicode-is-tricky