용어집 / 프라이버시와 보안
더스팅 공격
별칭은 Dusting attack입니다.
- 더스팅 공격이란 무엇입니까?
- 더스팅 공격은 아주 적은 금액을 수천 개의 주소로 뿌려, 발신자가 나중에 어느 주소들이 함께 사용되는지 관찰해 서로 다른 주소를 한 명의 소유자로 연결하는 수법입니다.
공격자는 무언가를 훔치는 것이 아니라 추적 표지를 심고 있습니다. 2019년 8월의 한 캠페인은 단 한 번의 일괄 전송으로 0.00000546 LTC를 294,582개의 Litecoin 주소로 보냈고, 같은 수법이 비트코인에서는 대상 1곳당 수백 사토시로 실행됩니다. 이 더스트는 본인이 사용해야만 효과가 있으므로, 그대로 두는 것만으로 완전한 방어가 됩니다.
작동 방식
이 공격은 체인 분석가들이 모든 트랜잭션에 대해 하는 한 가지 가정에 기대고 있습니다. 두 개의 출력이 같은 트랜잭션의 입력으로 사용되면 한 사람이 두 키를 모두 관리한다는 가정입니다.
그 가정은 보통 맞으며, 서로 무관한 주소 더미를 하나의 지갑 클러스터로 묶는 것이 바로 이 가정입니다. 더스팅 공격은 이 가정을 무기로 사용합니다. 본인이 스스로 연결 고리를 드러내기를 기다리는 대신, 발신자는 자신이 고른 주소에 출력을 심고, 본인의 지갑이 그 외에는 본인과 연결할 수 없던 코인과 함께 이 출력을 쓸어 담기를 기다립니다.
순서는 짧습니다:
- 발신자가 대상을 고릅니다. 거래소에서 나가는 것이 확인된 출금 주소, 공개적으로 게시된 주소, 또는 블록 탐색기에서 긁어 모은 주소 범위 전체입니다.
- 발신자가 각 주소에 네트워크가 중계할 금액을 조금 넘는 수준인 수백 사토시를 지급합니다.
- 수 주 또는 수 개월 동안 아무 일도 일어나지 않습니다.
- 본인의 지갑이 결제를 구성하고, 코인 선택 알고리즘이 작은 출력을 가져갑니다. 작은 출력은 포함 비용이 저렴하기 때문이며, 이제 그 트랜잭션의 다른 모든 입력은 더스트가 심어진 주소와 증명 가능한 관련이 있습니다.
이것을 실용적으로 만드는 것은 비용입니다. 추가 출력 하나는 공격자의 트랜잭션에 가상 바이트 약 31을 더하므로, 5 sat/vB에서는 대상 1,000곳에 수수료로 약 155,000 사토시가 들고 여기에 더스트 자체가 더해집니다. 수천 개의 출력을 몇 개의 트랜잭션으로 묶으면 주소 전체 집단을 감시하는 가격이 식사 한 끼 비용 수준으로 내려갑니다.
설명되지 않는 작은 지급이 모두 감시인 것은 아닙니다. 오늘날 지갑에 들어오는 것의 상당 부분은 트랜잭션 라벨이나 함께 오는 메시지에 URL을 넣은 광고이거나, 유사 주소 사기를 위한 미끼입니다. 대응은 세 경우 모두 같습니다.
비트코인을 구매할 때 이것이 중요한 이유
거래소에서 비트코인을 구매하는 순간이 바로 본인의 신원과 온체인 주소가 같은 곳에 기록되는 시점입니다.
이 사이트가 리뷰하는 모든 대형 거래소는, Kraken과 Coinbase부터 Bitpanda와 Luno에 이르기까지, 출금을 허용하기 전에 신원을 확인합니다. 이는 이 사이트가 다루는 231개국 대부분에서 법률이지, 특정 회사의 특이한 관행이 아닙니다. 이는 익명성 해제의 어려운 부분인 법적 이름과 주소의 연결이 이미 완료되어 규정 준수 데이터베이스에 저장되어 있다는 뜻입니다. 남은 것은 그 첫 주소와 이후 본인이 하는 모든 일 사이의 관계이며, 더스팅 공격이 구축하려는 것이 바로 이것입니다.
실용적인 방어는 지갑 기능이지, 마음가짐이 아닙니다. 코인 컨트롤을 사용하십시오. 이는 소프트웨어가 대신 고르게 하지 않고 개별 출력을 보고 선택할 수 있게 합니다. Sparrow, Electrum, BlueWallet은 더 나아가 출력을 동결하여 자동 코인 선택이 절대 건드리지 못하게 할 수 있으며, Trezor Suite는 매 전송마다 입력을 직접 고를 수 있게 합니다. 더스트가 도착한 날 라벨을 붙이고 동결하면, 잔액에서 영구적인 0이 됩니다.
도구보다 중요한 두 가지 습관이 있습니다. 서로 다른 출처의 출력을 공개적으로 연결되어도 괜찮지 않다면 하나의 트랜잭션으로 통합하지 마시고, 하나의 주소를 재사용하지 말고 매번 새 수신 주소를 사용하십시오. 재사용된 주소는 만료되지 않는 표적이기 때문입니다.
2019년 8월 Litecoin 일괄 전송
대규모 더스팅의 가장 명확한 공개 사례는 비트코인에서 일어나지 않았으며, 그 산수를 읽어 볼 가치가 있습니다.
2019년 8월에 Binance의 보안 팀은 294,582개의 Litecoin 주소가 각각 0.00000546 LTC를 조율된 일괄 전송으로 받았다고 보고했습니다. 곱해 보면, 캠페인 전체가 약 1.6 LTC를 옮겼고 그 달 Litecoin은 80 달러 근처에서 거래되었으므로, 더스트는 수수료 전에 발신자에게 150 달러 미만의 비용이 들었습니다. 그 대가로 발신자는 거의 300,000개의 주소에 한꺼번에 덫을 설치했고, 각 주소는 소유자가 한 번의 부주의한 지출을 하기를 조용히 기다리고 있습니다.
546이라는 수치는 우연이 아니며, 비트코인 더스팅이 지금의 모습을 띠는 이유를 설명합니다. 이는 레거시 출력에 대한 Bitcoin Core의 중계 임계값으로 Litecoin에 복사된 것이며, 공격자들은 그 하한으로 금액을 정합니다. 그보다 높은 사토시는 모두 낭비이기 때문입니다.
더스팅 공격 vs 더스트 한도
더스팅 공격은 행위이고, 더스트 한도는 그 행위가 맞춰지는 규칙입니다. 한도는 네트워크가 전달할 가장 작은 출력을 정하며, 더스팅은 정확히 그 금액만 보내고 그 이상은 보내지 않습니다. 그러나 546 사토시 입금을 공격의 증거로 읽는 것은 실수입니다. 잔돈 출력, 실패한 테스트 결제, 라이트닝 채널 종료는 모두 정당하게 소액을 발생시킵니다.
더스팅 공격 vs 주소 오염
둘 다 설명되지 않는 아주 작은 지급으로 도착하며, 본인에게 정반대의 것을 요구합니다. 더스팅 공격은 본인이 그 코인을 사용하여 다른 코인들이 같은 트랜잭션으로 끌려 들어가기를 원합니다. 주소 오염은 본인이 발신자를 보고 그들의 유사 주소를 본인의 주소 중 하나로 착각하여 향후 결제에 복사하기를 원합니다. 더스팅은 감시이며 본인의 프라이버시를 앗아가고, 오염은 절도이며 본인의 잔액을 앗아갑니다.