比特币地址投毒攻击
地址投毒攻击是一种社会工程学攻击形式,恶意行为者通过利用钱包界面显示和存储地址的方式,试图诱骗用户将加密货币发送到错误的地址(由攻击者控制)。
攻击原理
攻击者会生成一个与受害者最近使用地址非常相似的比特币地址——特别是地址的开头和结尾部分,这些部分通常是许多钱包中唯一可见的部分。这是如何实现的?通过暴力破解方式,生成并丢弃大量私钥。目前有许多免费的虚荣地址生成工具可以完成此任务。
接下来,攻击者会向该地址存入少量加密货币,通常价值不到一美元。
然后,他们通过从这个相似地址向受害者地址发送资金来"毒化"目标的交易历史。以下是一些投毒交易示例:
当受害者后来想要发送资金时,可能会天真地从其交易历史记录中复制先前使用的地址,而没有意识到这是攻击者的伪造地址。
结果:受害者错误地自愿将资金发送到攻击者的地址,而攻击者则保留被盗资金。
为何有效
- 人为错误:人们通常依赖部分地址匹配,不会检查完整字符串
- 钱包用户体验:许多钱包界面会缩短地址,使得视觉确认不可靠
- 交易历史快捷方式:有些用户直接从过去的交易列表中复制地址而不进行验证
实际攻击案例
我编写了一个脚本,扫描整个区块链历史,查找具有1个输入和1个输出的交易,其中输入和输出地址的前4个和后4个字符相匹配。
首次出现此类交易是在区块797570(2023年7月7日),其中包含36笔此类交易。然后在区块819455(2023年12月12日)之前一直保持安静,之后我们可以发现这些交易定期爆发,直到区块881172(2025年1月28日)。然后中断了2个月,之后又重新开始。
在这18个月期间,共有近48,000笔交易符合这种潜在的地址投毒特征。
每笔交易仅占用100到200虚拟字节。总共占用6,654,534虚拟字节的区块空间,大约相当于4个区块的空间。
- 粉尘输出花费:0.06840502 BTC
- 手续费花费:0.22305335 BTC
- 总计:0.29145837 BTC = 按当前汇率计算约25,000美元
值得注意的是,这种"广撒网"式的粉尘攻击只有在低手续费环境下才经济可行,比如我们最近看到的情况。在1 sat/vb的手续费下可能合理,但在100 sat/vb下就会变得极其昂贵。
脚本类型
我观察到攻击者向P2PKH、P2SH和P2WKH地址发送资金,但没有发现P2TR地址收到存款。
攻击成功率
我编写了一个脚本来检查发现的每个恶意"投毒"地址,看看是否有任何地址在攻击交易的初始存款和取款之后收到了存款。
看起来恶意地址bc1qr9wuw4zkjflet80lr9cr5ec8620c4fg52wua0h成功欺骗了目标受害者地址bc1qr9xkxanfstzqpfd5ce0t3evwc45pnmsr2wua0h,使其向他们发送了0.1 BTC。
成功地址投毒攻击总数:bc1qr9wuw4zkjflet80lr9cr5ec8620c4fg52wua0h,金额0.1 BTC
回报率不高,至少目前如此!花费了近0.3 BTC才赚取0.1 BTC。当然,另一种看待方式是48,000次尝试中成功1次。那一次成功的欺骗可能很容易带来更高的投资回报率,因为花费资金的地址持有近8 BTC,这可能使整个项目盈利。
值得注意的是,地址投毒可能与密钥盗窃结合使用,以欺骗多签共同签署人将4,503 BTC从交易所发送到攻击者手中,尽管这有些推测性,超出了我的研究范围。
受害者画像
被投毒攻击的目标地址有什么特征?很难看出任何特定模式,不过我怀疑攻击者只关注过去一年左右有活动记录的地址。
我遇到的最大惊喜是,12,199个目标地址从未花费过资金!这似乎是一个相当愚蠢的疏忽——如果我进行此类攻击,我宁愿针对那些进行多次花费的地址,最好是向相同地址进行花费,以增加人类花费者被欺骗的可能性。
毫不奇怪,大多数花费资金的目标地址每笔交易发送的金额少于10 BTC。
大多数目标地址的存款次数少于10次。
总的来说,余额分布并不令人惊讶。唯一清楚的是,攻击者通常忽略余额低于1 BTC的地址。
如何保护自己
- 在发送比特币前仔细检查完整地址
- 在钱包中使用地址标签或联系人,避免依赖记忆或近期交易
- 不要仅仅因为地址出现在交易历史中就信任它——即使是存款交易!
- 不要重复使用地址,绝对不要!出于多种原因,这仍然是比特币的最佳实践
未来研究方向
如果有人有兴趣扩展这项研究,我的脚本和数据可在此处获取。几个研究方向包括:
- 对攻击者资金进行聚类分析,以确定是一个实体还是多个不同实体
- 搜索更复杂的投毒交易,不仅仅是1个输入、1个输出
- 进一步分析目标钱包,尝试指纹识别他们使用的钱包软件,查看是否有任何共同点
- 对不同钱包软件进行用户体验研究,看看哪些钱包更容易受到投毒攻击
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码
公众号二维码