디지털 자산 보안 인사이트
2022년 1월, 한 암호화폐 투자자가 SNS에 절규에 가까운 글을 올렸다. 5년간 모은 비트코인과 이더리움, 총 2억 원 상당의 자산이 하루아침에 사라진 것이다. 그는 이메일에 도착한 '긴급 보안 업데이트' 링크를 클릭했고, 그게 전부였다. 가짜 메타마스크 사이트에서 시드 문구를 입력한 순간, 지갑의 모든 자산이 공격자의 주소로 전송됐다. 경찰에 신고했지만 블록체인의 익명성 때문에 범인을 추적할 수 없었고, 한 번 전송된 자산은 되돌릴 방법이 없었다. 이런 일은 매일 일어나고 있다. 2023년 한 해에만 개인 지갑 해킹으로 인한 피해액이 3억 달러를 넘어섰고, 그 대부분이 기본적인 보안 수칙만 지켰어도 막을 수 있는 사고였다.
디지털 자산 투자에서 가장 중요한 것은 거래 타이밍도, 코인 선택도 아닌 바로 지갑 보안이다. 전통 금융에서는 은행 계좌가 해킹당해도 은행이 책임지고 보상해주지만, 암호화폐 세계에서는 자신의 지갑을 지키는 것이 전적으로 본인의 책임이다. "Not your keys, not your coins"라는 말이 있다. 개인키를 가지고 있지 않으면 그 자산은 진정한 의미에서 당신 것이 아니라는 뜻이다. 거래소에 자산을 보관하는 것도 편리하지만, 거래소가 해킹당하거나 파산하면 자산을 잃을 수 있다. FTX 사태가 대표적인 예다. 결국 개인 지갑을 안전하게 관리하는 능력이 디지털 자산 투자자의 생존 조건이 된 셈이다.
개인 지갑은 크게 핫월렛과 콜드월렛으로 나뉜다. 핫월렛은 인터넷에 연결된 지갑으로, 메타마스크나 트러스트월렛 같은 소프트웨어 지갑이 여기 해당한다. 사용이 편리하고 DeFi 프로토콜과의 연동이 쉽다는 장점이 있지만, 항상 온라인에 노출되어 있어 해킹 위험이 높다. 반면 콜드월렛은 인터넷과 분리된 하드웨어 지갑으로, 렉저나 트레저 같은 USB 형태의 기기가 대표적이다. 물리적으로 분리되어 있어 원격 해킹이 거의 불가능하지만, 사용할 때마다 기기를 연결해야 하는 불편함이 있다. 보안과 편의성은 언제나 트레이드오프 관계다.
추가적으로, 핫월렛과 콜드월렛에 대해서는 이전에 다루었던 글이 있으니 더 자세하게 알고싶다면 참고하면 좋겠다.
지갑 보안의 핵심은 시드 문구, 즉 니모닉 프레이즈를 안전하게 관리하는 것이다.
시드 문구는 보통 12개 또는 24개의 영어 단어로 구성되며, 지갑을 복구할 수 있는 마스터 키 역할을 한다. 개인키와 달리 기억하고 기록하기 쉽도록 만들어졌지만, 바로 그 점 때문에 공격자들의 주요 타깃이 된다. 시드 문구만 있으면 누구든 지갑의 모든 자산에 접근할 수 있기 때문이다. 절대로 디지털 형태로 저장해서는 안 된다. 클라우드에 메모해두거나, 이메일로 자신에게 보내거나, 스크린샷을 찍어두는 것은 자살 행위다. 해커들은 클라우드 계정을 뚫거나 멀웨어로 기기를 감염시켜 이런 정보를 탈취한다.
가장 안전한 방법은 종이에 손으로 적어 물리적으로 안전한 곳에 보관하는 것이다. 단순해 보이지만 가장 효과적이다. 두세 군데에 복사본을 만들어 분산 보관하되, 같은 공간에 모두 두지 않는다. 집에 화재가 나거나 도난당할 경우를 대비해 은행 금고나 가족의 집처럼 물리적으로 떨어진 장소에 보관한다. 일부 투자자들은 금속판에 각인하는 방식을 사용하기도 한다. 종이는 불에 타거나 물에 젖을 수 있지만, 스테인리스 금속판은 극한 상황에서도 견딜 수 있다.
시드 문구를 나눠서 보관하는 방법도 있다. 24개 단어를 12개씩 두 부분으로 나눠 서로 다른 장소에 보관하면, 한 곳이 노출되더라도 지갑에 접근할 수 없다. 다만 이 경우 한 부분을 잃어버리면 복구가 불가능해지므로 각 부분을 다시 복사해 총 4군데 정도에 분산 보관하는 것이 안전하다. 샤미르 시크릿 셰어링 같은 고급 기법을 사용하면 시드 문구를 여러 조각으로 나누고, 일정 개수 이상의 조각을 모아야만 복구할 수 있도록 설정할 수도 있다.
피싱 공격은 개인 투자자가 가장 자주 당하는 해킹 유형이다. 공격자들은 점점 더 정교해지고 있다. 공식 이메일 주소를 완벽히 모방하고, 실제 웹사이트와 구별하기 어려운 가짜 사이트를 만든다. 메타마스크 업데이트, 에어드롭 지급, 보안 문제 발견 등 다양한 명목으로 링크를 클릭하게 만든다. 링크를 클릭하면 진짜와 똑같이 생긴 가짜 사이트가 나타나고, 거기서 지갑 연결이나 시드 문구 입력을 요구한다.
피싱을 피하는 첫 번째 원칙은 링크를 함부로 클릭하지 않는 것이다. 이메일이나 텔레그램, 디스코드에서 받은 링크는 아무리 공식적으로 보여도 의심해야 한다. 필요한 사이트는 직접 검색하거나 북마크해둔 주소로 접속한다. URL을 꼼꼼히 확인하는 습관도 중요하다. upbit.com과 upblt.com, metamask.io와 metamask.io(실제로는 유니코드 문자) 같은 차이를 놓치기 쉽다. 브라우저 주소창의 자물쇠 표시와 HTTPS 프로토콜도 확인해야 하지만, 이것만으로는 충분하지 않다. 피싱 사이트도 SSL 인증서를 발급받을 수 있기 때문이다.
어떤 상황에서도 시드 문구를 웹사이트에 입력해서는 안 된다. 정상적인 서비스라면 절대로 시드 문구를 요구하지 않는다. 메타마스크나 다른 지갑 서비스가 업데이트를 위해 시드 문구를 달라고 하는 일은 없다. 에어드롭을 받기 위해 시드 문구가 필요하다는 것도 100% 사기다. 지갑을 연결할 때도 신중해야 한다. DeFi 프로토콜에 지갑을 연결할 때는 해당 사이트가 정말 공식 사이트인지 재확인하고, 어떤 권한을 요청하는지 꼼꼼히 읽어야 한다. 무제한 승인을 요청하는 경우 특히 조심해야 한다.
멀웨어와 키로거도 심각한 위협이다. 컴퓨터나 스마트폰에 악성 프로그램이 설치되면 입력하는 모든 내용이 공격자에게 전송될 수 있다. 불법 소프트웨어를 다운받거나, 출처가 불분명한 앱을 설치하거나, 의심스러운 광고를 클릭하는 순간 감염될 수 있다. 암호화폐 투자에 사용하는 기기는 가능한 한 다른 용도로 사용하지 않는 것이 좋다. 적어도 지갑 앱이 설치된 기기에서는 토렌트를 사용하거나 크랙 프로그램을 설치하지 않아야 한다.
백신 프로그램을 항상 최신 상태로 유지하고, 운영체제와 브라우저도 수시로 업데이트한다. 브라우저 확장 프로그램도 위험 요소다. 메타마스크를 사칭한 가짜 확장 프로그램이 크롬 웹스토어에 올라오는 경우도 있다. 다운로드 횟수가 많고 평점이 높다고 무조건 안전한 것은 아니다. 공식 웹사이트에서 링크한 확장 프로그램인지 반드시 확인해야 한다. 설치된 확장 프로그램도 주기적으로 점검해서 사용하지 않는 것은 삭제한다.
하드웨어 지갑은 높은 수준의 보안을 제공하지만, 올바르게 사용해야 안전하다. 렉저나 트레저 같은 제품은 반드시 공식 웹사이트나 공식 리셀러에서 구매해야 한다. 중고 제품이나 마켓플레이스에서 판매하는 제품은 이미 조작되어 있을 수 있다. 기기를 받으면 포장이 개봉된 흔적이 없는지 확인하고, 초기 설정 과정에서 시드 문구가 미리 생성되어 있으면 절대 사용하지 않는다. 시드 문구는 반드시 본인이 직접 생성해야 한다.
하드웨어 지갑을 사용할 때도 피싱에 주의해야 한다. 컴퓨터가 멀웨어에 감염되어 있으면 화면에 표시되는 수신 주소가 공격자의 주소로 바뀔 수 있다. 반드시 하드웨어 지갑 화면에 표시되는 주소와 컴퓨터 화면의 주소를 대조 확인해야 한다. 큰 금액을 전송할 때는 먼저 소액을 테스트로 보내보는 것도 좋은 습관이다. 하드웨어 지갑의 펌웨어도 정기적으로 업데이트하되, 업데이트 파일은 반드시 공식 사이트에서 다운받는다.
2단계 인증은 거래소 계정을 보호하는 필수 장치다. SMS 인증보다는 구글 인증기(Google Authenticator)나 오시(Authy) 같은 앱 기반 인증을 사용하는 것이 안전하다. SMS는 심스와핑 공격에 취약하기 때문이다. 공격자가 통신사를 속여 전화번호를 자신의 유심으로 이전하면 모든 SMS를 가로챌 수 있다. 2단계 인증 백업 코드는 시드 문구만큼이나 중요하다. 휴대폰을 잃어버리거나 고장 나면 백업 코드 없이는 계정에 접근할 수 없다. 백업 코드도 안전한 곳에 물리적으로 보관한다.
비밀번호 관리도 중요하다. 같은 비밀번호를 여러 사이트에서 재사용하면 한 곳이 뚫렸을 때 모든 계정이 위험해진다. 각 계정마다 다른 비밀번호를 사용하되, 1Password나 Bitwarden 같은 비밀번호 관리자를 활용하면 편리하다. 비밀번호는 12자 이상의 복잡한 조합으로 만들고, 생일이나 이름처럼 추측 가능한 정보는 피한다. 거래소나 지갑 서비스에서 의심스러운 로그인 시도가 있었다는 알림이 오면 즉시 비밀번호를 변경한다.
소셜 엔지니어링 공격도 조심해야 한다. 공격자들은 기술적 해킹 대신 사람을 속이는 방법을 사용하기도 한다. 고객센터 직원을 사칭해 전화를 걸어 계정 정보를 물어보거나, 텔레그램이나 디스코드에서 관리자 행세를 하며 개인 메시지를 보낸다. 공식 고객센터는 절대로 먼저 연락해서 비밀번호나 시드 문구를 묻지 않는다. 도움이 필요하면 본인이 직접 공식 채널로 문의해야 한다. 디스코드나 텔레그램에서 누군가 먼저 DM을 보내며 도움을 주겠다고 하면 사기일 확률이 높다.
지갑 주소를 복사해서 붙여넣을 때도 주의가 필요하다.
클립보드 하이재킹 멀웨어는 복사한 주소를 공격자의 주소로 바꿔치기한다. 주소를 붙여넣은 후에는 반드시 앞뒤 몇 자리를 육안으로 확인해야 한다. 암호화폐 주소는 길고 복잡해서 전부 확인하기 어렵지만, 최소한 앞 6자리와 뒤 6자리 정도는 대조하는 습관을 들이는 것이 좋다.
디지털 자산 보안은 한 번 설정하고 끝나는 것이 아니라 지속적인 관심과 노력이 필요한 영역이다. 새로운 공격 기법이 계속 등장하고, 기술도 발전하기 때문에 최신 보안 동향을 파악하고 있어야 한다. 하지만 대부분의 해킹은 복잡한 기술이 아니라 기본적인 실수에서 비롯된다. 의심스러운 링크를 클릭하거나, 시드 문구를 디지털로 저장하거나, 같은 비밀번호를 재사용하는 것처럼 말이다.
디지털 자산 투자에서 가장 중요한 것은 수익률이 아니라 자산을 지키는 것이다.