암호화폐 지갑이 해킹되었는지 확인하는 방법: 10가지 경고 신호
승인하지 않은 이체가 실제로 완료되었다면 무언가 잘못되었다는 가장 분명한 경고 신호입니다. 하지만 돈이 사라지기 전에도 지갑은 위험해질 수 있습니다. 복구 문구가 도난당하거나, 숨겨진 자산 사용 권한이 설정되거나, 지갑의 제어 권한이 바뀌면 잔액이 정상으로 보여도 공격자가 접근할 수 있습니다.
아래 경고 신호 중 일부는 실제 도난을 가리킵니다. 다른 신호는 지갑이나 기기가 위험에 노출되었을 가능성을 보여 줍니다. 공격자가 어떤 방식으로 접근했는지에 따라 해결 방법이 달라지므로 이 차이가 중요합니다.
지금 자금이 빠져나가고 있다면 해당 지갑에 돈을 더 보내지 말고 글 끝부분의 대응 단계로 바로 이동하세요.
암호화폐 지갑이 해킹되었다는 것은 정확히 무슨 뜻인가요?
암호화폐는 블록체인에 기록됩니다. 지갑은 개인 키 또는 다른 승인 규칙을 사용해 암호화폐를 제어하도록 도와줍니다. 시드 문구라고도 하는 복구 문구로는 여러 지갑 계정의 키를 다시 생성할 수 있습니다.
사람들은 서로 다른 여러 문제를 가리켜 '해킹'이라고 부릅니다.
- 키 도난: 누군가 개인 키나 복구 문구를 확보해 다른 기기에서 거래를 승인할 수 있습니다.
- 권한 악용: 특정 자산을 다른 사람이 이동할 수 있게 하는 계약을 승인하거나 요청에 서명한 경우입니다. 개인 키 자체는 유출되지 않았을 수 있습니다.
- 기기 또는 앱 침해: 악성코드, 가짜 지갑, 악성 확장 프로그램이 정보를 훔치거나 보내려는 거래 내용을 바꿉니다.
- 거래소 계정 침해: 회사가 암호화폐를 대신 보관하는 계정에 누군가 접근합니다.
하드웨어 지갑은 개인 키 보호에 도움이 되지만 위험한 권한을 안전하게 만들지는 못합니다. 잘못된 작업을 승인하면 하드웨어 지갑은 그 작업에 정상적으로 서명할 수도 있습니다.
1. 승인하지 않았는데 실제 암호화폐가 지갑에서 빠져나갑니다
설명할 수 없는 완료된 이체, NFT 판매 또는 출금을 발견합니다. 휴대전화가 꺼져 있거나 컴퓨터에서 멀리 떨어져 있을 때 일어날 수도 있습니다.
먼저 자동 결제, 거래소 출금, 거래 앱에서의 작업처럼 이전에 직접 설정한 거래인지 확인하세요. 그런 다음 블록체인에서 실제 거래를 확인합니다.
실제 자산이 이동했고 잔액이 줄었는지 확인하세요. 지갑 활동 기록의 이상한 항목만으로는 충분하지 않습니다. 사기범은 내 주소에서 이체가 발생한 것처럼 보이는 오해의 소지가 있는 토큰 기록을 만들 수 있습니다.
실제 자산의 무단 이동이 확인되면 즉시 대응하세요. 지갑이 완전히 비워질 때까지 기다릴 필요는 없습니다.
2. 새로 입금한 자금이 거의 즉시 사라집니다
거래 수수료를 내기 위해 ETH 또는 다른 네트워크 코인을 지갑으로 보냅니다. 몇 초 안에 낯선 주소로 이동하고, 다음 입금에서도 같은 일이 반복됩니다.
이는 노출된 지갑을 감시하다가 사용 가능한 자금을 자동으로 가져가는 프로그램인 **스위퍼 봇(sweeper bot)**에서 흔히 나타나는 패턴입니다. 직접 설정한 자동화가 아니라면 이런 출금이 반복되는 것은 무단 접근을 강하게 시사합니다.
봇은 공격자의 컴퓨터에서 실행될 수 있습니다. 지갑 앱을 닫거나 휴대전화를 재시작해도 멈추지 않습니다. 일부 봇은 큰 입금이 들어올 때까지 소액 잔액을 그대로 두므로 돈이 남아 있다는 사실만으로 지갑이 안전하다고 볼 수 없습니다.
가스 수수료를 충당하려고 계속 돈을 넣거나 시험 입금을 보내지 마세요. 공격자에게 자금을 제공하는 것일 수 있습니다.
3. 알 수 없는 토큰 또는 NFT 권한이 발견됩니다
많은 암호화폐 앱은 토큰 사용 권한을 요청합니다. 이런 승인은 앱 사용을 중단한 뒤에도 오랫동안 유효할 수 있습니다.
최근 추가된 알 수 없는 지출 권한자(spender), 의심스러운 사이트 방문 후 부여된 접근 권한, 필요한 작업에 비해 지나치게 큰 사용 한도 등이 경고 신호입니다. NFT 권한을 부여하면 운영자가 특정 컬렉션에 속한 보유 NFT 전부를 전송할 수도 있습니다.
무제한 승인은 정상적인 앱에서도 흔히 사용되므로 그 자체로 해킹의 증거는 아닙니다. 중요한 것은 누가 접근할 수 있는지, 어떤 자산을 이동할 수 있는지, 본인이 의도적으로 허용했는지입니다.
네트워크, 실제 토큰 컨트랙트, 지출 권한자, 금액을 확인하세요. 지갑에서 웹사이트 연결을 끊어도 블록체인에 이미 기록된 승인이 취소되지는 않습니다.
4. 로그인 요청처럼 보이는 서명에 자산 사용 권한이 포함됩니다
사이트에 로그인하거나 보상을 받거나 지갑을 인증하려고 방문합니다. 사이트가 거래 수수료가 없는 서명을 요청하는데, 요청에는 승인할 의도가 없던 토큰 수량, 지출 권한자 또는 NFT 판매 주문이 포함되어 있습니다.
일부 서명은 별도의 승인 거래 없이도 자산 사용을 허용합니다. Permit, Permit2 기능과 마켓플레이스 주문 서명이 대표적인 예입니다. 정상적인 앱도 이를 사용하지만 사기범은 무해한 로그인 절차처럼 위장할 수 있습니다.
가스 수수료가 없다고 해서 서명이 안전하다는 뜻은 아닙니다.
또 다른 함정도 있습니다. 아직 사용되지 않은 서명된 권한은 누군가 제출하기 전까지 블록체인에 나타나지 않을 수 있습니다. 일반 거래 내역은 물론 경우에 따라 승인 확인 도구에도 아무 문제가 없어 보여도 해당 권한이 여전히 사용 가능할 수 있습니다.
의심스러운 요청에 서명했다면 사이트와의 상호작용을 중단하고 서명이 무엇을 허용했는지 조사하세요. 취소 방법은 권한 유형에 따라 다릅니다. 일반적인 승인 철회로 모든 미사용 서명이 무효화되지는 않습니다.
5. 지갑에 새로운 소유자나 낯선 제어 권한이 생깁니다
일부 지갑에는 여러 소유자, 복구 연락처, 임시 서명 키 또는 작업을 수행하는 소프트웨어 모듈이 있습니다. 이를 흔히 스마트 지갑 또는 스마트 계정이라고 합니다.
직접 추가하지 않은 소유자, 줄어든 필수 서명 수, 낯선 복구 방법, 새 모듈이 발견되면 즉시 주의를 기울여야 합니다. 해당 권한의 범위에 따라 누군가 평소의 승인 절차 없이 자금을 이동할 수 있습니다.
Ethereum(이더리움)과 호환 네트워크에는 일반 지갑이 자신의 주소를 통해 코드를 실행하도록 승인할 수 있는 EIP-7702라는 기능도 있습니다. 악의적인 승인은 복구 문구가 노출되지 않아도 지속적인 접근 권한을 만들 수 있습니다.
놓치기 쉬운 세부 사항이 있습니다. 이 기능에서는 거래 실행에 실패하더라도 수락된 위임이 남을 수 있습니다. '실패' 표시가 지갑의 제어 설정이 바뀌지 않았다는 뜻은 아닙니다.
지갑의 공식 도구로 이러한 권한을 확인하세요. 토큰 승인만 철회해서는 낯선 지갑 소유자나 위임을 제거할 수 없습니다.
6. 복구 문구 또는 개인 키가 노출되었습니다
복구 문구를 웹사이트에 입력하거나, 고객 지원을 사칭한 사람에게 보내거나, 나중에 가짜로 밝혀진 지갑 앱에 가져왔을 수 있습니다. 침해된 클라우드 계정이나 공유 파일을 통해 읽을 수 있는 백업에 접근할 수 있었다는 사실을 발견할 수도 있습니다.
아직 자산이 이동하지 않았더라도 그 비밀 정보로 제어되는 계정은 침해된 것으로 취급하세요. 누군가 앱에서 로그인 경고를 발생시키지 않고 다른 곳에서 지갑을 재생성할 수 있습니다.
지갑 앱 비밀번호를 변경해도 노출된 개인 키는 바뀌지 않습니다. 같은 복구 문구로 다른 계정을 만드는 것 역시 해결책이 아닙니다.
노출 범위를 따져야 합니다. 복구 문구가 유출되면 여러 계정이 노출될 수 있습니다. 별도로 가져온 개인 키 하나가 유출된 경우에는 그 키가 제어하는 계정만 영향을 받을 수 있습니다.
7. 지갑 앱이나 확장 프로그램이 바뀐 것처럼 보입니다
설치한 적 없는 확장 프로그램, 가짜 지갑 다운로드 또는 지갑 데이터를 훔치는 소프트웨어에 관한 보안 경고를 발견합니다. 익숙한 지갑이 설명할 수 없는 변경 후 갑자기 복원을 요구할 수도 있습니다.
복원 요청에는 재설치나 앱 데이터 삭제처럼 정상적인 원인이 있을 수도 있습니다. 그 자체가 도난의 증거라기보다 비밀 정보를 입력하기 전에 소프트웨어를 확인해야 할 이유입니다.
지갑 제공업체의 공식 웹사이트에서 앱을 확인하고 확장 프로그램의 신원을 점검하세요. 익숙한 이름과 로고는 쉽게 복제할 수 있습니다.
이미 의심스러운 소프트웨어에 복구 문구를 입력했다면 유출된 것으로 취급하세요. 앱을 삭제해도 공격자가 이미 확보한 사본은 사라지지 않습니다.
8. 받는 주소를 붙여넣을 때 주소가 바뀝니다
수신자의 주소를 복사해 지갑에 붙여넣었는데 다른 주소가 나타납니다. 클립보드 악성코드는 암호화폐 주소를 공격자의 주소로 바꿀 수 있습니다.
이는 기기나 소프트웨어에 문제가 있다는 신호입니다. 반드시 누군가 개인 키를 확보했다는 뜻은 아니지만 그 기기에서 이체하는 것은 안전하지 않습니다.
공격자는 원래 주소와 비슷한 대체 주소를 사용할 수 있습니다. 앞뒤 몇 글자만 확인하면 바뀐 주소를 놓칠 수 있습니다. 신뢰할 수 있는 사본과 받는 주소 전체를 비교하세요. 하드웨어 지갑을 사용하는 경우 승인 전에 기기 화면에서 주소를 확인하세요.
주소가 다르면 거래를 취소하세요. 맞는 주소가 나올 때까지 복사와 붙여넣기를 반복하는 것은 해결책이 아닙니다.
9. 설명할 수 없는 손실이 여러 계정이나 네트워크에서 발생합니다
토큰 하나가 사라진 것은 특정 사용 권한 때문일 수 있습니다. 같은 복구 문구에서 파생된 여러 계정에 걸쳐 무단 이체가 발생하면 키가 더 광범위하게 노출되었을 가능성을 의심해야 합니다.
예를 들어 두 네트워크에서 손실이 발생하고 같은 문구로 만든 다른 계정에서도 활동이 보인다면 조사 범위를 넓혀야 합니다. 처음 발견한 토큰만의 문제라고 가정하지 말고 영향을 받은 모든 계정과 네트워크를 확인하세요.
이 패턴은 원인을 좁히는 데 도움이 되지만 결정적인 증거는 아닙니다. 여러 악성 권한이나 여러 네트워크에서 유효한 지갑 승인도 광범위한 손실을 일으킬 수 있습니다.
서로 다른 Ethereum(이더리움) 계열 네트워크에서 지갑 주소가 같은 것은 정상이며 그 자체가 경고 신호는 아닙니다. 경고 신호는 해당 계정과 관련된 설명할 수 없는 활동입니다.
10. 거래소 계정에 낯선 접근이나 출금 기록이 나타납니다
거래소에 암호화폐를 보관한다면 알 수 없는 로그인 세션, 변경된 복구 정보, 새로운 출금 주소, 요청하지 않은 출금이 있는지 확인하세요. 요청하지 않은 2단계 인증 변경은 특히 심각합니다.
경고가 사실인지 확인하려면 공식 앱이나 웹사이트를 직접 여세요. 위협적인 이메일은 피싱일 수 있습니다. 낯선 위치도 VPN이나 모바일 네트워크 때문일 수 있으므로 기기, 시간, 계정에서 수행된 작업을 함께 검토하세요.
거래소 계정 탈취에는 계정 보안 조치가 필요합니다. 제공업체의 계정 잠금이나 출금 제한 기능이 있다면 사용하고, 공식 고객 지원에 연락하며, 이메일 및 인증 수단을 보호하세요.
이러한 로그인 확인은 복구 문구로 제어되는 기본 지갑에는 동일하게 적용되지 않습니다. 키를 확보한 사람은 앱에 로그인할 필요가 전혀 없을 수 있습니다.
해킹을 증명하지는 않는 이상 활동
다음과 같은 흔한 상황도 불안하게 보일 수 있습니다.
- 달러 기준 잔액 감소: 보유 코인 수는 그대로인데 가격만 떨어졌을 수 있습니다.
- 앱에서 토큰이 보이지 않음: 잘못된 계정이나 네트워크를 선택했거나, 토큰을 숨겼거나, 표시 오류가 발생했을 수 있습니다.
- 알 수 없는 Bitcoin(비트코인) 출력값: 결제 후 남은 자금이 본인 지갑이 제어하는 새로운 거스름돈 주소로 돌아갈 수 있습니다.
- 원치 않는 토큰 또는 NFT: 스팸만으로 키 도난을 입증할 수는 없습니다. 링크를 따라가거나 제거하기 위해 거래에 서명하지 말고 숨기세요.
- 익숙해 보이는 주소와 관련된 소액 또는 0가치 이체: 사기범이 나중에 복사하도록 거래 내역에 비슷한 수신 주소를 심는 주소 포이즈닝일 수 있습니다.
가짜 토큰 중에는 진짜 토큰의 이름과 기호를 복제한 것도 있습니다. 실제로 나가는 이체가 있었던 것처럼 오해를 유발하는 기록까지 만들 수 있습니다. 기록을 도난의 증거로 보기 전에 실제 토큰 컨트랙트와 잔액을 확인하세요.
최근 활동 내역에서 수신 주소를 복사하지 마세요. 확인된 수신자나 신뢰할 수 있는 주소록에서 주소를 가져오세요.
실제로 무슨 일이 있었는지 확인하는 방법
해당 네트워크의 신뢰할 수 있는 블록체인 탐색기를 사용하세요. 지갑을 연결하거나 수수료를 내거나 복구 문구를 공개하지 않아도 공개 주소를 조회할 수 있습니다.
다음 사항을 확인하세요.
- 계정과 네트워크: 사라진 자산을 보유했던 주소를 조회하고 있는지 확인합니다.
- 거래 상태: 대기 중인 활동과 완료된 이동을 구분합니다. 지갑 위임의 경우 실행에 실패했어도 권한이 변경되었는지 확인합니다.
- 실제 자산: 이름이나 로고에 의존하지 말고 토큰 컨트랙트 또는 NFT 컬렉션을 확인합니다.
- 잔액 변화와 목적지: 무엇이 어디로 이동했는지 파악합니다. 기본 거래 목록뿐 아니라 토큰 및 NFT 이체도 검토합니다.
- 이전 권한: 손실과 관련된 승인, 서명 또는 지갑 제어 권한 변경을 찾습니다.
누군가 토큰 승인 권한을 이용해 자산을 가져간 경우 거래의 발신자가 다른 사람의 계정일 수 있습니다. 그렇다고 그 이체가 무해한 것은 아닙니다. 마찬가지로 토큰 기록에 본인 주소가 출처로 표시되더라도 본인이 직접 거래에 서명했다는 증거는 아닙니다.
블록체인 기록을 해석하기 어렵다면 공식 확인된 지갑 고객 지원에 공개 주소와 거래 해시를 전달하세요. 이 정보는 키를 노출하지 않고도 조사에 도움이 될 수 있습니다.
경고 신호가 사실로 확인되었을 때 해야 할 일
자금 추가와 서명 요청 승인을 중단하세요
영향받은 지갑에 대한 입금을 중단하세요. '수리', '검증', '잠금 해제' 제안을 포함한 새로운 서명 요청을 거부하세요. 감염되었을 수 있는 기기 사용을 중단하고 별도의 신뢰할 수 있는 기기에서 진행하세요.
복구 문구 또는 개인 키가 유출된 경우
노출된 비밀 정보로 제어되는 일반 지갑이라면 신뢰할 수 있는 기기에서 완전히 새로운 복구 문구를 사용하는 새 지갑을 만드세요. 안전하게 할 수 있다면 남은 자산을 옮긴 뒤 영향을 받은 계정의 사용을 중단하세요. 그 계정을 가리키는 결제 수신 주소도 변경하세요.
스위퍼가 작동 중이면 기존 지갑에 가스 수수료를 충전하지 마세요. 남은 자산을 구하려면 전문적인 거래 처리 방식이 필요할 수 있으며 성공은 보장되지 않습니다.
승인이나 서명된 권한이 문제인 경우
검증된 도구를 통해 관련 권한을 철회하고 철회가 완료되었는지 확인하세요. 한 네트워크의 특정 토큰에 대한 승인이 다른 모든 네트워크에도 자동으로 적용되는 것은 아닙니다.
아직 사용되지 않은 의심스러운 서명은 지갑 또는 프로토콜별 취소 절차를 따르세요. 권한을 여전히 사용할 수 있는지 확인하는 동안 자산을 옮겨야 할 수도 있습니다.
권한을 철회해도 이미 도난당한 자산을 돌려받을 수는 없습니다. 키가 유출된 지갑을 안전하게 만들 수도 없습니다.
지갑 제어 설정이 변경된 경우
지갑의 공식 복구 또는 권한 관리 절차를 통해 승인되지 않은 소유자, 모듈, 서명 키, 위임을 제거하세요. 소유자의 키가 유출되었다면 지갑이 지원하는 경우 해당 서명자를 교체하세요. 다시 안전하다고 판단하기 전에 제공업체에 맞는 지침을 받으세요.
거래소 계정에 접근이 발생한 경우
제공업체의 공식 절차를 통해 계정을 잠그거나 출금을 제한하세요. 신뢰할 수 있는 기기에서 이메일을 보호하고, 영향을 받은 비밀번호를 변경하고, 알 수 없는 세션을 종료하고, 복구 정보와 2단계 인증을 검토하세요.
증거를 보관하고 피해를 신고하세요
남은 자금을 보호하면서 거래 해시, 공개 주소, 타임스탬프, 의심스러운 URL 및 관련 메시지를 보관하세요. 지갑이나 거래소와 관계 당국에 사건을 신고하세요.
블록체인에서 확인된 이체는 일반적으로 지갑 고객 지원을 통해 되돌릴 수 없습니다. 자금 회수는 거래소의 자금 동결, 조사 또는 자금 반환 여부에 달려 있을 수 있습니다. 특히 선불 비용이나 복구 문구를 요구하면서 회수를 보장한다는 사람을 경계하세요.
