지갑 보안 한눈에 보기
주소 포이즈닝: 가짜 지갑 주소가 거래 내역에 끼어드는 방식
사기범은 시드 구문이나 개인키를 몰라도 됩니다. 거래 내역에 유사 주소가 한 번만 남아도, 전체 주소를 확인하지 않고 복사해 송금하면 피해가 발생할 수 있습니다.
빠른 답변
Address Poisoning이란?
Address Poisoning은 지갑이나 탐색기 거래 내역에 유사한 가짜 주소를 남기는 암호화폐 사기입니다. 이 항목만으로 자금이 유출되진 않지만, 해당 주소를 복사해 송금하면 피해가 발생합니다.
알 수 없는 0원·더스트 송금이 있어도 지갑이 해킹된 것은 아닙니다. 해당 내역과 상호작용하지 말고, 주소도 재사용하지 마세요.
목차
2024년 5월 3일 · Ethereum
6,800만 달러가 잘못된 주소로 전송됐다가 다시 반환
Chainalysis에 따르면, 첫 소액 전송은 정상 주소로 테스트 송금이었고, 몇 분 뒤 약 1,155 WBTC가 축약 시 거의 동일해 보이는 다른 주소로 전송됐습니다. 이 두 번째 주소가 바로 공격자의 지갑이었습니다.
피해자가 잘못된 수신자에 서명했고, Ethereum은 해당 명령을 정상 처리했습니다. 이후 피해자가 온체인 메시지를 남기자, 사기범이 5월 9일 원금 6,800만 달러를 반환했으나, 이는 예외적 사례일 뿐 송금이 원칙적으로 취소되거나 안전하다는 의미는 아닙니다.
환불은 원래의 WBTC가 아닌 ETH로 이뤄졌으며, Chainalysis는 공격자가 시세 차익으로 약 300만 달러를 남겼다고 분석합니다.
테스트 송금은 신뢰 경로에서 확인된 수신자를 재사용할 때만 효과가 있습니다. 거래 내역에서 유사 주소를 새로 복사하면 큰 금액도 잘못 송금될 수 있습니다.
공격 흐름
Address Poisoning 작동 방식 단계별 설명
이 공격은 사용자가 수신자를 선택하는 순간을 노립니다. 지갑 암호화 기술을 뚫을 필요가 없습니다.
- 01
실제 송금 내역이 공개됨
피해자가 정상 수신자에게 암호화폐를 송금하면, 블록체인에 두 주소가 모두 공개 기록됩니다.
- 02
수신자 패턴 분석
공개 거래 내역을 분석해 피해자가 다시 사용할 가능성이 높은 주소를 파악합니다.
- 03
유사 주소 생성
가짜 주소는 실제 수신자와 일부 문자가 같지만, 소유자는 사기범입니다.
- 04
거짓 내역이 거래 기록에 추가됨
0원, 더스트, 토큰 전송 등으로 유사 주소가 지갑이나 탐색기에 노출됩니다.
- 05
잘못된 주소 복사
피해자가 신뢰 경로 대신 익숙해 보이는 내역을 선택합니다.
- 06
정상 거래가 사기범에게 송금됨
피해자가 송금에 서명하면, 블록체인은 승인된 주소로 정확히 자금을 전송합니다.
시각적 함정
주소 앞뒤는 같아도 실제 주소는 다를 수 있음
지갑은 긴 주소를 축약해 표시하는 경우가 많아, 사기범이 바꾼 부분이 가려질 수 있습니다.
0x91A4b7C2e6F1930DABCD8a45B6cE19fA003172F80x91A4f3D8c4E7192BCAFE6a90C1dE48B700A972F8축약된 거래 내역 예시
0x91A4…72F8
0x91A4…72F8지갑에 표시되는 이유
공개 거래 내역엔 원치 않는 항목도 기록됨
퍼블릭 블록체인에서는 누구나 주소를 조회하고, 허용된 범위 내에서 거래나 토큰을 전송할 수 있습니다. 지갑은 본인 승인 없이도 이런 내역을 표시할 수 있습니다.
0원 송금
실제 가치가 없는 토큰 이벤트도 일부 지갑이나 탐색기에서 거래 내역으로 표시될 수 있습니다.
더스트 송금
아주 소액을 보내 유사 주소가 실제 거래 내역에 섞이도록 만듭니다.
위조 토큰 활동
가치 없는 토큰이나 혼동을 유발하는 토큰이 이전 송금의 이름이나 금액을 흉내 내 거래 내역을 익숙하게 보이게 할 수 있습니다.
복사된 거래 정보
Poisoning 내역은 이전 거래 금액이나 시점을 흉내 내 정상 거래처럼 보이게 할 수 있습니다.
블록체인에 기록된 내역은 삭제할 수 없습니다. 일부 지갑은 의심 항목을 숨기거나 흐리게 표시할 수 있지만, 해당 항목만으로 자금이 유출되진 않습니다.
아닙니다. 답장, 더스트 반환, 토큰 링크 방문, 발신자 주소 복사 모두 금지하세요. 해당 내역은 무시하고, 앞으로 송금할 때는 반드시 별도로 수신자를 검증하세요.
공격 대상 파악
Address Poisoning은 블록체인 해킹이나 개인키 탈취가 아님
거래는 소유자가 승인했기 때문에 유효합니다. 실제 속임수는 서명 전, 가짜 수신자를 진짜로 착각하는 순간 발생합니다.
| 공격 | 공격 대상 | 개인키 유출 여부 |
|---|---|---|
| Address Poisoning | 수신자 선택과 시각적 유사성 | 아니요 |
| 클립보드 악성코드 | 클립보드/감염된 기기 | 반드시 그렇진 않음 |
| 피싱 | 가짜 사이트·메시지·앱 신뢰 | 반드시 그렇진 않으며, 오히려 이게 목적일 때가 많음 |
| 시드/개인키 탈취 | 지갑 서명 비밀키 | 예 |
대규모 측정 결과
수억 건 시도, 드문 사고가 아님
USENIX Security 2025 연구에서는 2022년 7월부터 2024년 6월까지 Ethereum과 BNB Smart Chain에서 Address Poisoning 시도를 측정했습니다. 아래는 탐지된 활동입니다.
이 수치는 연구의 탐지 방식과 정의에 따른 추정치이며, 모든 블록체인에서 발생한 모든 시도를 집계한 것은 아닙니다.
우선순위별 보호 방법
Address Poisoning 피해를 막는 방법
수신자 공식 경로에서 시작하세요. 추가 확인도 중요하지만, 신뢰할 수 없는 내역에서 복사한 주소는 복구할 수 없습니다.
- 01
거래 내역에서 수신자 주소 복사 금지
수신자 검증 경로로 다시 이동하세요. 거래 내역은 온체인 기록일 뿐, 주소 소유자를 증명하지 않습니다.
- 02
검증된 주소록·허용 목록 사용
자주 송금하는 수신자는 반드시 별도 신뢰 경로로 확인 후 저장하세요. 라벨을 활용하면 신뢰 수신자를 쉽게 구분할 수 있습니다.
- 03
전체 주소 직접 확인
주소록, QR 코드, 신뢰할 수 있는 경로 등 검증된 방법을 우선 사용하세요. 수동 대조 시 앞뒤 일부만 확인하지 말고 전체 주소를 꼼꼼히 확인해야 합니다.
- 04
하드웨어 지갑 화면에서 직접 확인
하드웨어 월렛에 표시된 주소와 신뢰할 수 있는 별도 경로의 수신 주소를 반드시 대조하세요. 기기는 서명할 주소만 보여주며, 실제 수신자가 누구인지는 알 수 없습니다.
- 05
소액 테스트 송금 확인
고액 송금 전에는 소액을 먼저 보내고, 실제 수신자가 수령을 확인한 뒤 동일한 주소로 재송금하세요.
- 06
새 수신자는 별도 검증 필요
지갑에서 새 주소나 유사 주소 경고가 뜨면, 무시하지 말고 다른 경로로 반드시 확인하세요.
기기는 서명할 주소를 정확히 보여주지만, 실제 수신자가 맞는지는 확인할 수 없습니다. 승인 전 반드시 신뢰할 수 있는 경로의 주소와 대조하세요.
서명 전 확인
- 수신자는 거래 내역이 아닌 신뢰 경로에서 확인
- 네트워크·자산이 수신자 기대와 일치
- 신뢰 기기에서 전체 주소 일치 확인
- 실제 수신자가 테스트 송금을 확인함
지갑 소프트웨어가 할 수 있는 일
경고 기능이 위험을 줄여주지만, 의도까지 완벽히 검증할 수는 없습니다.
지갑은 의심 패턴을 감지해 사용자의 실수를 줄여줄 수 있지만, 새로운 공격자 주소나 실제 유사 주소까지 완벽히 차단하는 것은 불가능합니다.
MetaMask
MetaMask는 송금 주소를 이전 수신자와 비교해, 앞뒤가 같고 중간이 다르면 차단 경고를 표시합니다. 완전히 새로운 수신자도 경고합니다.
Trezor Suite
Trezor Suite는 의심스러운 토큰 전송을 감지해 Address Poisoning 의심 내역을 흐리게 표시하고, 미확인으로 분류합니다. 하드웨어 월렛은 서명할 주소만 보여주므로, 반드시 별도 검증된 경로의 수신 주소와 대조해야 합니다.
신뢰 수신자를 거래 내역보다 더 눈에 띄게 표시
- 0원·더스트 등 의심 내역 흐리기/필터링
- 새 주소가 기존 연락처와 유사할 때 경고
- 검증된 연락처·허용 목록 명확히 표시
- 복사·서명 시 전체 주소 표시
표시 방식 개선 제안
ERC-8117은 특이한 주소 패턴을 쉽게 식별하도록 설계됨
ERC-8117은 0이 연속된 EVM 주소를 더 명확하게 표시하는 시각적 포맷 초안입니다. 0의 개수를 쉽게 확인할 수 있게 하여 유사 주소 생성 비용을 높이는 것이 목적입니다.
수신자 검증을 대체하지 않으며, 아직 최종 Ethereum 표준도 아닙니다. 지갑·탐색기 지원이 필요합니다.
주요 연구 및 지갑 문서
사례·통계·최신 보호 기능 확인
사례, 공격 통계, 지갑 보호 기능, 제안 현황은 Chainalysis, USENIX Security, 지갑사 문서, Etherscan, 공식 ERC 페이지를 기준으로 검증했습니다.
자주 묻는 질문
Address Poisoning 거래가 있으면 지갑이 해킹된 건가요?
아닙니다. 퍼블릭 블록체인에서는 동의 없이 0원, 더스트, 토큰이 전송될 수 있습니다. 시드 구문이나 개인키가 노출된 것은 아니며, 유사 주소를 복사해 송금할 때만 위험이 발생합니다.
지갑 거래 내역에서 가짜 거래를 삭제할 수 있나요?
블록체인에 기록된 내역은 삭제할 수 없습니다. 일부 지갑은 의심스러운 항목을 숨기거나 흐리게 표시할 수 있지만, 안전한 대응은 동일합니다. 해당 항목을 무시하고, 앞으로 송금할 때는 반드시 신뢰할 수 있는 경로에서 수신자를 확인하세요.
주소 앞뒤 4자리만 보면 충분한가요?
아닙니다. 유사 주소는 지갑이 축약 표시하는 앞뒤 문자만 맞추도록 설계됩니다. 중간이 다르면 완전히 다른 지갑이므로, 전체 주소를 직접 확인하거나 검증된 연락처만 사용하세요.
Poisoning 주소로 송금했다면 어떻게 해야 하나요?
추가 송금을 중단하고, 거래 내역을 보관한 뒤, 송금 지갑 또는 거래소에 문의하세요. 필요시 수신처를 관련 기관에 신고하세요. 온체인 송금은 원칙적으로 취소가 불가하므로 복구를 보장할 수 없습니다.
소액 테스트 송금이 Address Poisoning을 막아주나요?
수신자가 직접 확인하고, 동일한 검증 주소를 재사용할 때만 효과가 있습니다. 거래 내역에서 새 주소를 복사하면 테스트 송금도 소용없습니다.
Address Poisoning과 더스팅 공격은 같은가요?
두 용어는 겹칠 수 있지만 동일하지 않습니다. Address Poisoning은 거래 내역을 조작해 향후 수신자 선택을 유도하고, 더스트는 유사 주소 없이도 추적·스팸 등 다양한 목적으로 전송될 수 있습니다.