前言:本文作者为比特币钱包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/)
二维码是分享数据的一种非常简单的方式。然而,由于代码不是人类可读的,其为欺诈开辟了一条新道路。欺诈可能发生在收款方身上,因为其需要生成带有地址的二维码,但如果发送方使用的是不安全的钱包或者不安全的二维码生成器,那么其也很有可能成为受害者。
我们相信未来会有更多与二维码相关的欺诈性事件,加密货币社区需要解决这些问题,并提出更好的保护措施。