본문으로 건너뛰기
buybitcoinsmart

용어집 / 프라이버시와 보안

클립보드 악성코드

별칭은 클리퍼 악성코드입니다.

클립보드 악성코드란 무엇입니까?
클립보드 악성코드는 감염된 컴퓨터나 휴대전화에 상주하며, 복사한 비트코인 주소를 붙여넣기 직전에 공격자의 주소로 조용히 바꿔치기합니다.

이는 지금까지 작성된 악성코드 중 가장 손쉬운 수익형 악성코드입니다. 비밀번호도, 시드도, 심지어 관리자 권한도 필요로 하지 않습니다. Kaspersky가 2017년 11월에 CryptoShuffler 트로이 목마를 분석한 글에서는 그 수익을 약 23 비트코인으로 집계했고, 2018년의 한 계열은 바꿔치기할 주소 230만개를 하드코딩된 목록으로 담고 있었습니다. 바꿔치기가 일어나도 화면에서는 아무것도 달라지지 않으므로, 유일하게 신뢰할 수 있는 방어는 붙여넣은 뒤 주소를 확인하는 것입니다.

작동 방식

클립보드는 공유 메모장이며, 대부분의 데스크톱 시스템에서는 실행 중인 어떤 프로그램이든 허가를 묻지 않고 이를 읽고 쓸 수 있습니다.

클리퍼는 이러한 메모장을 보통 1초에 몇 번씩 조회하는 작은 백그라운드 프로세스입니다. 내용이 인식하는 패턴과 일치하면 이를 덮어씁니다. 패턴 일치는 아주 간단합니다. 가상자산 주소는 스스로를 드러내기 때문입니다. 비트코인 레거시 주소는 1로 시작하고, 스크립트 주소는 3으로, 네이티브 SegWit 주소는 bc1q로, Taproot 주소는 bc1p로, 이더리움 주소는 0x 뒤에 16진수 문자 40개가 이어집니다. 악성코드는 형식마다 공격자 주소를 하나씩 보관해 바꿔치기가 항상 그럴듯해 보이게 하며, 더 정교하게 만들어진 버전은 복사한 주소와 앞부분을 가장 많이 공유하는 대체 주소를 골라, 유사 주소가 통하는 방식을 빌려 씁니다.

감염 경로는 이국적이기보다 평범합니다. 크랙된 소프트웨어와 게임 치트, 검색 광고를 통해 배포되는 가짜 지갑 또는 거래 앱 다운로드, 클립보드 권한을 가진 악성 브라우저 확장 프로그램, 인기 라이브러리와 비슷한 이름으로 소프트웨어 저장소에 게시된 악성 패키지 등입니다. 모바일에서는 한때 앱이 백그라운드에서 들키지 않고 클립보드를 읽을 수 있었습니다. Android 12는 2021년부터 앱이 이를 수행할 때마다 알림을 표시하기 시작했고, Apple은 iOS 14에 이에 준하는 붙여넣기 배너를 추가했습니다. 이러한 경고 때문에 모바일 클리퍼는 이제 완전한 가짜 지갑 앱 안에 담겨 오는 경향이 있습니다.

피해는 전면적입니다. 결제는 대략 10분 뒤에 확인되는데, 확인되고 나면 비트코인 어디에도 이를 되돌릴 기제가 없으며, 공격자의 주소는 새것이고 그 무엇과도 연결되어 있지 않습니다.

나타나는 상황

클립보드 악성코드는 주소를 복사하는 몇 안 되는 순간에만 제값을 하며, 그 순간은 예측 가능합니다.

거래소에서 자신의 지갑으로 출금할 때가 가장 큰 경우이며, 방어하기도 가장 쉽습니다. 마음이 안정된 상태에서 출금 화이트리스트에 목적지를 등록해 두면, 바꿔치기된 주소는 나중에 그저 거부됩니다. Kraken, Coinbase, Binance 모두 이를 지원합니다.

청구서를 결제하거나 판매자에게 결제하는 것이 두 번째입니다. 가능하면 텍스트를 복사하는 대신 QR 코드를 스캔하십시오. 수취인이 생성한 코드는 클립보드에 닿지 않기 때문입니다. 감염된 브라우저는 웹 페이지의 QR 코드도 다시 그릴 수 있으므로, 신뢰하지 않는 기기에서는 두 경로를 똑같이 의심해야 합니다.

하드웨어 지갑에서 보내는 경우가 바로 이 공격이 무력해지는 지점이며, 하드웨어 지갑을 보유해야 하는 이유입니다. Trezor와 Ledger 기기는 목적지 주소를 자체의 작은 화면에 표시하고 승인하려면 물리적 버튼을 눌러야 합니다. 그 화면은 감염된 컴퓨터가 아니라 기기가 구동하므로, 클리퍼가 데스크톱 앱에 표시되는 내용을 바꿀 수는 있어도 확인을 요구받는 내용을 바꿀 수는 없습니다. 모니터가 아니라 기기 화면을 읽으십시오.

두 가지 습관이 남은 틈을 막습니다. 주소의 처음과 마지막 네 글자뿐 아니라 가운데 글자도 비교하십시오. 공격자는 양끝에 맞춰 최적화하기 때문입니다. 그리고 붙여넣기 결과가 예상하지 못한 주소라면, 다시 붙여넣지 말고 그 기기를 감염된 것으로 간주하고 멈추십시오. 한 번 실패한 클리퍼는 다음 시도에서도 기꺼이 다시 시도하기 때문입니다.

혼동하기 쉬운 용어

자주 묻는 질문

백신 소프트웨어가 클립보드 악성코드를 막을 수 있습니까?

때로는 막지만, 안정적으로 막지는 못합니다. 클리퍼는 크기가 작고 자주 다시 작성되며, 클립보드 읽기는 정상적인 동작이므로 스캐너가 보기에 명백히 악의적인 행동을 하지 않습니다. 하드웨어 지갑 화면에서 목적지를 확인하는 방법은 컴퓨터가 완전히 감염된 경우에도 효과가 있습니다.

소액 테스트 거래만으로 충분한 보호가 됩니까?

그것만으로는 충분하지 않습니다. 일부 클리퍼는 테스트가 성공하고 그 뒤에 오는 큰 결제가 바꿔치기되도록 일부러 소액은 건드리지 않습니다. 테스트가 통과했다는 사실로 안전을 추정하지 말고 주소 자체를 확인하십시오.

다음에 읽을 글

관련 용어

프라이버시와 보안 분야의 다른 용어

이 페이지를 영어로 읽기