간단한 정의
개인키 탈취란 공격자가 피싱, 악성코드, 데이터 유출, 사회공학, 안전하지 않은 백업 등을 통해 암호화폐 지갑의 개인키 또는 시드 문구를 확보하고, 해당 지갑을 대신해 거래에 서명하여 자산을 이전할 수 있게 되는 상황을 말합니다.
대부분의 퍼블릭 블록체인에서는 개인키를 통제하는 사람이 해당 주소의 유효한 거래를 만들 수 있습니다. 따라서 개인키가 탈취되는 것은 단순히 거래 비밀번호가 유출되는 것보다 훨씬 심각할 수 있습니다. 또한 블록체인 거래는 한 번 확정되면 일반적으로 되돌리기 어렵습니다. 자산 회수 가능성은 자산의 이동 경로, 거래 플랫폼의 협조, 수사 절차, 구체적인 온체인 상황에 따라 달라지며, 반드시 복구된다고 가정해서는 안 됩니다.
개인키가 암호화폐 자산을 통제하는 방식
암호화폐 지갑에는 보통 두 가지 핵심 정보가 있습니다.
| 개념 | 역할 | 공개 가능 여부 |
|---|---|---|
공개키 / 주소 | 자산을 받는 데 사용되며, 송금받는 주소와 유사함 | 주소는 일반적으로 공개 가능 |
개인키 / 시드 문구 | 거래에 서명하고 자산을 사용할 권한이 있음을 증명함 | 절대 공개하면 안 됨 |
사용자가 송금을 실행하면 지갑은 개인키로 거래에 디지털 서명을 합니다. 네트워크 노드는 서명이 유효한지 검증한 뒤에야 해당 거래를 받아들입니다. 공격자가 개인키나 시드 문구를 확보하면 자신의 기기에서 지갑을 가져와 다른 주소로 자산을 이전할 수 있습니다.
시드 문구는 보통 12개, 18개 또는 24개의 영어 단어로 구성되며, 본질적으로 개인키를 복구하거나 생성하는 데 사용될 수 있습니다. 일반 사용자에게는 시드 문구 유출이 개인키 유출과 사실상 동일한 의미를 갖는 경우가 많습니다.
흔히 발생하는 상황
| 상황 | 전형적인 모습 | 위험 요소 |
|---|---|---|
피싱 사이트 | 지갑, 거래소, 에어드롭 페이지를 사칭하고 시드 문구 입력을 요구 | 사용자가 직접 개인키 정보를 제출 |
악성코드 | 트로이목마, 클립보드 하이재킹, 가짜 지갑 앱 | 로컬 파일을 훔치거나 입력 내용을 가로챔 |
안전하지 않은 백업 | 시드 문구를 캡처해 저장하거나 클라우드, 이메일, 메신저에 보관 | 클라우드 계정이나 기기 침해 시 유출 |
사회공학 | 고객센터, 관리자, 프로젝트팀을 사칭 | 신뢰를 악용해 시드 문구 공개를 유도 |
기기 통제 상실 | 휴대폰이나 컴퓨터에 타인이 장기간 접근하거나 원격제어 프로그램 설치 | 공격자가 지갑 또는 백업 내용을 확인 가능 |
간단한 예시
초보 트레이더가 “에어드롭 수령” 링크를 클릭했다고 가정해 보겠습니다. 해당 페이지는 “지갑 소유권 확인”이 필요하다며 12개의 시드 문구 입력을 요구합니다. 사용자가 이를 입력하면 공격자는 즉시 다른 기기에서 그 지갑을 가져오고 송금을 시작할 수 있습니다. 사용자가 이후 지갑 앱을 삭제하더라도 공격자가 이미 시드 문구를 확보했다면 해당 주소를 계속 통제할 수 있습니다.
이 사례의 핵심 문제는 시장 가격 변동이 아니라 지갑의 통제권이 넘어갔다는 점입니다. 일반적인 대응은 해당 주소 사용을 즉시 중단하고, 아직 이전되지 않은 자산을 새 지갑으로 옮기며, 증거를 보관하고, 관련 플랫폼이나 수사기관에 연락하는 것입니다.
수탁형 지갑과 비수탁형 지갑과의 관계
개인키 탈취 위험은 지갑 유형에 따라 다르게 나타납니다.
| 지갑 유형 | 개인키 통제 주체 | 사용자의 주요 위험 |
|---|---|---|
비수탁형 지갑 | 사용자가 직접 개인키 또는 시드 문구를 관리 | 시드 문구 유출, 백업 분실, 악성 거래 서명 |
수탁형 지갑 | 거래소 또는 수탁 서비스 제공자가 개인키를 관리 | 플랫폼 계정 탈취, 플랫폼 보안 사고, 출금 권한 악용 |
수탁 서비스를 사용할 때 사용자는 보통 개인키를 직접 다루지 않지만, 로그인 비밀번호, 이중 인증, 이메일, 출금 주소 설정을 보호해야 합니다. 비수탁형 지갑을 사용할 때는 사용자가 더 직접적인 통제권을 가지는 대신, 자기 보관에 대한 책임도 더 커집니다.
예방을 위한 핵심 수칙
- 어떤 웹사이트, 고객센터, 커뮤니티 관리자에게도 시드 문구나 개인키를 제공하지 마세요. 정상적인 지갑 유지보수, 에어드롭 수령, 계정 확인 과정에서 전체 시드 문구를 요구하는 것은 일반적이지 않습니다.
- 시드 문구는 오프라인으로 백업하세요. 예를 들어 종이에 적거나 내구성 있는 재료에 보관하고 안전한 장소에 두는 방식이 있습니다. 스크린샷, 클라우드 드라이브, 메신저, 이메일 저장은 피하는 것이 좋습니다.
- 공식 웹사이트와 앱 출처를 확인하세요. 지갑은 공식 채널을 통해 다운로드하고, 검색 광고, 유사 도메인, 가짜 앱을 경계해야 합니다.
- 하드웨어 지갑을 사용하더라도 주의가 필요합니다. 하드웨어 지갑은 개인키가 인터넷에 연결된 기기에 노출될 가능성을 낮출 수 있지만, 사용자가 피싱 페이지에 시드 문구를 입력하면 하드웨어 지갑도 해당 시드 문구를 보호할 수 없습니다.
- 송금 전 주소와 거래 내용을 확인하세요. 특히 스마트컨트랙트 승인, 무제한 승인, 낯선 서명 요청에 주의해야 합니다.
- 지갑을 용도별로 분리해 사용하세요. 예를 들어 일상적인 상호작용용 지갑과 장기 보관용 지갑을 분리하면 단일 노출 지점의 위험을 줄일 수 있습니다.
- 개인키 유출이 의심되면 가능한 한 빨리 자산을 새 지갑으로 이전하세요. 지갑 앱 비밀번호만 변경하는 것으로는 이미 시드 문구를 확보한 공격자를 막기 어렵습니다.
개인키 탈취와 다른 위험의 차이
| 위험 | 반드시 개인키 유출이 수반되는가 | 설명 |
|---|---|---|
개인키 탈취 | 예 | 공격자가 개인키 또는 시드 문구를 확보해 직접 서명하고 송금 가능 |
승인 권한 악용 | 반드시 그렇지는 않음 | 사용자가 악성 스마트컨트랙트 승인을 서명했고, 공격자가 컨트랙트를 통해 특정 토큰을 이전할 수 있음 |
거래소 계정 탈취 | 반드시 그렇지는 않음 | 공격자가 온체인 개인키를 얻은 것이 아니라 계정 로그인 후 출금할 수 있음 |
개인키 분실 | 아니오 | 사용자가 개인키에 접근하지 못해 자산을 사용할 수 없을 수 있지만, 타인이 훔쳤다는 뜻은 아님 |
초보자가 기억해야 할 경계선
개인키 보안은 투자 수익률의 문제가 아니라 자산 통제권의 문제입니다. 특정 자산의 가격이 하락하지 않았더라도 개인키가 탈취되면 지갑 안의 자산이 이전될 수 있습니다. 반대로 개인키를 안전하게 보관한다고 해서 거래가 반드시 수익을 낸다는 뜻은 아닙니다. 이는 기술적으로 지갑 통제권을 보호하는 조치입니다.
금액이 크거나, 해외 플랫폼이 관련되어 있거나, 의심스러운 거래가 포함된 경우에는 거래 해시, 주소, 채팅 기록, 웹페이지 스크린샷 등 증거를 보관하고, 보안 전문가, 거래 플랫폼 지원팀 또는 현지 수사기관의 도움을 검토할 수 있습니다.
관련 용어
- 개인키: 거래에 서명하는 데 사용되는 비밀 데이터로, 암호화폐 지갑을 통제하는 핵심 증명 수단입니다.
- 시드 문구: 지갑을 복구하는 데 사용되는 단어 묶음으로, 일반적으로 개인키를 생성할 수 있습니다.
- 공개키 / 지갑 주소: 자산을 받는 데 사용되는 공개 식별자입니다.
- 하드웨어 지갑: 개인키를 전용 기기 안에 보관하는 지갑 형태입니다.
- 피싱 공격: 가짜 웹사이트, 이메일, 메시지 등을 통해 사용자가 민감한 정보를 공개하도록 유도하는 공격입니다.
- 컨트랙트 승인: 사용자가 스마트컨트랙트에 특정 토큰을 사용할 수 있도록 허용하는 온체인 권한 설정입니다.