목차
5. 사기 카탈로그 I

최초의 사기는 사칭이었다. 스마트 컨트랙트가 나오기 전에도, AI가 나오기 전에도, 이 책의 나머지 장들이 하나하나 해부하게 될 그 어떤 장치가 등장하기 전에도, 모든 것의 토대가 된 수법은 단순했다. 신뢰받는 얼굴을 뒤집어쓰는 것이다. 사람들이 누구를 믿을지 이미 정해 놓은 방을 찾아 들어가, 바로 그 사람이 되면 된다. 드레이너(drainer) 컨트랙트도, 합성 커뮤니티(synthetic community)도, 음성 복제도 결국은 하나의 원시적 수법을 정교하게 다듬은 변주일 뿐이다. 입을 자격이 없는 제복을 걸친 최초의 사기꾼 이래로, 그 수법의 본질은 조금도 변하지 않았다.
이 수법이 오픈 커뮤니티에서 왜 이토록 잘 통하는지는 천천히 짚어 볼 가치가 있다. 그 메커니즘은 사기 예방 안내문이 암시하는 것 같은 심리의 문제가 아니라 구조의 문제이기 때문이다. 회사 슬랙이나 가족 단체 채팅방 같은 닫힌 환경에서 신원은 채팅 바깥의 무언가에 닻을 내리고 있다. 동료를 아는 것은 인사팀이 그를 채용했고 책상을 사이에 두고 마주 앉아 봤기 때문이다. 동생을 아는 것은 그냥 내 동생이기 때문이다. 메시지에 붙은 이름은 이미 독립적인 관계를 맺고 있는 사람을 가리키는 꼬리표일 뿐이다. 오픈 커뮤니티에서는 그 닻이 사라진다. 크립토 프로젝트 공지 채널에 모인 천 명의 낯선 사람들은 관리자와 채팅 밖에서 맺은 관계가 전혀 없다. 그들이 아는 '관리자'는 오로지 플랫폼이 보여 주는 산출물이 전부다. 표시 이름, 프로필 사진, 멤버 목록에서의 위치, 색깔 있는 태그. 신뢰는 사람이 아니라 그 산출물에 달라붙는다. 그리고 산출물은 복사할 수 있다.
그것이 취약점의 전부다. 이 카탈로그의 스캠 하나하나마다 다시 설명할 필요가 없도록 여기서 한 번만 말해 둔다. 신뢰가 검증된 사람이 아니라 복사 가능한 산출물에 달라붙는 순간, 사칭은 기발한 공격 기법이 아니게 된다. 합리적인 공격자의 기본 행동이 된다. 이 장의 모든 사기는 결국 소품만 바꿔 가며 반복되는 하나의 거짓말이다. '나는 당신이 믿을 만한 이유가 있는 사람이다. 그리고 사실은 아니다.' 이 문장을 붙들고 가기 바란다. 이 거짓말이 되풀이되는 것을 지켜보다 보면, 어느 순간 이것들이 별개의 스캠 모음이 아니라 여러 벌의 의상을 갈아입는 하나의 문제로 보이기 시작할 것이다.
이 카탈로그와 그다음 장의 카탈로그를 읽는 법에 대해 한마디 해 둔다. 나는 사기를 방어자의 방식으로 분류한다. 피해자의 사연이 아니라 메커니즘으로 나눈다는 뜻이다. 방어 체계를 세울 수 있는 대상은 메커니즘이고, 사연이 감추는 공통의 뿌리를 드러내는 것도 메커니즘이기 때문이다. 이 장은 빠른 사기들을 다룬다. 대량으로 뿌려지고, 손이 덜 가고, 충동과 공포와 탐욕을 지렛대 삼아 몇 분 만에 현금화되며, 시도 한 번에 공격자가 치르는 비용이 거의 없는 것들이다. 읽는 내내 한 가지만 계속 셈해 보기 바란다. 매 단계에서, 공격자가 자신이 아닌 누군가처럼 보이는 데 얼마가 들었는가. 답은 소름 끼칠 만큼 일관되게 '거의 공짜'일 것이다.
지배적 공격 벡터: 관리자·운영자 사칭
크립토·트레이딩 커뮤니티의 사고 보고서를 조금만 읽어 봐도, 다른 모든 패턴을 압도해서 방어자들이 아예 기본값으로 취급하는 패턴 하나가 눈에 들어온다. 관리자와 운영자 사칭이다. 정교해서가 아니다. 이 책에서 다루는 공격 중 가장 정교하지 않은 축에 든다. 그런데도 지배적인 이유는, 복사 가능한 산출물이라는 문제를 가장 높은 지렛대로 활용하는 공격이기 때문이고, 필요한 도구 대부분을 무대가 되는 플랫폼이 공짜로 쥐여 주기 때문이다.
해부 구조는 정확하게 펼쳐 놓을 가치가 있다. 이 공격 앞에서 무너지는 모든 방어책이 같은 이유로 무너지기 때문이다. 오픈 프로젝트에는 공개 그룹이 있다. 그룹에는 관리자가 있고, 그들은 눈에 띄게 표시된다. 태그가 붙고, 고정된 환영 메시지에 이름이 올라가고, 멤버 목록 상단에 자리한다. 새 멤버는 끊임없이 들어온다. 성장 지향 커뮤니티란 원래 그런 곳이다. 그리고 그들은 진짜 관리자가 누구인지에 대한 사전 지식 없이 도착해, 그 자리에서 산출물을 보고 배운다. 그러니 공격자는 산출물을 제조한다. 표시 이름을 관리자와 똑같이 맞추거나, 호모글리프(homoglyph) 치환으로 거의 똑같이 맞춘다. 라틴 문자 "a" 자리에 키릴 문자 "а"를, 소문자 "l" 자리에 대문자 "I"를 넣고, 제로 너비 문자(zero-width character)를 끼워 넣어 두 이름이 눈으로는 동일하지만 프로그램상으로는 서로 다른 문자열이 되게 만든다. 관리자의 프로필 사진은 누구나 내려받을 수 있는 공개 이미지이니 그대로 복사한다. 소개글이나 상태 메시지를 설정할 수 있는 플랫폼이라면 그것도 복사한다. 5분도 안 되는 시간에, 아무 기술 없이, 휴대폰 화면을 들여다보는 인간의 눈에는 방 전체가 이미 신뢰하기로 합의한 사람과 구별할 수 없는 프로필이 완성된다.
그다음이 채팅 내 모더레이션(moderation) 체계를 통째로 무력화하는 수다. 사기는 채팅방 안에서 일어나지 않는다. 사칭범은 공개적으로는 깨끗하게 처신한다. 아무것도 올리지 않거나, 올려도 무해한 것만 올린다. 대신 DM을 연다. 새 멤버가 그룹에 순진한 질문을 올린다. "스테이킹은 어떻게 하나요?", "프리세일 시작됐나요?", "제 트랜잭션이 멈췄어요." 그러면 몇 초 안에, 방금 다른 사람의 질문에 답하는 것을 본 바로 그 관리자와 이름도 사진도 똑같은 누군가에게서 DM이 도착한다. DM은 친절하고, 참을성 있고, 프로젝트 용어에 능통하다. 그것은 피해자를 웹사이트로, '인증' 절차로, 지갑 연결로, 시드 문구(seed phrase) 입력으로 차근차근 이끈다. 눈에 보이게 나쁜 일이 벌어질 즈음에는 대화가 이미 모더레이션이 미치는 방을 떠난 뒤다. 어떤 모더레이션 봇도, 어떤 관리자도, 어떤 공유 차단 목록도 들여다볼 수 없는 사적인 채널에서 일이 진행되고 있는 것이다.

이것이 이 책의 논지에서 결정적인 대목이므로 단도직입적으로 말하겠다. 지난 10년간 쌓아 올린 모더레이션 도구 일체, 즉 키워드 필터, 도배 방지 제한, 입장 관문의 캡차(CAPTCHA), 공유 차단 목록은 모두 공개된 방을 대상으로 작동한다. 사칭 공격은 공개된 방을 명부로만 쓴다. 방을 읽어 누구를 흉내 내고 누구를 노릴지 알아낸 다음, 실제 사기는 방어망이 닿지 않는 장소에서 실행한다. 흠잡을 데 없이 운영되는 그룹을 굴리면서도, 그 안에서 규칙 하나 어긴 적 없는 '관리자들'에게 멤버를 잃을 수 있다. 그들의 작업은 전부 한 클릭 옆, DM에서 이루어졌기 때문이다.
이에 맞서 방어자가 실제로 무엇을 할 수 있는지 따져 보자. 쓸 수 있는 대응책의 목록은 짧고, 목록의 항목 하나하나가 사실상 자백이다. 표준적인 조언은, 그리고 그 나름으로는 좋은 조언이지만, 경고문을 고정해 두는 것이다. '관리자는 절대 먼저 DM하지 않습니다.' 커뮤니티가 이 문구를 게시하고, 봇이 반복하고, 진짜 관리자들이 육성으로 말한다. 가장 잘 속는 피해자들에게는 그런대로 효과도 있다. 하지만 이 조언이 무엇인지 뜯어보라. 플랫폼이 진짜 관리자와 가짜 관리자를 구별하지 못하니, 신원 검증의 부담을 이 거래에서 가장 준비가 안 된 당사자에게 떠넘기겠다는 자백이다. 90초 전에 입장해서 아직 규범도 모르는, 휴대폰을 든 새 멤버에게 말이다. 이것은 민간전승에 기댄 보안이다. 두 번째 대응책은 계정 차원에서 연락처에 없는 상대의 DM을 금지하는 것인데, 효과는 있지만 오픈 커뮤니티의 사회적 목적 자체를 무너뜨린다. 뜻밖의 만남이야말로 오픈 커뮤니티 가치의 절반이기 때문이다. 세 번째는 알려진 관리자들과 표시 이름이 겹치는 신규 계정을 감시해 신고하거나 차단하는 봇들이다. 이것이 그중 가장 낫지만, 공짜 자원을 상대로 벌이는 끝없는 쫓고 쫓기기다. 공격자는 그저 호모글리프를 살짝 바꾼 새 계정을 등록하고 다시 시도하면 그만이다. 이 대응책들에는 공통된 속성이 하나 있다. 방 안의 증상만 다스릴 뿐, 병의 근원, 곧 이름이 사람에 묶여 있지 않다는 사실은 신원 계층에 고스란히 남겨 둔다는 점이다.
사칭 공격에는 아예 흉내조차 내지 않는 더 어두운 변종이 있다. 공격자가 조금만 더 투자하면 사칭이 어디까지 올라가는지 그 천장을 보여 주기에, 이름을 붙여 둘 가치가 있다. 관리자의 프로필을 복제하는 대신, 진짜 프로필을 장악하는 것이다. 피싱이나 악성코드로 탈취한 진짜 관리자 계정은 아무리 그럴듯한 가짜보다 훨씬 값지다. 호모글리프의 흔적도 없고, "이 계정은 어제 만들어졌다"는 신호도 없고, 눈 밝은 멤버가 잡아낼 어긋남도 없다. 플랫폼이 노출하는 모든 산출물의 기준에서 그것은 진품이다. 실제로 진품이기 때문이다. 프롤로그의 135만 달러 토르(Thor) 절도 사건이 바로 그렇게 시작됐다. 복제 계정이 아니라, 해킹당한 친구의 진짜 계정으로. 여기 적어 두는 이유는 이것이 이 장 전체의 경계 조건을 표시하기 때문이다. 완벽한 사칭이란 신뢰받는 신원의 복사본이 아니다. 신뢰받는 신원 그 자체, 도난당한 원본이다. 그리고 "이름을 꼼꼼히 확인하라"는 조언은 그 앞에서 무력하다. 이름에는 아무 문제가 없기 때문이다.
이 패턴이 가장 순수한 형태로 만개한 곳이 텔레그램이다. 이유를 솔직하게 짚을 가치가 있는데, 그 이유들이 다른 곳에도 일반화되기 때문이다. 텔레그램은 고가치 크립토 커뮤니티가 가장 밀집한 플랫폼이면서, 하나하나 떼어 놓고 보면 변호할 여지가 있는 설계 선택들이 겹치고 겹쳐 사칭범의 이상적 서식지가 된 곳이다. 표시 이름은 자유롭게 정할 수 있고 자유롭게 중복되며, 명시적으로 동의한 적 없는 다수의 사용자에게 메시지를 보낼 수 있고, 사용자명은 권위 있어 보이며, 결정적으로 '이 계정이 실제로 누구인가'를 나타내는, 플랫폼에 내장된 이동 가능한 신호가 없다. 하지만 이 중 어느 것도 한 앱만의 문제가 아니다. 같은 공격이 디스코드에서도 돌아간다. 사칭범은 서버 운영자의 역할 색상과 사용자명을 베껴 새로 들어온 멤버에게 DM을 보내고, 디스코드의 신뢰·안전(Trust & Safety) 가이드 역시 수년째 같은 민간전승형 경고를 싣고 있다. "운영진은 절대 먼저 DM을 보내지 않습니다." X(구 트위터)에서도 돌아간다. 파란 체크와 비슷하게 꾸민 핸들을 복제해 답글에서 프로젝트 창립자를 사칭한다. (옮긴이 주: 카카오톡 오픈채팅에서 방장을 사칭해 1:1 대화로 끌어내는 수법도 정확히 같은 구조다.) 세 플랫폼을 관통하는 상수는 이 책의 상수와 같다. 열린 접근, 방 안의 가치, 그리고 이름을 사람에 묶기에는 너무 약한 신원 계층.
호모글리프와 유사 문자 기법은 따로 멈춰서 살펴볼 가치가 있다. 사람들이 가장 과소평가하는 부분이고, 자동 매칭이 생각보다 왜 어려운지를 설명해 주기 때문이다. 이름 충돌 탐지의 소박한 버전은 사칭범의 표시 이름과 관리자의 이름을 문자열로 비교한다. 동일하면 신고하는 식이다. 그러나 유니코드에는 완전히 다른 코드 포인트이면서 거의 또는 완전히 똑같이 렌더링되는 문자가 수천 개 있다. 라틴 "a", 키릴 "а", 그리스 알파는 많은 글꼴에서 똑같아 보인다. 여기에 의도적으로 혼동을 노린 글리프들, 결합 문자들, 그리고 겉모습은 그대로 둔 채 이름의 바이트 열만 바꿔 놓는 보이지 않는 제로 너비 문자들까지 더해진다. 공격자는 인간의 눈에는 관리자와 완벽히 일치하지만 문자열 비교에는 전혀 다른 값인 이름을 만들어 낼 수 있다. 방어자들은 정규화로 응수했다. 혼동 가능한 문자들을 표준형으로 접은 뒤에 비교하는 것이다. 그러자 공격자들은 정규화 자체를 공격했다. 정규화기가 놓친 글리프, 정규화기가 모델링하지 못한 외형 충돌을 찾아냈다. 이것은 이 책이 그리는 전쟁 전체의 축소판이다. 신원 그 자체가 아니라 신원의 '표현'을 대상으로 작동하는 방어는 표현을 조작하는 것으로 언제나 회피할 수 있다. 표현의 자유도는 어떤 매칭 장치가 감당할 수 있는 범위보다 항상 크기 때문이다. 호모글리프 게임을 끝낼 유일한 길은 '계정'을 검증된 신원에 묶는 것뿐이다. 그래야 이름은 한낱 꼬리표가 되고, 신뢰는 복사할 수 없는 곳에 살게 된다. 이것이 또 그 신원의 거짓말이다. 이 카탈로그의 모든 항목 밑에 깔린 바로 그 거짓말. 이제부터는 일일이 짚지 않겠다. 다음 장이 끝날 무렵이면 내가 가리키지 않아도 눈에 들어올 것이다.
특별히 이름을 붙여 둘, 유난히 잔인한 정제형이 하나 있다. 사칭범이 방의 명단만이 아니라 사회 구조까지 읽는다는 것을 보여 주기 때문이다. 트레이딩·투자 커뮤니티에서 신뢰도가 가장 높은 인물은 관리자가 아닌 경우가 많다. 다들 알아보는 '헬퍼', 곧 운영진은 아니지만 오래 머물면서 무료로 질문에 답해 주고 진짜 사회적 자본을 쌓아 온 고참 멤버다. (옮긴이 주: 한국의 주식·코인 리딩방 사기가 착취하는 것도 정확히 이 신뢰 구조다.) 그 사람을 사칭하는 것은 어떤 면에서 관리자 사칭보다 위험하다. 방의 고참들이 그 이름을 반사적으로 보증해 주기 때문이다. "아, [헬퍼]한테 물어봐. 믿을 만한 사람이야." 공격자는 그 반사 신경을 수확한다. 헬퍼를 복제하고, 보증을 기다렸다가, 빌려 온 평판을 텅 빈 지갑으로 바꿔치기한다. 17장에서 살펴볼 벤더 도구들은 이 수법의 아종들에 '트러스트 빌더(Trust Builder)', '멀티 어카운트 웨이브(Multi-Account Wave)' 같은 이름을 붙였는데, 그 작명이 방어에 해당하는지는 그때 평가하겠다. 지금은 형태만 눈에 담아 두면 된다. 공격자는 소프트웨어의 버그를 악용하는 것이 아니다. 이 방들에서 평판이 이름에 붙어 있다는 사실, 그리고 그 이름이 공짜라는 사실을 악용하는 것이다.
가짜 지원 봇: 자동화된 사칭
카탈로그의 다음 항목은 사칭이라는 원시 수법에서 공격자 쪽의 인간을 제거한다. 사람이 관리자 행세를 하는 대신, 봇이 공식 지원 창구 행세를 한다. 그리고 봇이므로 소프트웨어가 확장되는 방식으로, 다시 말해 한계 없이 확장된다.
이 메커니즘은 특정한 취약의 순간을 먹잇감으로 삼는다. 사용자가 이미 크립토를 잃었거나 잃었을까 봐 겁에 질려 도움을 찾는 순간이다. 거래가 실패한다. 지갑이 털린 것처럼 보인다. 트랜잭션이 멈춘다. 사용자는 자연스러운 행동을 한다. 플랫폼에서 프로젝트의 지원 채널을 검색하거나, 커뮤니티에 다급한 메시지를 올리고 기다린다. 두 행동 모두 수확이 가능하다. 공격자들은 "Wallet Support", "TON Support", "MetaMask Helpdesk" 같은 이름의 봇을 세워 둔다. 검색에 잘 걸리고 결과 목록에서 공식처럼 보이도록 공들여 지은 이름들이다. 일부는 공개 채널에서 조난 키워드를 감시하다가 선제적으로 DM을 보낸다. 피해자의 절박함이 가장 크고 의심이 가장 옅은 바로 그 순간에 도착하는 것이다. 그런 다음 봇은 진짜 목표가 단 하나뿐인 대본을 돌린다. 피해자의 자산 통제권을 넘겨주는 자격증명, 곧 시드 문구, 개인 키, 세션 토큰, 지갑 연결 승인을 뽑아내는 것이다. 지원은 없다. 애초에 지원이었던 적이 없다. 이 장치 전체는 구명줄로 분장한, 비밀을 걸러 내는 체로서 존재한다.
그 대본은 대화로 분장한 의사결정 트리다. 피해자를 따뜻하게 맞이하고, 걱정을 표하고, 필요한 단 한 가지를 향해 집요하게 몰아간다. 망설임 하나하나에 대비한 분기도 갖춰져 있다. 안심시키기("표준적인 보안 절차입니다"), 권위 세우기("저는 인증된 지원 상담원입니다"), 다그치기("고객님 자금이 위험합니다. 지금 바로 조치해야 합니다"). 피해자가 세심한 인간으로 경험하는 것은 사실 '비밀 확보'라는 단 하나의 수락 상태를 가진 유한 상태 기계다. 소프트웨어이기에 지치지 않고, 배역에서 이탈하지 않으며, 이런 대화 만 건을 병렬로 돌릴 수 있다. 그 하나하나가 상대방에게는 오롯한 일대일 응대처럼 느껴진다. AI 시대가 훗날 활짝 찢어 벌려 놓을 바로 그 비대칭이다. 곱씹을 가치가 있는 대목은 경제학이다. 대본을 한 번 써 두면 만 번째 피해자와 대화하는 비용은 0인데, 방어자는 모든 상호작용을 검사하느라 인간의 주의력이나 컴퓨팅 자원을 지불해야 한다. 한계비용이 0인 적을 상대로 하는 검사 기반 방어는 구조적으로 지는 경주다.
봇 변종이 사칭 관리자보다 한 가지 면에서 더 음험한데, 바로 발견 경로다. 사칭 관리자는 방 안에 있어야 한다. 가짜 지원 봇은 피해자가 검색으로 '찾아낸다'. 블랙햇 SEO 업자가 검색 엔진을 조작하듯 조난 검색어에 노출되도록 미리 자리를 잡아 두고, 발도 들인 적 없는 프로젝트의 커뮤니티에서 피해자를 쓸어 담는다. 피해자는 전적으로 제 발로 함정에 걸어 들어간다. 게다가 이것은 사람이 아니라 '기관'의 사칭이다. 범주로서의 "공식 지원"을 사칭하는 것이어서 되짚어 의심하기가 더 어렵다. 대조해 볼 특정한 진짜 관리자가 없고, 큰 프로젝트라면 어딘가에 지원 데스크가 있으려니 하는 막연한 기대만 있기 때문이다. 플랫폼은 그 주장을 반박할 수 없다. "이 프로젝트의 공식 지원 계정"이라는 개념 자체가 없어서 인증할 수단도 없다. "공식"은 산출물이고, 산출물은 복사된다. 그래서 봇들은 돌아가고, 하나가 신고당해 제거되어도 운영자는 의미 있는 것을 하나도 잃지 않는다. 대본은 저장돼 있고, 수확용 백엔드는 멀쩡하고, 다음 봇은 몇 분의 시간과 새 계정 하나면 된다. 이 카탈로그의 모든 것이 그렇듯 공짜다. 제거된 것이 애초에 일회용으로 설계된 물건이라면, 제거는 억지력이 아니다.
가짜 에어드랍과 무료 증정: 공짜 점심의 무기화
에어드랍은 크립토 커뮤니티의 진짜배기이자 흔한 메커니즘이다. 프로젝트가 마케팅이나 보상 차원에서 초기 사용자, 홀더, 참여자에게 무료 토큰을 나눠 주는 것이다. 진짜가 존재하고 "작은 일을 하면 공짜 돈"이라는 인식이 널리 퍼져 있기에, 사기의 완벽한 틀이 된다. 피해자의 기대는 합법적인 생태계가 미리 심어 놓았다. 공격자는 그 기대를 위조품으로 채워 주기만 하면 된다.
에어드랍이 이토록 비옥한 토양인 이유는, 합법 버전이 사기 버전에 필요한 바로 그 행동을 훈련시키기 때문이다. 진짜 에어드랍은 사용자에게 지갑을 연결하고, 소유권을 증명하는 메시지에 서명하고, 때로는 간단한 온체인 동작을 완료하라고 요구한다. 그것도 커뮤니티 채널의 링크를 타고 들어간 웹사이트에서다. 그 단계 하나하나가 그대로 스캠의 단계이기도 하다. 사기는 피해자에게 새로운 것을 가르치거나 특이한 행동을 하도록 설득할 필요가 없다. 지극히 일상적인 절차의 '이번 건'이 진짜라고 믿게 만들기만 하면 된다. 합법 생태계가 위험한 행동을 정상으로 만들어 놓은 덕분에 인지 부담은 최소화된다. 이것은 크립토 보안사에서 반복되는 비극이다. 이 기술을 강력하게 만드는 조합 가능성과 무허가 설계가, 동시에 결정의 순간에 안전한 행동과 파국적 행동을 사용자 눈에 구별 불가능하게 만든다. 진짜 에어드랍을 받으려고 지갑을 연결하는 것과 드레이너에 연결하는 것은 결과가 갈라지기 전까지 똑같아 보인다. 그리고 그때쯤이면 서명은 이미 온체인에 올라가 있고, 최종적이다.
가짜 에어드랍은 몇 가지 표준 구성으로 나오는데, 실제로 무엇을 훔치는가에 따라 깔끔하게 나뉜다. 가장 조잡한 것은 주의력과 계정 접근권을 훔친다. "$TOKEN 에어드랍을 수령하세요 — 자격 확인을 위해 지갑을 연결하세요"라며 지갑 연결과 서명을 요구하는 사이트로 이끄는 식이다. 피해자는 선물을 받기 위해 지갑 소유를 증명하는 중이라고 믿는다. 실제로 서명하는 것은 많은 경우 자기 토큰의 지출 권한을 공격자에게 넘기는 트랜잭션이나 승인이다. 이 지점에서 다음 절의 주제인 드레이너로 이어진다. 가짜 에어드랍은 매우 흔하게 드레이너 낚싯바늘에 끼운 미끼일 뿐이기 때문이다. 두 번째 구성은 "가스비" 내지 "활성화 수수료" 수법으로 크립토를 직접 훔친다. 에어드랍은 그럴듯해 보이고 토큰은 나를 위해 "예약"된 것처럼 보이지만, 그것을 "해제"하려면 먼저 수수료 명목으로 소액의 크립토를 보내야 한다. 보낸다. 아무것도 해제되지 않는다. 그 수수료가 거래의 전부였다. 세 번째 구성은 특히 텔레그램에서 흔한데, 판 전체를 플랫폼 공식 이벤트로 분장시킨다. "TON Giveaway"니 "Wallet" 프로모션이니 하며 플랫폼 자체 제품의 이름과 시각 언어를 빌려 기관의 신뢰를 대출받는 것이다. TON의 공식 사용자명·전화번호 마켓플레이스인 프래그먼트(Fragment)의 가짜 클론들이 유통된 이유가 정확히 이것이다. 알려진 공식 사이트를 그럴듯하게 복제하면, 사용자가 원본에 이미 내어 준 신뢰를 그대로 물려받는다.
세 구성 모두에 일관되게 입혀지는 다급함이라는 포장에는 한 문장을 들일 가치가 있다. 의심 많은 사용자를 성급한 사용자로 바꾸는 지렛대이기 때문이다. 진짜 에어드랍도 가끔 기간 제한이 있으니, 가짜는 그 시간의 상자를 흉내 내되 한껏 조여 놓는다. 수령 창구는 두 시간 뒤에 닫히고, 선착순 5천 개 지갑만 자격이 있고, 자격 스냅샷은 오늘 밤이다. 희소성과 마감은 부수적인 장식이 아니다. 피해자를 구할 수 있는 유일한 행동, 곧 멈춰서 확인하는 행동을 차단하는 메커니즘이다. 진짜 채널에 "이 에어드랍 진짜인가요?"라고 물어볼 시간이 있는 피해자는 대개 아니라는 답을 듣는다. 그래서 사기는 그 시간 자체를 허락하지 않도록 설계된다. 이것 역시 뒤에서 점점 증폭되는 것을 보게 될 패턴이다. 제조된 마감은 모든 시대를 살아남는 원시 수법이다. 피해자의 지식이 아니라 의사결정 과정을 공격하는데, 그 과정은 미끼가 2021년의 가짜 에어드랍이든 2026년의 AI가 이끄는 투자 권유든 똑같기 때문이다.
가짜 에어드랍의 전달 벡터는, 예상대로, 또 사칭이다. 채널이 프로젝트 공지 채널인 척하거나, DM이 "얼리 액세스"를 나눠 주는 관리자인 척하거나, 무료 증정 사기(giveaway scam) 봇이 공식인 척한다. 이 카탈로그에는 재귀적인 성질이 있고, 나는 독자가 그것을 알아채기 시작하길 바란다. 에어드랍 스캠은 사칭된 관리자가 배달하고, 그 관리자는 피싱 사이트로 안내하고, 그 사이트는 드레이너를 돌린다. 이것은 네 개의 별개 스캠이 아니다. 하나의 조립 라인에 놓인 네 개의 작업대이고, 그 라인의 첫 작업대는 언제나 같다. 피해자의 경계심을 허무는 가짜 신원이다. 하류의 작업대들이 돌아갈 수 있는 것은 깔때기 맨 위의 거짓말이 성공했기 때문이다.
피싱: 링크는 핵심이 아니다
이들 커뮤니티의 피싱은 더 넓은 보안 업계가 잘 아는 패턴을 따른다. 기만적인 메시지가 피해자를 무언가를 수확하는 사이트로 몰아가는 것이다. 다만 두 가지 변형은 따로 끄집어낼 가치가 있다. 오픈 커뮤니티라는 크립토 인접 환경에 특유한 것들이고, 이 장을 마무리할 드레이너의 작동 방식을 예고하기 때문이다.
첫 번째 변형은 피싱과 절도 사이 간극의 소멸이다. 고전적인 피싱에서 가짜 사이트는 비밀번호를 수확하고, 공격자는 그것을 현금화하려면 어딘가에 로그인해야 한다. 낚아채는 것과 돈 사이에 한 단계가 남아 있는 것이다. 지갑 피싱에서는 그 간극이 사라질 수 있다. 크립토 지갑의 권한은 트랜잭션 서명으로 행사되고, 악성 사이트는 서명 요청을 직접 들이밀 수 있다. 피해자가 승인하는 순간 그 서명이 곧 절도다. 별도의 "로그인해서 훔치기" 단계가 없고, 되돌릴 길도 대개 없다. 크립토를 노리는 피싱이, 대중이 어느 정도 면역을 갖춘 신용카드류 피싱보다 위험한 이유가 이것이다. 지불 거절도, 사기 대응 부서도, 전화를 걸 카드사도 없다. 최종성은 이 기술의 기능이자 공격자가 받은 선물이다.
두 번째 변형은 가짜 캡차·가짜 인증 패턴의 부상이다. 트레이딩 채널에서는 주력 수법이 되었다. 사용자가 링크를 클릭하면 — 물론 사칭된 관리자가 보낸 링크다 — 평범한 인간 확인 절차처럼 보이는 페이지가 뜬다. 캡차, "봇이 아님을 인증하세요", "계속하려면 연결하세요". 그 페이지는 연극이다. 실제 기능은 피해자로 하여금 공격자에게 접근권을 넘기는 행동을 하게 만드는 것이다. 명령어를 붙여 넣게 하거나, 연결을 승인하게 하거나, 확장 프로그램을 설치하게 하거나, 세션 토큰을 내놓게 한다. 특히 악질적인 아종 하나는 "클릭픽스(ClickFix)" 또는 "붙여넣고 실행하기(paste-and-run)" 미끼라고도 불리는데, "인증을 완료"하려면 텍스트 한 토막을 복사해 시스템 대화상자나 콘솔에 붙여 넣으라고 지시한다. 피해자가 실제로 붙여 넣는 것은 제 기계에 악성코드를 내려받아 실행하는 명령이다. 그것도 제 손으로. 가짜 캡차의 교활함은 인터넷 전체가 우리 몸에 새겨 놓은 습관을 악용한다는 데 있다. 인증 절차란 최대한 빨리 클릭해서 넘겨 버릴 마찰이지, 뜯어봐야 할 보안 경계가 아니라는 습관 말이다. 피해자 자신의 근육 기억이 공격자의 일을 대신해 준다. 특히 트레이딩 커뮤니티에서 이 패턴은 사용자를 트레이딩 봇이나 거래소에 인증해 주는 세션 토큰을 수확하는 데 쓰였다. 훔친 세션 토큰은 종종 비밀번호와 2차 인증을 합친 것만큼 값지다. 이미 인증이 끝난 상태를 표상하기 때문이다. 토큰이 곧 '당신이 누구인가'의 증명이며, 일단 복사되고 나면 세션이 살아 있는 동안 공격자가 곧 당신이다.
그 마지막 문장 속에는 피싱을 콘텐츠 문제가 아닌 다른 무엇으로 재규정하는 구조적 논점이 숨어 있다. 세션 토큰, 개인 키, 시드 문구는 모두 근본적으로 신원 주장이다. "이게 누구인가?"라는 시스템의 질문에 "정당한 소유자다"라고 답하게 해 주는 비밀들이다. 피싱을 본질까지 벗겨 내면, 가짜 신원을 통한 신원 주장의 절도다. 공격자는 믿을 만한 누군가인 척해서, 기계 앞에서 '당신'인 척할 수 있게 해 주는 비밀을 손에 넣는다. 플랫폼들이 이것을 메시지 계층에서 막지 못하는 이유는 필터가 나빠서가 아니다. 도난당하는 것과 위조되는 것이 같은 곳, 곧 이 플랫폼들이 닻을 내리길 거부한 그 계층에 살기 때문이다. 사칭된 발신자를 걷어 내고 나면 피싱 사이트는 "열쇠 내놔"라고 외치는 낯선 사람일 뿐이고, 그런 제안의 성사율은 0에 수렴한다. 기술적 페이로드는 갈아 끼우면 그만이다.
월렛 드레이너: 서비스가 된 절도
이제 위 사기들의 상당수를 현금화하는 페이로드에 도착했다. 그 온전한 이야기는 7장의 몫이지만, 지금 등록해 둘 만한 사실이 하나 있다. 악성 스마트 컨트랙트를 짜는 사람들은 대부분 스캠을 돌리는 사람들이 아니라는 것이다. 이 장의 사칭범, 가짜 에어드랍 운영자, 피싱범들은 다른 누군가가 만들고, 운영하고, 임대하는 드레이닝 인프라에 피해자를 배달한다. 드레인 페이지 뒤에 서 있는 것, 곧 벤더와 제휴 프로그램과 수수료 배분은 7장의 주제다. 여기서는 화면의 피해자 쪽에 머무르자.
기계적으로 보면 월렛 드레이너(wallet drainer)는 프런트엔드 코드와 일련의 스마트 컨트랙트 상호작용을 짝지은 것으로, 부주의한 지갑 승인 단 한 번을 가능한 한 가장 큰 탈취로 바꾸도록 설계돼 있다. 정교함은 극대화에 있다. 순진한 도둑이라면 토큰 하나의 이체 승인을 받아 내는 데 그칠 것이다. 현대의 드레이너는 연결된 지갑을 스캔해 가장 값진 자산을 식별하고, 피해자의 승인이 허용하는 최대치를 포획하도록 서명 요청을 짜 맞춘다. 때로는 포괄적인 토큰 지출 승인을 받아 두었다가 느긋하게 행사하고, 때로는 여러 자산을 한 번에 쓸어 가는 번들 트랜잭션 하나로 끝낸다. 상당수는 토큰 표준의 지극히 합법적인 승인 프리미티브에 기댄다. 덱스(DEX)가 사용자를 대신해 토큰을 옮길 수 있게 해 주는 '허용량(allowance)' 메커니즘 같은 것 말이다. 그 합법적인 기계 장치의 방향만 공격자의 주소로 돌려놓는 것이다. 피해자 눈앞에는 휴대폰의 작은 화면에서는 거의 판독 불가능한, 16진수와 컨트랙트 주소의 벽으로 이루어진 서명 프롬프트가 뜬다. 그리고 그는 사칭된 관리자와 가짜 에어드랍에 의해 "승인"을 누르도록 이미 길들어 있다. 누른다. 지갑이 빈다. 가장 잔인한 대목은 최종 트랜잭션에 버퍼 오버플로 같은 의미의 기술적 기형이나 악용이 전혀 없다는 점이다. 피해자가 승인했다. 블록체인은 시킨 그대로 했다. 사기는 전부 상류에서, 사회적 계층에서 일어났다. 자기 자산으로 뻗어 오는 손이 친구의 손이라고 피해자가 믿게 된 바로 그곳에서.
플랫폼의 고유 프리미티브와 싸우는 대신 그 위에 올라타는, 장소 특정적인 정제형 하나는 잠깐 살펴볼 가치가 있다. 드레이너 패턴이 어떻게 적응하는지 보여 주기 때문이다. 텔레그램에 통합된 블록체인 TON에서 공격자들은 가짜 "TON Giveaway"와 "Wallet Support" 미니앱(Mini App), 곧 채팅 클라이언트 안에서 돌아가는 애플리케이션들을 만들어 왔다. 이들은 플랫폼의 네이티브하고 합법적인 지갑 연결 절차인 TON 커넥트(TON Connect)를 통해 악성 승인을 청한다. 피해자는 신뢰하는 클라이언트를 한 번도 떠나지 않으므로, 몇 안 남은 본능적 경고 신호마저 벗겨진다. 그리고 그 연결 절차가 인증하는 것은 사람이 아니라 지갑의 키 쌍이다. 문서에서는 사소해 보이는 이 구별이, 이 책이 종반전에 다다르면 어마어마한 것으로 드러난다.
이 장의 사기들이 공유하는 속성이 하나 더 있고, 그것이 다음 장을 예비한다. 이들은 빠르다. 사칭 관리자는 시드 문구를 지금 원하고, 가짜 지원 봇은 세션 토큰을 지금 원하고, 드레이너는 서명을 지금 원한다. 대량으로 뿌려지고, 손이 덜 가고, 충동과 공포를 지렛대로 성사되는, 이 경제의 치고 빠지는 쪽이다. 그러나 카탈로그에는 나머지 절반이 있고, 그것은 정반대의 원리로 작동한다. 인내한다. 몇 주에 걸쳐 관계를 쌓은 뒤에야 무언가를 요구하고, 마침내 요구할 때 피해자는 지갑 하나가 아니라 평생 모은 저축을 넘긴다. 그것도 자발적으로, 상대가 친구이고 연인이고 투자 멘토라고 끝까지 믿으면서. 그런 사기들에서 신원의 거짓말은 작아지지 않는다. 더 깊어지고, 훨씬 더 비싸진다. 다음으로 향할 곳이 거기다.