← 목록으로
메모장에 적힌 두 개의 접속주소 문자열을 한 글자씩 대조하며 차이 나는 문자를 표시하는 화면
Scam Verification

오타 한 글자가 만드는 가짜 접속주소: 최신주소를 한 글자씩 대조하는 검수 절차

토토사이트 주소는 의미 없는 영문·숫자 조합이라 한 글자만 바뀌어도 눈이 그대로 읽고 넘깁니다. 기준 문자열을 고정하고 길이·편집거리·혼동 문자를 순서대로 세어 최신주소 후보를 40초 만에 판정하는 대조 검수 절차를 단계별로 정리했습니다.

By 박지호

주소창에 남은 한 글자가 다른 사이트를 연다

메모장에 적어 둔 접속주소를 그대로 옮겨 넣었는데 열린 화면이 평소와 미묘하게 달랐다는 이야기는 흔하다. 배치도 로고도 같은데 로그인 창 안내 문구의 조사 하나가 어색하고, 다시 주소창을 들여다보면 알파벳 하나가 바뀌어 있다. 사람의 눈은 문자열을 한 글자씩 읽지 않고 덩어리로 인식하기 때문에, 가운데 글자가 뒤바뀌거나 비슷한 모양으로 치환돼도 원래 알던 단어로 복원해서 읽어 버린다. 토토사이트 주소처럼 뜻이 없는 영문 조합에 숫자와 하이픈이 섞인 문자열은 이 착시가 가장 심하게 작동하는 형태다.

가짜 접속주소를 뿌리는 쪽은 정확히 이 습관을 노린다. 원본과 한두 글자만 떨어진 문자열을 미리 등록해 두고, 도메인 변경 소문이 돌기 시작하는 시기에 링크모음이나 단체 대화방으로 흘려보낸다. 새 최신주소가 공지된 직후 며칠은 이용자 스스로도 주소가 바뀌는 게 정상이라고 받아들이는 구간이라, 평소라면 걸렀을 문자열도 의심 없이 통과시킨다. 원본과 한 글자만 다른 주소가 완전히 엉뚱한 주소보다 위험한 이유가 여기에 있다.

이 글에서 다루는 건 눈대중으로 훑어보는 확인이 아니라, 기준 문자열 하나를 고정해 놓고 길이와 글자 차이를 숫자로 세는 대조 검수다. 필요한 도구는 메모장과 문자 수를 세어 주는 기능 정도이고, 절차에 익숙해지면 주소 하나당 40초면 판정이 끝난다. 아래 순서는 실제로 후보 주소를 여러 개 받았을 때 어느 것을 먼저 버릴지 정하는 데 그대로 쓸 수 있다.

검수의 출발점: 기준 문자열을 하나만 고정한다

대조는 무엇과 비교할지가 정해져야 시작된다. 기준 문자열은 최근 6개월 안에 실제로 접속에 성공했고, 첫 화면뿐 아니라 로그인 이후 화면까지 평소대로 동작하는 것을 확인한 주소여야 한다. 기억에서 꺼내면 안 되고 기록에서 가져와야 한다. 머릿속에 남은 주소는 이미 그 착시를 한 번 통과한 문자열이라 기준으로서의 자격이 없다. 즐겨찾기 항목의 속성 창이나 브라우저 방문 기록의 원문을 열어 복사하는 편이 안전하다.

기준을 적을 때는 형식을 잘라 낸다. 프로토콜과 호스트만 남기고 슬래시 뒤 경로, 물음표 뒤 파라미터는 모두 지운다. 예를 들어 기록에 남은 값이 https://ab-cd12.com/m/login?ref=kk1 이라면 대조에 쓸 기준은 ab-cd12.com 하나다. 파라미터는 유입 경로마다 달라지는 값이라 남겨 두면 매번 차이가 발생하고, 정작 중요한 호스트 부분의 차이를 묻어 버린다. 대문자는 전부 소문자로 바꿔 적는다. 도메인은 대소문자를 구분하지 않으므로 표기가 섞이면 사람 눈에만 차이로 보인다.

마지막으로 기준 문자열 옆에 길이를 숫자로 적어 둔다. ab-cd12.com이면 점을 포함해 11자이므로 '11'이라고 병기한다. 길이는 가장 싸고 빠른 1차 필터다. 후보 주소를 받았을 때 문자 수부터 세면 삽입·삭제형 변형이 즉시 드러나고, 길이가 같더라도 뒤 단계에서 볼 자리가 정해진다. 이 두 줄, 즉 기준 문자열과 길이만 메모해 두면 검수 준비는 끝난다.

40초 대조 검수, 다섯 단계로 끊어 보기

후보 주소를 하나 받았다고 하자. 아래 순서를 위에서부터 그대로 밟으면 브라우저를 열지 않은 상태에서 상당수를 걸러낼 수 있다. 접속을 먼저 하고 화면으로 판단하는 방식은 순서가 거꾸로다. 문자열 판정이 먼저이고, 접속은 문자열이 통과한 뒤에 하는 확인 절차다.

  1. 형식 통일 후보 주소도 소문자로 바꾸고 경로와 파라미터를 제거해 호스트만 남긴다. 앞뒤 공백은 지운다.
  2. 길이 세기 후보의 문자 수를 세어 기준의 길이와 비교한다. 1~2자 차이는 삽입·삭제형 변형 신호이므로 표시해 둔다.
  3. 뒤에서부터 세 글자씩 끊어 읽기 익숙한 앞부분이 아니라 끝에서부터 세 글자 단위로 소리 내어 읽는다. 덩어리 인식이 깨지면서 치환된 글자가 드러난다.
  4. 혼동 문자 대조 차이가 난 자리가 0과 o, l과 1처럼 모양이 겹치는 쌍인지 확인한다. 겹치는 쌍이면 우연한 유사가 아니라 의도된 설계로 본다.
  5. 편집거리 판정 두 문자열이 몇 번의 바꾸기·넣기·빼기로 같아지는지 세어 숫자를 적는다. 이 숫자가 최종 판정 근거다.

다섯 단계 중 실제로 시간을 쓰는 건 3번과 5번이다. 나머지는 각각 5초 안팎이다. 3번의 뒤에서부터 읽기는 교정 교열에서 오탈자를 잡을 때 쓰는 방식과 같은 원리인데, 앞에서부터 읽으면 뇌가 다음 글자를 예측해 버리기 때문에 예측이 작동하지 않는 방향으로 읽는 것이다. 소리 내어 읽는 게 어려운 상황이면 손가락으로 화면의 글자를 하나씩 짚으며 세도 효과는 비슷하다.

편집거리를 손으로 세는 법

편집거리는 한 문자열을 다른 문자열로 바꾸는 데 필요한 최소 수정 횟수다. 바꾸기 한 번, 넣기 한 번, 빼기 한 번이 각각 1로 계산된다. 프로그램 없이도 짧은 도메인은 종이에 두 줄로 나란히 적고 어긋나는 지점을 세면 충분하다. 예를 들어 기준이 toto-777.com이고 후보가 tot0-777.com이면 네 번째 글자 o가 0으로 바뀐 것 하나뿐이므로 거리는 1이다. 후보가 toto-7777.com이면 7이 하나 더 들어갔으니 역시 거리 1이다.

판정 기준은 이렇게 잡는다. 거리 0이면 기준과 동일한 주소이므로 통과다. 거리 1~2는 가장 위험한 구간으로, 사람이 실수로 잘못 옮겨 적었을 수도 있지만 유사 도메인이 노리는 사거리이기도 하다. 이 구간의 후보는 접속 대상에서 일단 제외하고, 공식 안내 채널의 표기와 다시 맞춰 보기 전에는 열지 않는다. 거리가 4 이상 벌어지면 유사 도메인이라기보다 완전히 다른 문자열이므로, 이건 오타 문제가 아니라 출처 자체를 다시 물어야 하는 상황이다.

한 가지 주의할 점은 거리 1이 항상 가짜를 뜻하지는 않는다는 것이다. 운영 쪽이 도메인을 바꿀 때 기존 이름에 숫자만 하나 올리는 방식을 쓰는 경우도 있어서, 기준 대비 거리 1인 주소가 실제 새 최신주소일 수 있다. 그래서 이 구간은 폐기가 아니라 보류다. 보류된 후보는 등록 시점, 인증서 발급일, 공식 공지 표기 세 가지를 함께 맞춰 본 뒤에야 통과 여부를 정한다.

모양이 겹치는 문자 쌍과 인접키 오타

차이가 발견된 자리가 어떤 문자 쌍인지는 의도를 읽는 단서가 된다. 화면 글꼴에서 특히 잘 섞이는 조합은 숫자 0과 알파벳 o, 숫자 1과 소문자 l 그리고 대문자 I, 숫자 5와 s, 숫자 9와 g 정도다. 여기에 두 글자를 붙여 한 글자처럼 보이게 만드는 조합도 있다. r과 n을 붙인 rn은 좁은 글꼴에서 m과 거의 구분되지 않고, c와 l을 붙인 cl은 d로 읽히기 쉽다. v를 두 번 쓴 vv도 w와 혼동된다.

모양이 아니라 손가락이 만드는 오타도 있다. 영문 자판에서 각 키는 좌우와 대각선을 합쳐 대략 서너 개의 이웃을 갖는다. 8자짜리 도메인이라면 한 글자만 이웃 키로 잘못 눌린 변형이 산술적으로 20개 이상 만들어진다. 여기에 삽입·삭제·인접 두 글자 순서 바꾸기까지 더하면 후보군은 훨씬 커진다. 이 중 실제로 등록되어 살아 있는 건 소수지만, 트래픽이 몰리는 이름일수록 그 소수가 이미 선점돼 있을 확률이 높아진다.

한글 자판을 쓰다가 전환을 놓친 상태로 주소를 친 흔적도 자주 남는다. 이 경우 주소창에는 한글이 그대로 찍히기 때문에 본인은 금방 알아채지만, 검색창으로 전환돼 검색 결과가 뜨면 그 목록의 상단 항목을 눌러 버리는 일이 생긴다. 주소창에 입력한 문자열이 검색 결과 페이지로 넘어갔다면, 그 페이지의 어떤 링크도 내가 입력한 주소가 아니다라는 점을 기억해 두면 이 경로는 막힌다.

점과 하이픈이 만드는 착시

글자 하나가 아니라 구분 기호가 바뀌는 변형도 흔하다. 하이픈을 넣거나 빼는 방식이 대표적이다. 기준이 toto-guide.com인데 후보가 totoguide.com이면 편집거리는 1이지만 육안으로는 거의 구분되지 않는다. 반대로 원래 하이픈이 없던 이름에 하이픈을 끼워 넣는 변형도 같은 원리다. 하이픈은 시각적 무게가 작아서 읽는 사람이 아예 인식하지 않고 넘기는 경우가 많다.

점의 위치는 더 중요하다. 실제 소유자를 결정하는 건 최상위 도메인 바로 앞의 한 덩어리이고, 그 왼쪽에 붙은 모든 것은 누구든 자유롭게 만들 수 있는 부분이다. toto-guide.com.example.net 같은 문자열은 앞부분이 아무리 익숙해 보여도 실제 목적지는 example.net이다. 그래서 대조할 때는 문자열 전체를 왼쪽부터 읽지 말고, 끝에서 점 두 개를 찾아 그 사이 구간을 먼저 확정한 다음 나머지를 본다.

최상위 도메인 자체를 바꾸는 변형도 빠지지 않는다. 같은 이름에 확장자만 다른 주소는 서로 완전히 무관한 사이트이며, 두 글자짜리 국가 코드나 점이 두 번 들어가는 형태가 섞이면 혼동이 커진다. 기준 문자열에 확장자까지 포함해 적어 두라고 한 이유가 이 지점이다. 이름만 기억하고 확장자를 흘려 두면 검수의 마지막 칸이 비어 버린다.

손으로 치지 말고 붙여넣기, 그래도 남는 위험

오타의 절대다수는 직접 타이핑에서 나온다. 그러니 주소는 복사해서 붙여넣는 게 기본이다. 다만 붙여넣기가 모든 문제를 없애 주지는 않는다. 복사한 원본 자체가 이미 잘못된 주소일 수 있고, 클립보드에 담긴 내용이 중간에 다른 값으로 바뀌는 경우도 보고된다. 그래서 붙여넣은 직후 엔터를 치기 전에 한 번 멈추고, 주소창에 실제로 들어간 문자열이 내가 복사한 것과 같은지 확인하는 1초가 필요하다.

눈에 보이지 않는 문자가 섞이는 사례도 있다. 폭이 없는 공백이나 일반 공백과 구분되지 않는 유니코드 문자가 도메인 사이에 끼어 있으면 화면상으로는 아무 차이가 없다. 이런 건 앞서 세어 둔 길이 값으로 잡힌다. 겉보기 문자 수는 11인데 편집기에서 센 값이 12나 13이 나오면 보이지 않는 문자가 들어 있다는 뜻이다. 길이가 맞지 않는 주소는 이유를 찾기 전까지 접속하지 않는다는 규칙을 세워 두면 이 유형은 통과하지 못한다.

후보 넷을 둘로 줄인 한 번의 검수 기록

지난달에 실제로 겪은 상황을 정리해 보면 절차가 어떻게 작동하는지 보인다. 접속이 끊긴 다음 날 후보 주소 네 개가 모였다. 두 개는 단체 대화방에서, 한 개는 링크모음 페이지에서, 한 개는 예전에 저장해 둔 메모에서 나온 것이었다. 기준 문자열은 3주 전 정상 접속을 확인한 값이었고 길이는 13자였다.

1차로 길이만 세는 데 20초가 걸렸다. 후보 A는 15자, B는 13자, C는 13자, D는 17자였다. A는 이름 뒤에 두 글자가 더 붙어 있었고 D는 앞쪽에 익숙한 이름이 통째로 들어간 뒤 점이 하나 더 있는 형태, 즉 목적지가 다른 구조였다. 이 둘은 접속하지 않고 제외했다. 남은 B와 C는 길이가 같아 다음 단계로 넘어갔다.

B는 뒤에서부터 세 글자씩 읽는 과정에서 숫자 0이 있어야 할 자리에 알파벳 o가 들어간 것이 드러났다. 편집거리 1, 그것도 모양이 겹치는 쌍이었으므로 보류가 아니라 폐기로 분류했다. C는 기준과 거리가 2였는데 끝자리 숫자가 하나 올라가고 하이픈 위치가 그대로인 형태였다. 이건 운영 쪽 변경 패턴과 어긋나지 않아 보류로 두었고, 공지 표기와 인증서 발급일을 확인한 뒤에야 새 기준 문자열로 승격시켰다. 전체 소요는 4분이 채 되지 않았다.

이미 오타 주소를 열어 봤다면

판정 전에 눌러 버린 뒤에 이상을 느끼는 경우가 더 많다. 이때 먼저 정리할 건 그 화면에서 무엇을 입력했는가다. 아이디와 비밀번호를 넣었다면 같은 조합을 쓰는 다른 서비스부터 순서대로 바꾸는 게 급하고, 아무것도 입력하지 않았다면 실질적인 피해는 없다고 봐도 된다. 화면을 열었다는 사실 자체보다 무엇을 건넸는지가 판단 기준이다.

다음은 흔적 지우기다. 잘못 들어간 주소는 브라우저 자동완성 목록에 남아 다음번 입력 때 첫 후보로 다시 올라온다. 방문 기록에서 해당 항목을 지우고, 자동완성 후보에 뜬 상태에서 삭제 단축키로 개별 제거해 둔다. 저장된 자격증명이 있으면 그것도 함께 지운다. 이 정리를 하지 않으면 며칠 뒤 주소창에 세 글자만 쳤을 때 문제의 주소가 되살아난다.

마지막으로 그 문자열을 메모에 남긴다. 기준 문자열 아래에 '제외' 줄을 만들어 날짜와 함께 적어 두면, 나중에 같은 주소가 다른 경로로 다시 왔을 때 대조 없이 0초 만에 판정된다. 한 번 걸러낸 문자열이 몇 주 뒤 다른 대화방에서 그대로 도는 일은 드물지 않다.

월 10분이면 유지되는 대조 습관

이 절차는 주소가 바뀔 때만 쓰는 게 아니라 평상시에 기준을 관리해 둘 때 값이 산다. 한 달에 한 번, 즐겨찾기에 저장된 주소를 열어 실제 접속과 로그인 이후 화면까지 확인하고 메모의 기준 문자열과 대조한다. 이 점검에 걸리는 시간은 10분 남짓이고, 대부분의 달은 아무 변화 없이 끝난다. 변화가 없다는 확인 자체가 다음 달 판정의 신뢰도를 만든다.

새 주소가 확정되면 메모를 갱신하는 방식도 정해 둔다. 기존 기준 줄을 지우지 말고 '이전' 표시와 날짜를 붙여 아래로 내리고, 새 문자열을 맨 위에 길이와 함께 적는다. 이전 주소 이력이 두세 줄 쌓이면 이름이 어떤 규칙으로 변해 왔는지가 눈에 들어오고, 다음에 후보가 왔을 때 그 규칙과 맞는지가 추가 판정 근거가 된다. 숫자만 올라가던 패턴에서 갑자기 이름 전체가 달라졌다면 그 자체가 확인이 더 필요하다는 신호다.

다음에 새 주소를 받으면 브라우저보다 메모장을 먼저 열어 보자. 40초를 앞에 쓰는 쪽이 잘못 들어간 화면을 수습하는 것보다 언제나 빠르다.

자주 묻는 질문

편집거리가 1이면 무조건 가짜 주소로 봐야 하나요?

아닙니다. 운영 쪽이 기존 이름의 숫자만 올려서 바꾸는 경우도 있어 거리 1인 실제 최신주소가 존재합니다. 다만 거리 1~2는 폐기가 아니라 보류로 두고, 공식 공지 표기와 도메인 등록 시점을 함께 맞춰 본 뒤에 판정하세요.

주소를 눈으로 봤을 때 차이를 잘 못 찾겠습니다. 요령이 있을까요?

끝에서부터 세 글자씩 끊어 읽으면 됩니다. 앞에서부터 읽으면 뇌가 다음 글자를 예측해 버려서 치환된 문자를 그대로 넘기지만, 읽는 방향을 뒤집으면 예측이 작동하지 않아 어긋난 자리가 드러납니다.

복사해서 붙여넣었는데도 길이가 기준과 다르게 나옵니다.

폭이 없는 공백 같은 보이지 않는 유니코드 문자가 섞였을 가능성이 큽니다. 화면상 글자 수와 편집기에서 센 문자 수가 다르면 이유를 확인하기 전까지 그 주소는 열지 마세요.