가짜 MetaMask(Android/Clipper.C) 사례
2019년 2월 8일 사이버 보안 회사인 Eset은 분산 응용프로그램(Decentralized App, DApp)에서 널리 사용되는 MetaMask를 가장한 가짜 MetaMask(Android/Clipper.C 라고 명명됨)가 Google Play에 등록된 것을 보고하였다. 이 가짜 MetaMask(Fake MetaMask)는 크게 2가지의 Malware 기능을 가지고 있었는데, (1) 사용자의 암호와 암호화폐의 개인키(private key)를 훔쳐 Ethereum 코인을 훔치는 기능과 (2) 클립보드에 암호화폐 주소가 복사되면 이를 해커의 암호화폐 주소로 치환하는 기능(이를 클리퍼(Clipper) 혹은 Clipboard Hijacking이라고 부름)을 가지고 있었다.
첫번째 기능은 가짜 MetaMask 프로그램 상에 입력되거나 새로 생성된 개인키(private key)를 훔치는 것으로 이것이 가짜 MetaMask의 주요 기능이었다. Malware임을 모르고 사용자가 가짜 MetaMask 프로그램으로 Ethereum 이나 ERC20 토큰을 옮기면 해커가 쉽게 이를 훔칠 수 있게 된다.
두번째 기능인 클리퍼 기능은 클립보드 기능을 악용한 것으로 Ethereum 주소나 Bitcoin 주소가 클립보드에 복사되는 것을 낚아 채는 기능이었다. 사용자는 흔히 (QR코드를 직접 사용하지 않는 한) 암호화폐 주소를 클립보드에 복사해서 붙여넣기를 하는데, 이를 악용하여 클립보드 내용을 바꿔치기 해서 붙여넣기(paste)를 할 때 해커의 주소를 대신 집어 넣는 것이다. 만약 붙여넣기 후 사용자가 Paste된 주소를 다시 확인하지 않고 보내기(Send) 버튼을 누르면, 암호화폐는 해커의 주소로 보내지게 된다.
Android/Clipper.C 사례의 Lesson
만약 Android/Clipper.C와 같은 Malware를 다운로드 받았다면, 개인키를 도난 당하는 것을 피할 수 없으므로, 기본적으로 Malware를 다운받지 않는 것이 중요하다. 최근에 등록된 프로그램이나 다운로드 횟수가 작은 프로그램은 특히 주의할 필요가 있다.
또한, 클리퍼로 인한 피해를 막기 위해서 클립보드에 Copy/Paste를 한 경우에는 항상 코인을 보내기 전에 수신자가 주소가 맞는지 재확인할 필요가 있다.