블록체인 주소 포이즈닝 공격은 어떻게 작동할까요?
- 블록체인 주소 포이즈닝은 지갑 주소가 서로 비슷해 보인다는 점을 악용해, 사용자가 잘못된 지갑으로 자금을 보내도록 속이는 크립토 사기 수법입니다.
- 사기꾼은 사용자가 자주 거래하는 지갑 주소와 매우 비슷한 주소를 만들고, 그 주소에서 소액 트랜잭션을 보내 피해자의 거래 내역을 오염시킵니다.
- 블록체인 트랜잭션은 되돌릴 수 없기 때문에, 이런 주소 포이즈닝 사기는 한 번 실수하면 피해가 매우 커질 수 있습니다.
- 대응을 위해서는 프로토콜·지갑·사용자 교육 측면의 개선과 함께, 블록체인 분석 및 실시간 모니터링이 필요합니다.
서론
블록체인 기술과 가상자산의 확산과 함께, 사이버 범죄자들도 사용자들을 노리기 위한 더욱 교묘한 수법을 개발하고 있습니다. 그 중 점점 더 자주 등장하고 있는 문제적 전술이 바로 블록체인 주소 포이즈닝입니다. 이 사기는 사용자가 평소에 이용하던 지갑 주소와 매우 비슷하게 보이는 주소로 자금을 보내도록 속이는 방식입니다. 안타깝게도 블록체인 트랜잭션은 한 번 발생하면 취소하거나 되돌릴 수 없기 때문에, 이런 실수를 한 사용자는 막대한 손실을 입을 수 있습니다.
이 글에서는 블록체인 주소 포이즈닝 공격이 어떻게 작동하는지, 사기꾼들이 활용하는 기법은 무엇인지, 실제 사례를 통해 그 영향력을 살펴보고, 이를 예방하기 위한 전략까지 함께 살펴봅니다.
크립토에서 주소 포이즈닝 공격이란 무엇인가?
이 사기는 공격자가 피해자가 자주 사용하는 정상 지갑 주소와 매우 유사한 지갑 주소를 만들어낼 때 발생합니다. 이후 공격자는 이 유사 주소로부터 피해자의 지갑으로 소액의, 겉으로 보기에 별 의미 없어 보이는 트랜잭션을 전송합니다. 이렇게 하면 피해자의 최근 거래 내역이나 주소록이 가짜 주소들로 채워지게 되고, 피해자가 다음에 송금할 때 악성 주소를 잘못 선택할 가능성이 높아집니다.
블록체인 지갑 주소는 일반적으로 기억하기 어려운 긴 16진수 문자열입니다. 이 때문에 사용자는 주소를 직접 입력하기보다는 복사·붙여넣기를 하거나, 지갑 앱에 표시되는 최근 사용 주소 목록에서 선택하는 경우가 많습니다. 바로 이 틈을 노려, 사기꾼은 겉으로 보기에 익숙해 보이는 악성 주소를 끼워 넣는 것입니다.
공격자는 어떻게 비슷한 주소를 만들어낼까?
사기꾼은 컴퓨터 프로그램을 이용해 다수의 지갑 주소를 자동으로 생성한 뒤, 그중 일부가 피해자가 사용하는 정상 주소의 시작 몇 글자와 끝 몇 글자가 일치할 때까지 반복합니다. 지갑 애플리케이션은 보통 주소 전체가 아니라 앞부분과 뒷부분 일부만 보여주기 때문에, 이런 식으로 만들어진 유사 주소가 사용자에게는 실제 주소처럼 보이게 됩니다.
전형적인 주소 포이즈닝 공격의 단계
- 피해자 분석: 공격자는 피해자의 트랜잭션 패턴을 살펴보며, 자주 송금하는 지갑 주소들을 파악합니다.
- 가짜 주소 생성: 자동화 도구를 사용해 피해자가 쓰는 주소와 비슷해 보이는 지갑 주소들을 대량 생성합니다.
- 거래 내역 오염: 이렇게 만든 가짜 주소들에서 피해자의 지갑으로 아주 소액을 전송해, 피해자의 거래 내역과 주소 목록에 이 주소들이 남도록 합니다.
- 피해자 낚기: 이후 피해자가 크립토를 송금할 때, 최근 기록 중 하나를 선택하는 과정에서 악성 주소를 잘못 선택해 공격자에게 자금을 보내게 될 수 있습니다.
실제 사례: 2024년 크립토 고래 주소 포이즈닝 사건
2024년 5월, 한 크립토 고래 투자자가 약 6,800만 달러 상당의 랩드 비트코인(WBTC)을 사기꾼의 이더리움 주소로 잘못 송금한 고프로파일 사건이 있었습니다. 공격자는 피해자의 정상 주소의 앞 여섯 글자를 그대로 흉내 내 매우 그럴듯한 가짜 주소를 만들었습니다. 피해자가 실수로 이 주소로 송금하자, 공격자는 곧바로 여러 지갑으로 자금을 분산 이동시켰습니다.
이후 협상이 진행된 끝에, 사기꾼은 며칠 뒤 원금 6,800만 달러를 피해자에게 되돌려주었지만, 그 사이 가격 상승분 약 300만 달러는 이익으로 가져갔습니다. 이 공격 캠페인은 수만 개의 가짜 주소를 동원했고, 주로 큰 잔액을 가진 숙련된 사용자들을 노렸다는 점에서 이 수법의 정교함과 규모를 잘 보여줍니다.
누가 피해자가 되는가?
피해자는 대체로 일반 사용자보다 더 많은 가상자산을 보유하고 활발히 거래하는 크립토 사용자들입니다. 개별 가짜 주소들 대부분은 실제로 사용자를 속이는 데 실패하지만, 전체적으로 보면 이런 수법으로 탈취되는 금액은 수억 달러 수준에 이를 수 있습니다. 많은 피해자는 대규모 송금 전에 소액 테스트 송금을 통해 위험을 줄이려 하지만, 그럼에도 불구하고 주소를 잘못 선택하는 사고는 계속 발생합니다.
주소 포이즈닝 공격을 예방하는 방법
1) 프로토콜 레벨의 개선
- 사람 친화적인 주소: 블록체인 도메인 네임 시스템(BNS), 이더리움 네임 서비스(ENS)와 같은 시스템은 긴 16진수 문자열 대신 사람이 기억하기 쉬운 이름을 제공함으로써 입력 실수와 혼동을 줄이는 데 도움이 됩니다.
- 주소 생성 비용 상향: 주소 생성 속도를 늦추거나 더 큰 문자 집합을 사용하는 등의 조치를 도입하면, 공격자가 대량의 가짜 주소를 생성하는 데 필요한 비용과 난이도를 높일 수 있습니다.
2) 지갑 및 인터페이스 개선
- 주소 표시 개선: 지갑은 주소의 더 긴 부분을 보여주거나, 이미 알려진 악성 주소와 유사한 주소로 송금하려 할 때 사용자에게 경고를 띄우는 기능을 추가할 수 있습니다.
- 의심스러운 전송 차단: 지갑이나 블록 탐색기는 이 사기에 활용되는 0값 전송이나 가짜 토큰 전송을 숨기거나 플래그 처리해 사용자 혼란을 줄일 수 있습니다.
3) 사용자 인식 제고와 보안 수칙
- 대규모 송금 전 테스트: 큰 금액을 보낼 때는 항상 먼저 소액을 테스트 송금하는 습관을 들이는 것이 좋습니다.
- 신뢰 주소 목록 관리: 개인적으로 신뢰할 수 있는 수신 주소를 화이트리스트로 관리하면, 우연히 악성 주소를 선택할 위험을 줄일 수 있습니다.
- 보안 도구 활용: 피싱 및 주소 포이즈닝 시도를 탐지하는 브라우저 확장 프로그램이나 앱을 사용하는 것도 도움이 됩니다.
4) 실시간 블록체인 모니터링
- 실시간 모니터링 도구는 주소 포이즈닝과 관련된 비정상적인 패턴을 탐지해 사용자, 거래소 또는 보안팀에 경고를 보내고, 사기가 심각한 피해를 입히기 전에 대응할 수 있게 합니다.
맺음말
블록체인 주소 포이즈닝은 복잡한 지갑 주소 구조와 사용 편의성에 대한 인간의 선호를 교묘히 악용하는, 점점 더 빈번해지고 비용이 큰 사기 수법입니다. 크립토 트랜잭션은 되돌릴 수 없기 때문에, 아주 작은 실수 하나가 곧바로 심각한 손실로 이어질 수 있습니다.
이러한 사기를 막기 위해서는 더 안전한 블록체인 프로토콜, 더 똑똑한 지갑 설계, 잘 교육된 사용자, 그리고 고도화된 모니터링 시스템이 함께 필요합니다. 주소 포이즈닝 공격이 어떻게 이뤄지는지 이해하고, 기본적인 안전 수칙을 지키는 것만으로도 크립토 커뮤니티 전체가 위험을 상당 부분 줄이고 더 안전하게 활동할 수 있습니다.
Disclaimer: 이 글은 정보 제공을 위한 일반적인 목적으로 작성된 것이며 특정 가상자산에 대한 추천이나 법률, 사업, 투자, 세금 등에 대한 조언을 제공하는 것이 아닙니다. 이 글을 바탕으로 투자 결정을 내리거나 회계, 법률, 세무 관련 지침으로 삼아서는 안 됩니다. 특정 자산에 대한 언급은 단지 참고용 정보일 뿐, 투자 권유의 의미가 아님을 명확히 합니다. 여기에서 제시된 의견은 관련된 기관이나 조직, 혹은 개인의 입장을 대변하지 않습니다.