# 粉塵攻擊詳解

By [Keystone 硬件錢包](https://paragraph.com/@keystonecn) · 2022-06-16

---

**粉塵攻擊（ Dusting Attack ）通過向私人錢包發送極少量的數字貨幣，以將多個地址連接到一個所有者，從而達到不同的目的。雖然這些攻擊方式相對新颖，大部份文章也未能解釋清楚粉塵攻擊的完整邏輯，但是他們對區塊鏈上的隱私構成了重大威脅。**

有一篇[文章](https://ciphertrace.com/crypto-dusting/)推測，粉塵攻擊可能是挫傷交易所數據分析工具的一種方式。文章中提到通過“非法資產對每個地址進行粉塵攻擊，從而玷污幾乎每個用戶的聲譽”。然而，还沒有足夠的證據證明粉塵攻擊能成功擾亂交易所，使貨幣受到“污染”。粉塵攻擊的目標應該是獲取持有大量加密貨幣的個人的隱私或者公司的隱私。

幣安在這篇[文章](https://academy.binance.com/zh/articles/what-is-a-dusting-attack)中對粉塵攻擊做了解釋，“一旦粉塵被觸發，攻擊者就可以根據鏈上記錄追溯到與目標地址關聯的其他地址，最終通過綜合分析這些地址信息，確認目標地址背後的公司或個人。一旦成功，攻擊者可能會利用獲取的用戶隱私對其進行騷擾、恐嚇、釣魚攻擊、威脅攻擊甚至是綁架”。

但是，區塊鏈本身就是透明公開的，那黑客為什麼要實施粉塵攻擊？他又可以通過粉塵攻擊獲取哪些從區塊鏈中看不到的信息呢？

從 [HD 錢包](https://www.investopedia.com/terms/h/hd-wallet-hierarchical-deterministic-wallet.asp)（分層確定性錢包）以及 [UTXO](https://www.investopedia.com/terms/u/utxo.asp)（未花費的交易輸出）的邏輯定義中就能找到答案。本質上，錢包地址中每一筆沒有被花費的金額就叫作「UTXO」，而粉塵攻擊只針對有 UTXO 概念的幣種進行。

舉個例子，有個比特幣愛好者叫大黃，他在 HD 錢包的一個 BTC 地址上存了 500 BTC ，其他地址上還有一些較小數額的 BTC ，用來交易。

![大黃 HD 錢包的快照](https://storage.googleapis.com/papyrus_images/290c9c703740cd4c57535db0b7ba4ed1991048743bc77d1d5219275a76d523fd.png)

大黃 HD 錢包的快照

**（ HD 錢包實際是很復雜的，每個地址下面都有很多不同數額的 UTXO ，為了清楚起見，我們將其簡化）**

> 情況1：如果大黃要發送 3.2 BTC 到幣安，（UTXO-2）+（UTXO-4）= 3.5 BTC 將被發送。（除了要發送的 3.2 BTC ，還需考慮交易費）
> 
> 情況2：如果大黃要發送 1.35 BTC 到 Amazon ，（UTXO-5）+（UTXO-7）= 1.6 BTC 將被發送。
> 
> 情況3：如果大黃要發送 1.2 BTC 給一個朋友，（UTXO-6）+（UTXO-8）= 1.4 BTC 將被發送。

**以上所有交易中，交易的找零（找零 = 實際發送的 UTXO 總和 -（實際發送需求+交易費））將會返回到大黃 HD 錢包裡的新地址上。**

注意，只有最接近发送金额的 UTXO 会被选中发送。

如果大黃想要交易的始終都是 3.2，1.35，1.2 或者其他更小數額的 BTC ，那麼儲存500 BTC 的 UTXO-1 將永遠不會被花費。因此地址-1 不會被關聯到其他已經被花費掉的 UTXO 地址中，大黃也就不會暴露自己到底有多少資產。

接下來粉塵攻擊整裝待發。有個叫小黑的人，盯上了大黃存有 500 BTC 的地址-1，想要找到大黃的真實身份，於是她往地址-1發了一筆粉塵交易（0.000005 BTC）。請注意：即使是粉塵，它也是一筆 UTXO ！之所以稱為粉塵，是因為它的金額小到幾乎無法察覺，甚至可能比最低的交易費還低。這個小黑可能是政府機構，也可能是專門查找數字貨幣持有者身份的從業人員者，甚至可能是個黑客。

![大黃 HD 錢包被粉塵攻擊之後的快照](https://storage.googleapis.com/papyrus_images/32381896e0dd18cd60675f4ddcb51c23a30fcdaf9d174cc0e8814f44813c8ec0.png)

大黃 HD 錢包被粉塵攻擊之後的快照

**大黃沒有察覺到粉塵交易，並繼續與幣安交易、購物、向朋友支付數字貨幣。只要粉塵 UTXO-9 沒有被選中發送，實際上沒有什麽大問題。可是不同的 HD 錢包是可以定義不同的 UTXO 排序規則的，一旦粉塵 UTXO-9 隨某筆交易被選中並廣播到區塊鏈，那它將會暴露地址-1。**

更可怕的是，小黑能夠跟蹤與粉塵地址-1 相關的所有地址，而這個地址上正儲存著 500 BTC 。假設粉塵 UTXO-9 和地址-4 的 UTXO-5 一起被選中發送到交易所，那麽小黑就能夠推斷，地址-4 的所有活動都是大黃所為，然後小黑可以從地址-4 在鏈上的所有歷史交易、訪問的商店、付款記錄、與幣安的交易記錄等信息中確認大黃的真實身份。

如果小黑是一名黑客，事情會更加糟糕。黑客們可以利用粉塵攻擊來篩選受害對象，然後對其進行釣魚攻擊以及網絡勒索。

威脅的新概念
======

比幣安提出的網絡犯罪威脅更大的是利用粉塵攻擊確定目標，然後實施 5 美元扳手攻擊，這種攻擊類型被廣泛認為是最難防範的。如果攻擊者已經知道了您有多少 BTC ，那麼 5 美元扳手攻擊將會給您帶來巨大損失。這就是假設發生粉塵攻擊後最糟糕的結果。

如果有人能知道 BTC 持有者的真實身份，那麼 5 美元扳手攻擊很可能會把您當作攻擊目標，最終是否實施攻擊取決於您儲存的 BTC 數量。有一段時間，加密安全領域的一些人聲稱，購買硬件錢包無異於向任何能夠獲取您的交付信息的人發送自己的信息。當然，如果有人用搶指著你，再專業的硬件也無法防禦。

據我們從媒體報導中了解，大多數 5 美元扳手攻擊都是通過口耳相傳的信息尋找攻擊目標。比如，有人在聚會上喝醉了，開始吹噓自己手裡有多少 BTC ，這就給了攻擊者可乘之機。這種暴露自己信息的方式非常原始，這也可能是迄今為止沒有聽到大量 5 美元扳手攻擊故事的原因，而其他類型的網絡犯罪活動（例如黑客攻擊某交易所）卻日益激增。但是，當粉塵攻擊成為 5 美元扳手攻擊的先行者，威脅似乎變得大了起來，即大量屯幣者會在受到粉塵攻擊後暴露自己的 BTC 數量，這會讓消息靈通的攻擊者開始實施 5 美元扳手攻擊，不過我們目前还未遇到過這樣的情況。

![粉塵攻擊可能導致 5 美元扳手攻擊](https://storage.googleapis.com/papyrus_images/8990a6d93e4474c299480d89c432badc5f334229689fc6d92d3bc857303c7159.png)

粉塵攻擊可能導致 5 美元扳手攻擊

**還應該註意的是，如果黑客是一名政府機關工作人員，他可以利用粉塵攻擊很輕松的知道可疑賬戶背後操控人員的真實身份。他所要做的就是在確認用戶身份後，聯系交易所或直接發送傳票傳喚用戶乖乖配合調查。眾所周知，大多數字貨幣交易所通過** [**KYC 認證**](https://academy.binance.com/zh/articles/what-is-kyc-know-your-customer)**環節收集用戶資料，所以當用戶在個人錢包和交易所賬戶間轉賬時，他們就已經處於非匿名的危險中了。**

如何保護自己的身份信息？
============

粉塵攻擊的對象大多是個人錢包持有者。因此，您可以在手機上啟用錢包應用程序的推送通知，平常多多留意一些不明收入。某些錢包允許用戶把小數額的不明轉入標記為粉塵攻擊，當被標記後，這個粉塵 UTXO 將永遠不會被選中進行交易。

那麼如果您發現您已經遭到了粉塵攻擊使該怎麼辦？您需要將想要隱藏的大額 UTXO 单独转到另一个新的 HD 钱包。如果大額 UTXO 數量比較多，那就需要為每一個大額 UTXO 創建單獨的錢包。為了避免粉塵攻擊再次發生，您可以將大額 UTXO 儲存在 Bitcoin Core 錢包中（在[此處](https://bitcoin.org/en/download)下載），並學習使用如何在構建交易時手動選擇 UTXO ，這樣可以有效篩除粉塵。同時建議您在找到安全花費 UTXO 方法之前不要使用此 HD 錢包。

---

*Originally published on [Keystone 硬件錢包](https://paragraph.com/@keystonecn/91X7XuVF7ArfA2jrrNIt)*
