블로그로 돌아가기
보안

주소 포이즈닝: 복사–붙여넣기를 노리는 사기

끝부분이 똑같이 강조 표시된 두 개의 지갑 주소. 가운데는 서로 다르며, 하나는 진짜로, 다른 하나는 오염된 주소로 표시되어 있다.

2024년 5월, 암호화폐 역사상 가장 값비싼 복사–붙여넣기 실수 중 하나로 약 6,800만 달러 상당의 Wrapped Bitcoin이 낯선 이에게 전송됐습니다. 시드 문구가 도난당한 것도, 스마트 컨트랙트가 악용된 것도 아니었습니다. 피해자는 자신의 거래 내역에서 주소 하나를 복사했을 뿐입니다 — 공격자가 그곳에 미리 심어 둔, 피해자가 이미 신뢰하던 주소와 똑같아 보이도록 만들어진 주소였습니다. 이것이 바로 주소 포이즈닝 사기이며, 오늘날 실행되는 공격 가운데 가장 저렴하고 확장성이 뛰어난 축에 듭니다.

이 사기가 통하는 이유는 거의 모든 암호화폐 사용자가 공유하는 습관 때문입니다 — 주소를 앞뒤 몇 글자만으로 확인하는 것이죠. 지갑과 블록 익스플로러는 긴 주소를 화면에 잘라서 표시하기 때문에 이 습관은 자연스럽게 느껴지지만, 공격자는 그 보이는 양끝을 맞춘 유사 주소를 거의 공짜로 만들어 낼 수 있습니다. 해법은 '더 꼼꼼히 보는 것'이 아닙니다. 애초에 주소가 지갑에 들어오는 방식 자체를 바꾸는 것입니다 — 내역 목록을 흘낏 보는 대신, 검증된 연락처, 화이트리스트, QR 코드, 그리고 주소 전체 대조를 사용하는 것이죠.

주소 포이즈닝 사기란 정확히 무엇인가

주소 포이즈닝은 공격자가 당신이 실제로 사용하는 주소의 앞뒤 글자를 맞춘 유사 주소를 생성해 당신의 거래 내역에 심어 두고, 당신이 잘못된 항목을 복사하기를 기다리는 사기입니다. 어느 단계에서도 당신의 허락은 필요하지 않습니다. 공격자는 공개된 온체인 데이터를 살펴 일상적으로 상당한 금액을 옮기는 지갑 — 자금 지급, 거래소 입금, 반복되는 정산 — 을 찾아내고, 그 지갑들이 가장 자주 보내는 상대방 주소를 고릅니다.

유사 주소를 만드는 일은 쉬운 쪽입니다. 배니티 주소 생성기(vanity-address generator)는 원하는 위치에 원하는 글자가 나오는 주소가 만들어질 때까지 무작위 키를 갈아 넣습니다. 주소 전체를 맞추는 것은 계산상 불가능하지만, 양끝에서 4~6개 글자를 맞추는 것은 충분히 저렴하기 때문에, 공격자는 일반 하드웨어에서 한 번에 수천 개의 표적을 상대로 이를 대량으로 수행합니다. 그 결과물은 공격자가 완전히 통제하는 진짜 주소이며 — 잘려서 표시되는 모든 화면에서 당신의 상대방 주소와 구별되지 않는 주소입니다.

가짜 항목은 어떻게 당신의 내역에 들어오는가

유사 주소는 당신이 복사할 만한 곳에 나타나기 전까지는 쓸모가 없습니다. 세 가지 전달 방식이 주로 쓰입니다:

  • 더스트 전송. 공격자는 유사 주소에서 당신의 주소로 아주 작은 금액 — 몇 센트 이하 — 을 보냅니다. 이제 당신의 지갑에는 평소 거래 상대와 똑같아 보이는 주소로부터 들어온 거래가 표시됩니다.
  • 제로값 토큰 전송. EVM 체인과 TRON에서 토큰 컨트랙트는 누구로부터든 0개 토큰의 전송을 처리합니다. 제로값 전송은 그 출처로 보이는 지갑의 승인을 전혀 필요로 하지 않는데, 토큰을 0개 옮기는 것은 어떤 허용량(allowance)도 초과하지 않기 때문입니다. 공격자는 이를 발동시켜 0 USDT의 출금 거래가 당신의 주소에서 유사 주소로 나간 것처럼 당신의 내역에 나타나게 만듭니다 — 당신이 결코 한 적 없고, 아무 비용도 들지 않았으며, 당신의 마지막 실제 결제와 똑같아 보이는 거래입니다.
  • 가짜 토큰 에어드롭. 익숙한 티커를 단 무가치한 토큰이 유사 주소로부터 도착해, 당신의 거래 내역과 알림 양쪽에 미끼를 심습니다.

세 방식 모두 같은 덫을 남깁니다 — 보이는 글자가 당신이 신뢰하는 목적지와 일치하는 항목이죠. 그런 다음 이 사기는 — 때로는 몇 달 동안 — 당신이 서두르는 그날까지 잠복합니다.

3단계 다이어그램: 당신이 진짜 주소로 결제하고, 공격자가 유사 주소에서 온 제로값 전송을 당신의 내역에 심으며, 이후의 복사–붙여넣기가 자금을 공격자에게 보내는 모습
오염은 조용히 일어나고, 손실은 몇 주 뒤 단 한 번의 붙여넣기로 발생합니다.

6,800만 달러짜리 붙여넣기

주소 포이즈닝 사기를 유명하게 만든 2024년 5월 사건은 이 각본을 그대로 따랐습니다. 한 고래 지갑이 새 주소로 소액을 이체했습니다. 몇 분 안에 공격자는 그 목적지의 앞뒤 글자를 맞춘 유사 주소를 생성해 그 지갑의 거래 내역에 가짜 항목을 떨어뜨렸습니다. 다음 거래에서 피해자는 그 오염된 항목을 복사해 약 6,800만 달러 상당의 WBTC를 그리로 보냈습니다. 이 공격 전체가 사기꾼에게 든 비용은 거래 수수료를 조금 넘는 정도에 불과했습니다.

그다음에 벌어진 일이 이례적이었습니다: 며칠간의 온체인 메시지와 협상 끝에 공격자는 사실상 모든 자금을 돌려주었습니다. 피해자는 운이 좋았습니다 — 탈취 금액의 엄청난 규모, 그로 인한 세간의 이목, 그리고 뒤따른 추적 압박이 현금화를 위험하게 만들었기 때문이죠. 당신의 위협 모델을 그런 결말 위에 세우지 마십시오. 포이즈닝 캠페인은 훨씬 적은 금액을 노리며 평범한 지갑을 상대로 끊임없이 돌아가고 있고, 규모가 작은 피해자는 돈을 되찾지 못합니다.

당신의 눈이 속는 이유 — 그리고 습관이 이를 악화시키는 방식

EVM 주소는 42자, TRON 주소는 34자입니다. 인터페이스는 이를 양끝의 몇 글자로 잘라 표시하며, 그런 인터페이스를 몇 년씩 써 오면서 당신은 그 양끝을 곧 주소로 여기도록 길들여집니다. 공격자는 인기 있는 지갑과 익스플로러의 정확한 잘림 패턴을 알고 있으며, 바로 그 글자들을 맞춥니다. 보이는 양끝이 모두 일치하면, 유일하게 다른 부분인 가운데는 — 어떤 화면도 보여 주지 않고 어떤 습관도 확인하지 않는 부분이 됩니다.

이것은 기관 차원에서 훨씬 더 큰 손실을 낳은 것과 같은 부류의 실패입니다. 2025년 2월 Bybit 사건은, 대형 거래소의 멀티시그 서명자들조차 실제로 서명되는 내용이 아니라 조작된 인터페이스가 보여 주는 것을 승인했음을 드러냈습니다 — 이 실패는 Bybit 해킹 분석에서 살펴봤습니다. 주소 포이즈닝 사기는 같은 진실의 개인 사용자 버전입니다:

주소 포이즈닝은 당신의 키를 결코 건드리지 않습니다. 당신의 키가 작동하는 환경을 편집할 뿐입니다 — 그리고 완벽하게 유효한 거래에 당신 스스로 서명해 엉뚱한 곳으로 보내게 만듭니다.

블록체인 자체가 당신을 구할 수 없는 이유도 여기에 있습니다. 당신이 서명한 거래는 정확히 당신이 요청한 그 거래입니다 — 오염된 것은 그 상류에 있던 당신의 의도였습니다. 일단 확정되면, 그것은 되돌릴 수 없습니다.

실제로 통하는 방어책

이 사기는 암호 기술이 아니라 작업 흐름을 노리기 때문에, 효과적인 방어책은 작업 흐름의 변화입니다 — 여기서는 가장 구조적인 것부터 가장 수작업에 가까운 것 순으로 정리했습니다:

주소 포이즈닝에 맞서는 세 가지 방어책: 주소 전체 검증, 주소 화이트리스트, 그리고 본 결제에 앞선 소액 테스트 전송
구조적 방어가 경계심을 이깁니다: 전체를 검증하고, 화이트리스트를 쓰고, 먼저 시험하십시오.
  • 거래 내역에서 주소를 복사하지 마십시오. 내역은 출처가 아니라 표시로 취급하십시오. 안전한 출처는 오직 세 가지뿐입니다 — 검증된 순간에 저장해 둔 연락처, 수령인에게서 직접 스캔한 QR 코드, 또는 별개의 실시간 채널로 전달받은 주소입니다.
  • 금액이 그만한 값어치를 할 때는 화이트리스트를 쓰십시오. 주소 화이트리스트는 출금을 사전 승인된 목적지 목록으로 제한하므로, 누군가 오염된 항목을 붙여넣더라도 그것을 쓸 수 없게 만듭니다. Ownbit의 보안 모델은 엔터프라이즈 멀티시그에서 일일 한도, 서명자 임계값과 함께 주소 화이트리스트를 지원하므로, 한 사람의 붙여넣기가 검증되지 않은 주소로 자금을 옮길 수 없습니다.
  • 주소 전체를 한 번 검증하고, 그다음에는 저장된 연락처만 신뢰하십시오. 체크섬은 오타는 잡아내지만 유사 주소는 잡지 못합니다 — 오염된 주소도 완벽하게 유효한 주소이기 때문입니다. 수령인이 보내온 것과 모든 글자를 대조하거나, 통화로 문자열의 가운데 부분을 소리 내어 읽으십시오. 한 번만 그렇게 하고, 연락처로 저장한 뒤, 다른 어디에서도 다시 복사하지 마십시오.
  • 먼저 테스트 금액을 보내고 — 수령을 별도 채널로 확인하십시오. 소액 전송은 수수료 한 번이 들 뿐이며 큰 금액에 도사린 꼬리 위험을 없애 줍니다. 다만 수령인이 별개의 채널을 통해 도착을 확인하게 하십시오 — 당신이 내역을 흘낏 보며 스스로 확인하는 것은 같은 덫을 다시 여는 일입니다.
  • 두 번째 화면, 또는 두 번째 사람을 절차에 넣으십시오. Ownbit의 콜드월렛 워크플로는 서명되지 않은 거래를 QR 코드로 오프라인 휴대폰에 옮기고, 온라인 환경이 건드릴 수 없는 기기에서 목적지 전체를 검토합니다. 멀티시그에서는 다른 기기를 쓰는 공동 서명자가 목적지를 다시 확인함으로써, 한 사람의 붙여넣기 실수를 손실이 아니라 거부된 제안으로 바꿔 놓습니다 — 서명자들이 실제로 검증한다는 전제 아래에서 말이죠. Bybit 사례가 보여 주었듯 바로 그 규율이 무너질 수 있습니다.

하드웨어 월렛도 여기서 솔직하게 언급할 만합니다: 기기 자체의 화면은 에어갭 휴대폰과 같은 역할을 하며, 소유자가 기기에서 주소 전체를 읽는 딱 그만큼 포이즈닝을 막아 줍니다. 어떤 도구도 당신을 대신해 당신의 의도를 검증해 주지는 않습니다.

큰 금액을 보낼 때마다 하는 30초 의식

  1. 목적지 주소는 수령인에게서 실시간 채널 — 채팅, 통화, 또는 QR 코드 — 을 통해 받으십시오. 절대 당신의 내역에서 가져오지 마십시오.
  2. 즉시 이름을 붙여 연락처로 저장하십시오. 저장된 그 항목이 이제 당신의 유일한 출처입니다.
  3. 대조할 때는 양끝만이 아니라 주소의 가운데를 읽으십시오. 공격자는 양끝을 맞추지만, 가운데가 그들을 들통나게 합니다.
  4. 소액의 테스트 금액을 보내고, 같은 실시간 채널에서 수령인이 수령을 확인하게 하십시오.
  5. 나머지 금액은 저장된 연락처로 보내십시오 — 그리고 자금 규모가 큰 경우, 어떤 단 한 번의 붙여넣기도 치명적이지 않도록 화이트리스트와 멀티시그 임계값을 함께 요구하십시오.

이 의식에 드는 비용은 30초와 네트워크 수수료 한 번입니다. 2024년 5월의 피해자라면 그 대가를 천 번이라도 치렀을 것입니다.

자주 묻는 질문

주소 포이즈닝 사기란 무엇인가요?

주소 포이즈닝 사기는 사기꾼이 당신이 자주 보내는 주소의 앞뒤 글자를 맞춘 유사 주소를 만든 뒤, 더스트 전송이나 제로값 전송을 이용해 그것을 당신의 거래 내역에 끼워 넣는 공격입니다. 그런 다음 사기꾼은 당신이 진짜 항목 대신 그 가짜 항목을 복사하기를 기다립니다. 이 공격은 당신의 키에 접근할 필요가 전혀 없으며, 실행 비용은 네트워크 수수료를 조금 넘는 정도에 불과합니다.

제로값 전송만으로 제 암호화폐를 훔칠 수 있나요?

아닙니다. 제로값 전송은 아무것도 옮기지 않고 아무 권한도 부여하지 않습니다 — 오직 당신의 내역에 그럴듯한 항목을 심기 위해 존재할 뿐입니다. 당신의 자금이 위험해지는 것은 나중에 당신이 그 심어진 주소를 복사해 거기로 보낼 때뿐입니다. 더스트와 제로값 스팸은 안심하고 무시해도 됩니다 — 다만 그것을 주소의 출처로 삼는 일만은 절대 하지 마십시오.

제 지갑 내역이 오염됐는지 어떻게 알 수 있나요?

평소 거래 상대와 닮은 주소에서 들어온 더스트나, 당신이 결코 한 적 없는 0원짜리 출금 토큰 전송이 있는지 살펴보십시오. 실제로는 활성 상태인 지갑은 모두 오염됐다고 가정하고 그에 맞게 행동하는 편이 낫습니다 — 내역을 항목 하나하나 감사하는 것보다, 주소를 복사하는 출처를 바꾸는 편이 더 안전합니다.

콜드월렛이나 하드웨어 월렛이 주소 포이즈닝을 막아 주나요?

그 자체만으로는 아닙니다. 콜드 스토리지는 키를 보호하지만, 주소 포이즈닝은 키를 공격하는 법이 없습니다 — 서명하기 전에 당신이 고르는 주소를 공격합니다. 도움이 되는 것은 두 번째 화면입니다: 서명 전에 목적지 주소 전체를 보여 주는 에어갭 기기는 마지막으로 독립된 확인 지점을 제공합니다 — 다만 당신이 그 위에서 주소 전체를 읽을 때에만 그렇습니다.

이 안전장치를 당신의 기억이 아니라 지갑 자체에 심어 두고 싶다면, Ownbit의 보안 모델은 셀프 커스터디에 엔터프라이즈 멀티시그의 주소 화이트리스트와 지출 한도를 더하고, QR 기반 콜드월렛 워크플로는 어떤 서명도 생기기 전에 주소 전체 검토를 오프라인 화면에서 거치게 합니다. 모든 신규 사용자에게 7일 체험이 제공되며, 어느 쪽이든 당신의 키는 당신의 것으로 남습니다.