术语表 /隐私与安全
剪贴板恶意软件
又称剪贴板劫持程序。
- 剪贴板恶意软件是什么?
- 剪贴板恶意软件潜伏在受感染的电脑或手机上,在您粘贴之前的瞬间,悄悄把您复制的任何比特币地址替换成攻击者的地址。
这是有史以来最省力却仍能获利的恶意软件:它不需要您的密码、助记词,甚至不需要管理员权限。Kaspersky 在2017年11月发布的 CryptoShuffler 木马分析报告称,其获利约为23枚比特币,而在2018年出现的一个家族则内置了230万个地址用于替换。替换发生时屏幕上没有任何变化,因此唯一可靠的防范办法是在粘贴之后核对地址。
运作方式
剪贴板是一块共享的暂存区,在大多数桌面系统上,任何正在运行的程序都可以不经许可地读取和写入它。
剪贴板劫持程序(clipper)是一个小型后台进程,会轮询这块暂存区,通常每秒数次。当内容与它能识别的格式相符时,它就会把内容覆盖掉。格式匹配非常简单,因为加密货币地址本身就带有明显特征:比特币传统地址以1开头,脚本地址以3开头,原生 SegWit 以 bc1q 开头,Taproot 以 bc1p 开头,以太坊地址以 0x 开头,后接40个十六进制字符。该恶意软件为每种格式各备一个攻击者地址,使替换后的地址始终看起来合理;做工更精细的版本会选出与您所复制地址开头字符重合最多的替代地址,借用的正是让相似地址得以奏效的手法。
感染途径很普通,并不特殊。包括破解软件和游戏外挂,通过搜索广告投放的虚假钱包或交易应用下载,带有剪贴板权限的恶意浏览器扩展,以及以近似热门库名称发布到软件仓库的被投毒软件包。在移动端,应用曾可以在后台读取剪贴板而不被察觉;2021年的 Android 12开始在应用读取剪贴板时显示通知,Apple 也在 iOS 14中加入了类似的粘贴提示横幅。正因为有这些提示,如今移动端的剪贴板劫持程序往往藏在完整的虚假钱包应用之中。
后果是彻底的。付款确认之后(大约十分钟),比特币网络中没有任何机制可以追回,而攻击者的地址是全新的,与其他任何信息都没有关联。
在哪里会遇到它
剪贴板恶意软件只在您复制地址的那几个时刻才能得手,而这些时刻是可以预见的。
从交易所提币到您自己的钱包是最主要的场景,也是最容易防范的一种。请在头脑清醒时,把目标地址登记到交易所的提币白名单中,这样被替换的地址之后会直接被拒绝。Kraken、Coinbase 和 Binance 均支持此功能。
支付账单或向商家付款是第二种场景。能扫描二维码时,请尽量扫码而不是复制文本,因为收款方生成的二维码不会经过您的剪贴板。需要注意,被入侵的浏览器也可能在网页上重绘二维码,因此在您不信任的设备上,应把这两种方式视为同样可疑。
使用硬件钱包发送时,这种攻击就会失效,这也是持有硬件钱包的理由。Trezor 和 Ledger 设备会在自带的小屏幕上显示目标地址,并要求按下实体按键才能批准。该屏幕由设备本身驱动,而不是由受感染的电脑驱动,因此剪贴板劫持程序可以改变桌面应用显示的内容,却无法改变要求您确认的内容。请以设备屏幕为准,而不是显示器。
还有两个习惯可以堵住剩下的缺口。除了地址的前四位和后四位之外,也要比对地址中间部分的字符,因为攻击者针对的是首尾。此外,如果粘贴后出现了您没有预料到的地址,请停下来,把这台设备视为已被入侵,而不要再次粘贴,因为失败过一次的剪贴板劫持程序会毫不犹豫地在下一次再试。