前言:本文作者為比特幣錢包ZenGo團隊。他們在計劃為錢包新增二維碼功能的過程中發現網路上很多二維碼生成網站都存在問題,使用者在使用這些網站生成的二維碼時會造成丟幣的情況。因此ZenGo團隊分析了一些常見的欺詐方式,希望為使用者提個醒。
不久後,我們將為ZenGo錢包新增二維碼功能。為此,我們對二維碼進行了深入研究。
和往常一樣,我們還研究了這個功能的安全性,並發現了一些與QR相關的欺詐活動。我們想了解這是否屬於普遍現象,令人驚訝的是,當我們在谷歌進行查詢時,前5個結果中有4個都導向欺詐網站。
這些網站在生成二維碼之後會內建一個由欺詐者控制的地址,而不是使用者設定的地址,從而將所有透過這個二維碼的資金流向欺詐者。
為了保護使用者資金安全,我們與幾家威脅情報供應商分享了我們研究所得的技術細節。
(谷歌搜尋結果顯示:排名第二位和第三位的網站都是欺詐)
幣圈的二維碼
根據cryptocurrencyfacts.com:二維碼是在兩臺裝置之間傳輸加密貨幣時共享地址的一種簡單、快速和安全的方式。這在面對面的pos(零售終端)交易中特別有用,因為複製貼上地址不太現實,而且這種方式避免了手工輸入複雜地址的風險(如果你輸錯了一個字元,交易就不可能完成)。
收款方需要展示選定加密貨幣地址的二維碼。無論是透過商業軟體還是錢包app,生成二維碼的過程是由軟體完成的。
傳送方需要掃描收款方的二維碼。具體的過程是,他們需要開啟存有特定加密貨幣的錢包app,輸入傳送金額,點選二維碼選項,掃描收款方的二維碼來獲取地址,確認資訊(傳送數量和地址),然後確認交易。
常見的欺詐套路
這種行騙方式太簡單了。透過二維碼生成器嵌入欺詐者的地址,而很多受害者甚至沒有意識到被騙。
我們為地址18Vm8AvDr9Bkvij6UfVR7MerCyrz3KS3h4生成了一個二維碼。
(提交的地址是18Vm8AvDr9Bkvij6UfVR7MerCyrz3KS3h4)
但我們得到的卻是與另一個地址匹配的二維碼。
(實際生成的地址是17bCMmLmWayKGCH678cHQETJFjhBR44Hjx)
如圖所示,一個有趣的現象是,騙子甚至不需要自己生成假二維碼,而是無恥地呼叫區塊鏈瀏覽器的API來生成地址的二維碼。
騙子使用的額外技巧
一些欺詐者不僅會建立帶有自己地址的二維碼,還會在他們的騙局中新增一些額外的“花樣”:
適應各種地址格式:比特幣支援多種地址格式。最值得注意的是,普通地址以“1”開頭,P2SH地址以“3”開頭,Bech32地址以“bc”開頭。一些欺詐性網站會根據申請者的地址格式建立二維碼,如果受害者並未仔細進行確認,就很難發現其中存在的問題。
更改剪貼簿地址:一些欺詐性網站把他們的地址放在剪貼簿上,所以如果受害者透過複製貼上的形式來驗證二維碼,這種方式就會讓他們誤以為地址真的是自己的。
(實現上述欺詐方式的Javascript程式碼)
這種行騙方式有效嗎?當然
由於比特幣區塊鏈是公開的,我們收集到了一些關於此類騙局的統計資料。
其中一個欺詐地址:活躍2個月,共有21筆交易,收益0.58 BTC(來源:blockchain.com)
欺詐者套現:將資金從欺詐地址轉移到他們的錢包(來源:btc.com)
我們收集的資料顯示,此類騙局已經導致至少2萬美元的損失。這很可能只是冰山一角,因為欺詐者可能會經常更改地址,以避免被發現或被列入黑名單。
使用者應該怎麼做?
如果你需要生成二維碼:
不要谷歌!如果你需要生成二維碼,最好用你比較熟悉的網站,例如你最常用的區塊瀏覽器。
仔細驗證:在發出這個二維碼之前,先用錢包app掃描一遍,驗證地址的準確性。
威脅情報服務很重要:在瀏覽器外掛和錢包中新增威脅情報服務(例如MetaCert的Cryptonite),這類服務可以在使用者訪問欺詐網站和地址時發出警報,有時是有用的,但不是靈丹妙藥,因為這些服務的覆蓋範圍有限。
目前發現的欺詐資訊如下:
17bCMmLmWayKGCH678cHQETJFjhBR44Hjx(hxxps://bitcoinqrcodegenerator.net/)
14ZGdFRaCN8wkNrHpiYLygipcLoGfvUAtg,35mJx4EeEY7Lnkxvg1Swn1eSUN1TtQsQ3,bc1qs4hcuqcv4e5lcd43f4jsvyx206nzkh4az05nds(hxxps://btcfrog.com/)
1KrHRyK9TKNU4eR5nhJdTV6rmBpmuU3dGw(hxxps://bitcoin-qr-code.net)
1Gg9VZe1E4XTLsmrTnB72QrsiHXKbcmBRX(hxxps://mybitcoinqrcode.com/)
二維碼是分享資料的一種非常簡單的方式。然而,由於程式碼不是人類可讀的,其為欺詐開闢了一條新道路。欺詐可能發生在收款方身上,因為其需要生成帶有地址的二維碼,但如果傳送方使用的是不安全的錢包或者不安全的二維碼生成器,那麼其也很有可能成為受害者。
我們相信未來會有更多與二維碼相關的欺詐性事件,加密貨幣社羣需要解決這些問題,並提出更好的保護措施。