암호화폐 해킹 보안 강화하기
암호화페를 취급하면서 개인 지갑이던 암호화폐 거래소를 이용하던 가장 주의해야할 것은 언제나 해킹에 대비해야 한다는 것입니다. 가장 기초적인 것 부터, 사용이 귀찮아지더라도 안전을 위해서 꼭 살펴봐야할 보안 사항들에 대해서 알아보도록 하겠습니다.
은행의 경우에는 피싱등의 방법으로 교묘하게 사용자를 속여서 자금을 빼가는 방식을 많이 사용하지만, 암호화폐 거래의 경우는 개인 지갑이나 거래소들의 경우는 인터넷에 24시간 연결되어 있는 관계로 전세계 어디에 있던지 간에 노리고 털어갈 수 있습니다. 우선 해킹되는 기본적인 사례들을 살펴보겠습니다.
해당 포스팅은 크립토닷컴의 작가료를 받고 작성이 되었습니다. 서비스에 대한 해석과 의견은 크립토닷컴이 아닌 작가 본인의 분석입니다.
1. 암호화폐 해킹 사례들
1) 암호화폐 지갑의 종류
암호화폐들은 블록체인이라는 기술로 전송이 되는 관계로 해당 블록체인에 접속하면서 자금을 관리하기 위해서는 그 블록체인의 지갑을 사용해야합니다. 이 지갑의 경우는 근본적으로 두가지로 구분해서 볼 수 있는데, 지갑마다 언제나 필수적으로 존재하는 비밀번호 (프라이빗 키)를 자신이 가지고 있느냐, 없느냐의 차이입니다. 암호화폐계에서는 프라이빗키라고 불리는 비밀번호를 자신이 직접 알고 관리를 하고 있다면 이것은 개인 지갑에 해당되며, 중앙화된 거래소나 일부 모바일앱에서 제공되는 지갑 주소들의 경우는 자신이 프라이빗키를 알지 못할 경우에는 실제로 자산을 위탁해서 관리하고 있는 것입니다.
현재까지 알려진 일반적인 암호화폐 지갑들의 경우는 일련의 문자와 숫자들로 이루어지거나(비트코인, 이더리움, 크립토닷컴등), 일부 블록체인은 닉네임등을 주소로 사용할 수 있는 곳도 일부 존재합니다 (스팀, 이오스등).
2) 프라이빗키의 중요성
개인지갑의 해킹은 위에서 설명한 것과 같이 지갑의 주인이 본인입니다. 즉, 개인지갑에 접속하고 자금을 이동하기 위해서는 필수적으로 필요한 프라이빗키가 유출되지 않는 한은 개인지갑이 해킹당할 일이 없다는 것입니다. 개인지갑의 종류에는 여러가지가 있습니다. 이더리움을 예시로 들어보면 마이이더 월렛과 같은 곳에서 그냥 웹상에서 발행하는 방법도 있으며, 스마트폰에서 각종 지갑 앱에서 발행해서 사용하는 방법도 있습니다. 가장 안전한 하드웨어 월렛과 같은 형태로 생성하는 지갑들은 일반적으로 인터넷 연결 없이 지갑을 생성하고 프라이빗키를 공개합니다. 하드웨어 월렛에 대한 추가적인 내용이 궁금하실 경우는 다음 포스팅도 참조하시면 좋습니다.
핫월렛과 콜드월렛의 차이점
핫월렛과 콜드월렛의 근본적인 개념 이해하기
암호화폐를 다루시고 투자하시는 분들은 보통 거래소에 KYC를 통해서 등록하고 암호화폐 자산을 구매하시거나 전송하셔서 거래를 하게 됩니다. 이때 암호화폐를 아는 분들이 자주 언급하는 것
jayreview.tistory.com
이때 주의해야할 것은 어디나 마찬가지지만, 해당 지갑을 생성하는 기기와 장소, 그리고 사용하는 인터넷이 안전한지에 꼭 주의를 해야합니다. 만약 자신이 쓰고 있는 스마트폰이나 PC에 바이러스가 있는지 없는지가 확실하지 않거나, 사용하는 WiFi가 공용등이거나 할때에는 가장 안전한 하드웨어 월렛으로 지갑을 생성해서 사용하시는 것이 가장 안전합니다. 하드웨어 월렛중에는 대부분 해외의 솔류션들이 많이 사용되고 있지만, 빠른 배송과 확실한 한국어 지원이 필요할 경우에는 국내에서 개발생산되고 있으며 1900종이 넘는 암호화폐를 지원하는 디센트의 하드웨어 지갑도 추천됩니다. 필자의 할인코드로 정가의 약 40%정도로 할인된 가격에 구매할 수 있는 링크를 첨부합니다.
하드웨어 월렛과 초기 설정 환경등을 강조하는 이유는 사실상 개인지갑이 해킹당하는 것은 프라이빗키나 지갑 자체가 해킹당하는 것 보다는 프라이빗키가 어떠한 방식으로던 노출이되어서 해킹되는 것이기 때문입니다. 아직까지는 실제로 암호화폐 지갑 자체의 프라이빗키가 해킹되었다는 사례는 사실상 없으나 유출되어서 당하는 경우가 대부분이기 때문입니다.
3) 암호화폐 해킹 방법들
a) 피싱
암호화폐 뿐만 아니라 일반적으로 남의 자금을 갈취하기 위하거나 해킹을 하기 위해서 가장 흔하게 사용되는 방법은 여전히 피싱입니다. 즉, 사용자가 자신의 중요한 정보나 자산을 직접 내주도록 유도하는 낚시 방법입니다. 이것은 웹사이트를 비슷하거나 똑같이 만들어서 프라이빗키를 입력하게 하는 방법부터 아예 암호화폐 거래소를 통째로 만들어내서 자금을 뺏어가는 방식들이 있습니다. 또한 거래소나 지갑을 만든 앱등에서 보낸것처럼 만드는 이메일등을 이용해서 결론적으로는 암호화폐 자금이나 프라이빗키 갈취를 통한 해킹을 시도하는 방식입니다. 유형은 여러가지이나 다음과 같이 구분할 수 있습니다.
- 거래소를 통째로 복사 - 이때는 암호화폐 거래소 URL을 확인해야 하고, SSL (주소창의 자물쇠 모양)등을 확인해야함.
- 이메일을 통해 가짜 사이트 유도 - 거래소등에서 보내는 이메일을 그대로 따라만듬. 링크를 클릭해서 이동하면 가짜 사이트로 이동해서 비밀번호나 프라이빗키등이 유출될 수 있음.
- DNS 해킹 - 주소를 제대로 넣었어도 DNS 서버를 통째로 해킹해버려서 실제 다른 주소로 이동함. 개인 사용자가 당해낼 방법이 사실상 없어서, 가능한 웹상 생성 지갑 (마이이더월렛과 같은) 보다는 하드웨어 월렛을 선호해야하는 이유임. (2018년도 마이이더월렛이 DNS 공격을 당함) 사실 이 방법은 특정 서비스를 공격하는 것 보다는 인터넷 전체를 공격하는 방대한규모의 해킹입니다.
- SNS 이벤트 사칭 - 텔레그램이나 기타 소셜 미디어에서 유명인 행세를 하거나, 유명인이나 공인 계정등을 비슷하게 만들거나 해킹해서 이벤트를 진행. 단속 기간을 줄이기 위해서 아예 라이브 방송등에 유명인 방송을 켜놓고 자막과 댓글등으로 입금을 유도하는 방식도 있음. 보통 얼마를 보내면 2배로 돌려보낸다등의 단순 형태를 띄우고 있지만, 이 방법들도 진화중에 있습니다. 물론 자금을 보내면 다시는 보지를 못합니다.
b) SMS 문자 해킹
거래소의 경우는 일반적으로 2FA를 사용하는 경우가 많은데, 이때 문자 인증을 사용하게 될 경우 이 문자를 해킹해서 암호화폐를 털어가는 방식입니다. 문자를 해킹하는 방법은 여러가지가 있는데, 국내와 해외는 방법들이 조금씩은 다르지만 근본적으로는 기술적으로는 가능한 부분이 있습니다.
- 실질적 도청을 통한 해킹
- SIM 카드 불법 복제를 통한 해킹
- 보이스 피싱을 통해 암호화폐 지갑에 접근해서 해킹
- 스미싱 - 문자와 피싱의 합성어로 문자를 대량 전송하고 거래소와 유사한 웹사이트를 만든후 개인정보 탈취나 악성앱 설치 유도
해외뿐만 아니라 실제 국내 거래소의 경우도 이런 문자 해킹을 통한 피해 사례들은 종종 보고되고 있는 상황입니다.
c) 악성앱, 랜섬웨어, 멀웨어
PC나 스마트폰 둘다 해당이 되지만, 암호화폐 거래등에 사용하는 기기는 가능할 경우 다른 업무에는 사용하지 않는 것이 좋습니다. 특히 거래량이 많거나 금액이 클 경우에는 더욱더 추천됩니다. 이유는 해당 기기 자체가 해킹이되었을 경우에는 개인정보와 퍼블릭키등이 그만큼 빠르고 쉽게 갈취되기 때문입니다.
또한 인터넷을 사용할때도 브라우저에 사용되는 각종 지갑 연동 플러그인등의 경우느 신뢰할 수 있는 곳에서만 다운받고 사용해야합니다. 아예 플러그인 자체가 오염되었거나 보안이 좋지 않아서 해킹되는 경우가 종종 있기 때문입니다.
d) 스마트폰 앱의 보안
지갑이나 거래소에서 제공하는 앱의 경우도 해당 프로젝트의 기술력과 자금력에 따라 가장 중요한 앱의 보안이 얼만큼 좋은지도 봐야합니다. 즉 사용하는 앱에서 API 보안이 약하거나 중요한 개인정보가 앱에 하드코딩되는 경우가 있을 수 있습니다.
자신이 사용하고 있는 암호화폐 앱이나 모바일 지갑에 대한 보안등급 정보나 프로젝트와 거래소의 신뢰성을 꼭 따지고 사용을 하는 것이 권장됩니다.
e) 프라이빗키 갈취
가장 근본적인 해킹 방법은 프라이빗키 자체를 갈취하는 방법입니다. 이는 거래소일 경우에는 핫월렛의 키를 서버 해킹을 통해서 알아내고 갈취하는 방식이 될겁니다. 반대로 개인의 경우에는 여러가지 루트를 통해서 결론적으로 프라이빗키를 도난당할 경우 언제라도 자금이 그 지갑에 있을 경우 갈취가 가능하게 됩니다.
이중에서 가장 위험한 경우가 사실상 초기에 프라이빗키가 노출이 되어버리면서 해커가 큰 자금이 지갑에 있을때 까지 기다렸다가 한꺼번에 털어가는 경우입니다. 아무리 안전한 하드웨어 지갑의 경우도 프라이빗키의 보관 자체가 허술하다면 자금이 안전할 수 없습니다.
2. 암호화폐 보호하기
1) 개인지갑
개인이 직접 관리하는 개인 지갑이냐, 거래소에서 위탁 보관하고 있는 경우 두가지를 봐야합니다. 개인 지갑의 경우에는 매우 간단합니다. 프라이빗키만 안전하게 보관하면 됩니다. 이때 안전하게 보관하는 것의 의미는 다음과 같습니다.
- 클라우드에 저장하지 않는다. (네이버, 드롭박스, 웹하드등)
- 이메일로 보내놓고 저장하지 않는다.
- 스마트폰에 저장하지 않는다. (메모장, 에버노트등)
- PC에 파일로 저장하지 않는다.
와 같은 패턴입니다. 쉽게 생각하면 외부에서 접속이 가능한 곳에는 저장하지 않는것이 맞습니다. 물론 지갑에 접근하기 위해서는 프라이빗키를 매번 입력해야하는 번거로움이 있지만, 이를 보안하기 위해 개인 지갑의 경우도 큰 자금은 콜드월렛 형태로 아예 인터넷과 연결되지 않는 지갑에 보관을 하는 것과, 자주 이동하면서 투자되는 자금의 경우는 핫월렛에 이용하면서 안전한 플러그인이나 모바일 지갑 사용으로 거래에 이용하는 방식입니다.
특히 개인지갑이나 거래소도 비슷하지만, 공용 WiFi에서 사용하지 않는 것이 적극 추천됩니다. 일부 지역에서는 (국내 포함) 해커들이 아예 공용 WiFi에서 망을 켜놓고 스캐닝을 한다는 소문까지 있습니다. 또한 이렇게 집계된 데이터도 그때 곧바로 해킹해서 사용하는 것이 아니라, 자금의 규모가 어느정도 커졌을때 1-3년후에라도 털어가는 경우가 있을 수 있습니다.
2) 암호화폐 거래소 보안
암호화폐 거래소의 경우는 거래소마다 보안 제공을 하는 방식과 규모 정도가 다릅니다. 보안 등급이 높으면서 보안 기술이 좋은 거래소를 사용할 수록 거래소 아이디와 자금이 해킹당할 위험이 그만큼 적어집니다. 투자자들중에 거래소 사용을 하면서 보안을 높이면 높일수록 접근성이 떨어진다는 이유로 보안 항목들을 사용하지 않는 경향들이 있으나, 이는 절대로 추천되지 않는 투자 방식입니다. 한번 털리고 나면 거래소 자체가 털리지 않고는 사실 복구가 불가능하다고 여기는 것이 맞기 때문입니다.
크립토닷컴 거래소의 보안 방식들을 예시로 하나씩 설명을 하겠습니다.
a) 2FA 인증 방법
일반적으로 구글 Auth를 사용하거나 문자 인증등의 방법으로 1차원적인 패스워드 검사뿐만 아니라 2차 인증 수단을 확인하는 방법입니다. 이때 구글 Auth를 사용하시는 분들의 경우는 해당 기기가 분실되거나 앱이 손상되었을 때 복구의 어려움이 있을 수 있는 관계로 2FA 복구가 가능한 Authy와 같은 앱 사용이 추천됩니다. 2FA 조차 지원하지 않는 거래소의 경우는 사용을 심히 고려를 해보는 것이 추천되며 최소한의 보안을 위한 방법입니다.
추가적으로 보통 이메일 인증과 같은 단순 인증 방법도 같이 동원되는 경우가 있고, 새로운 기기 등록등을 위해서 2FA를 포함해서 다중 인증 방법들도 제공되고 있습니다.
b) 화이트리스트 작성
암호화폐 거래소에서 해킹시 가장 위험한 것은 계정이 뚤렸을때 내가 가지고 있는 자금을 거래해서 출금해가는 것입니다. 이때 화이트 리스트 작성을 통해서 인증된 주소로만 자금이 나갈 수 있도록 조정하는 것이 화이트리스트입니다. 이때 주의해야할 것은 화이트리스트 작성 역시 2FA 인증 코드로 최종 컨펌이 된다는 것입니다.
c) 신용하는 기기
최근에 새로 생기는 추세의 기능으로, 사용하는 기기를 인식해서 기기 자체에 대한 정보를 시스템에서 기억하고 있는 것입니다. 새로운 기기로 로그인을 하려고 할 경우 기존의 2FA뿐만 아니라 이메일 인증까지 더해져서 접근성이 떨어지기는 하나, 비신용 기기의 접근시 거래소의 암호, 2FA 뿐만 아니라 거래소와 연동된 이메일 까지 해킹이 완료되지 않았을 때는 접근이 불가능하도록 한 것입니다.
d) 피싱 방지 코드
피싱 이메일로 가짜 사이트 접속을 유도하는 것은 특히 거래소의 규모가 커지거나 유명해질 경우 더욱 빈번하게 일어납니다. 사용자가 많을 경우 무작위로 보냈을 때 걸려들 확률이 높은 이유가 가장 큽니다. 이때 이를 방지하기 위해서 거래소에 자신만이 인식을 할 수 있는 특수 단어를 추가해서 거래소에서 보내는 모든 이메일에는 이 특수 단어가 포함되는 기능입니다. 간단해보이지만, 익숙해지면 해당 거래소에서 보내는 피싱메일을 매우 쉽게 거를 수 있는 방법 중 하나입니다.
3. 결론
어떤 종류의 투자이던지 간에 안전이 매우 중요한 부분을 차지한다는 것은 매번 다시 강조를 해야합니다. 프로젝트의 전반적인 성향이나 안전성 뿐만 아니라, 실질적으로 기술적 안전성과 개인이 해당 자산을 다루는 안전성 역시 고려를 하면서 투자를 해야하는 부분입니다.
- 크립토닷컴 앱 - 비자카드 만들기 레퍼럴 25 USD만큼의 CRO - : platinum.crypto.com/r/jayplayco - 하지만 지금은 가입을 하더라도 한국에서는 카드 발급이 안됨
- 크립토닷컴 거래소 레퍼럴 (최대 50USD 만큼의 CRO 받기) : auth.crypto.com/exchange/signup?ref=jayplayco