背景
据慢雾发布的《2023 上半年区块链安全与反洗钱总结》的数据,2023 上半年,遭受攻击后仍能全部或部分收回损失资金的事件共有 10 起。这 10 起事件的被盗资金总计约 2.32 亿美元,其中的 2.19 亿美元被返还,占被盗资金的 94%。在这 10 起事件中,有 3 起事件的资金被全部退回。
资金被盗后又被归还或许将成为一个新趋势。无论是给予赏金还是以合理谈判的方式拿回被盗资金,主要有两种传递消息的方式:一个是在项目方媒体平台发声,另一个则是攻击者与项目方通过链上留言进行沟通。
例如 2023 年 3 月 13 日,DeFi 借贷协议 Euler Finance 遭到攻击,攻击者获利约 1.97 亿美金。3 月 20 日,攻击者在给 Euler 的链上消息[2]中声称,他们现在希望与 Euler 「达成协议」。攻击者写道:「我们想让所有受影响的人都轻松些,不打算保留不属于我们的东西。建立安全通信,让我们达成协议吧。」
几个小时后,Euler 在链上回复 [3]称:「消息已收到,让我们通过 Euler Deployer 地址和你的一个 EOA 在 Blockscan 上私下讨论,通过电子邮件 contact@euler.foundation 或你选择的任何其他渠道。请回复你想选哪种方式。」
有趣的是,在 3 月 15 日,0x2af 用户向黑客发送链上消息 [4],请求希望能返回其毕生积蓄 78 枚 wstETH,该用户表示,「请考虑退回 90% / 80%。我只是一个用户,我毕生的积蓄只有存入 Euler 的 78 wstETH ,我不是巨鲸或百万富翁。你无法想象我现在的处境有多糟,全毁了。我很确定 2000 万美元已经够你改变生活了,而且你能让很多受影响的人重获快乐」。随后,黑客向其发送了 100 枚 ETH。紧接着有不少地址效仿该用户的行为向黑客发送消息。
当然,也有在链上留言钓鱼的情况。2023 年 3 月 22 日,Euler 黑客在攻击完成后,为了混淆视听逃避追查,转了 100 ETH 给盗取了 6.25 亿多美金的 Ronin 黑客。Ronin 黑客顺水推舟,将计就计,随即回礼了 2 枚 ETH,并给 Euler 黑客发了一条链上消息,要求其解密一条加密信息。但专家称,该消息是一个网络钓鱼骗局,试图窃取 Euler 攻击者钱包的私钥。是否真的如此?慢雾曾对此事写过一篇分析,有兴趣可以查阅。在 Ronin 黑客钱包向 Euler 黑客钱包发送消息几分钟后,Euler Finance 的开发人员试图用自己的消息进行干预,他们警告 Euler 黑客警惕所谓的解密软件,称「最简单的方法就是退还资金」。Euler 的开发人员在另一个交易 [7]中继续说道:「在任何情况下都不要试图查看该消息。不要在任何地方输入你的私钥。提醒你,你的机器也可能被入侵。」
链上留言是什么?
众所周知,无论是比特币还是以太坊主网,实质上都是一个分布于全球的账本系统。拿以太坊举例,目前,有超过上万个以太坊节点复制以太坊主网上的所有数据,这意味着以太坊主网上的任何消息、交易等信息都会被复制上万次,这也确保了区块链信息不可篡改。相对比特币网络来说,以太坊主网上的费用更「便宜
」,因此大部分人都会把以太坊主网作为留言的第一选择。正如刚刚所说,区块链的本质是分布式账本,我们进行转账交易的时候可以顺便留言,这些留言都会被记录在所有节点的账本上,它们无法被修改,并将在区块链上永久留下痕迹。
最先带头在区块链上留言的是中本聪。2009 年 1 月 4 日,中本聪在创世区块上留下了当天泰晤士报的头条新闻标题,「EThe Times 03/Jan/2009 Chancellor on brink of second bailout for banks」,直到今天,我们仍能在链上找到这条留言。
如何进行链上留言?
基础:未加密留言
通过 https://app.mycrypto.com/send转账留言
连接钱包,填上接收地址及转账金额(可以为 0 ETH),在 Data 中的 0x 后输入你想要留言的内容,接着点击下一步,最后 Confirm 就可以了。
注意:留言信息需要是十六进制数据,所以,可以提前通过一些转换工具或网站进行转换。如:
通过手机钱包转账留言
你需要用带有一些 ETH 的以太坊钱包(如 MetaMask、imToken 钱包)来完成交易,并支付 Gas fee。例如,打开 imToken 钱包,输入一个转账地址进行转账交易,点击高级模式,输入十六进制格式的留言信息,请记得开头带上「0x」。
通过 Etherscan IDM ⼯具留言
使用该工具,不需要在 Input Data 输入处理过的十六进制数据,可以直接输入你想要留言的内容,它会自动为你处理成十六进制数据,结果显示如下:
进阶:加密留言
上面介绍了未加密留言,相应的也存在加密留言。我们先看一个例子:
(https://bscscan.com/tx/0xfa1fa7cdfa3c5fe2cfaf61e14caf4b5174302d3801b09bb650d3f90ec706c3e9)
地址 0x313 向被标记为 TransitFinance Funds Receiver 的地址发送了一条链上消息:「请使用您地址的私钥来解密该消息」,并附上了一大段需要解密才能看到的信息。
加密的链上留言是如何实现的呢?
加密
首先,通过 Etherscan 点击交易哈希进行搜索:
接着,获取交易哈希的原始交易十六进制数据:
然后,根据原始交易十六进制数据获取公钥:
下一步,输入 SecretMessage 和 publicKey 并运行以下代码:
# pip install eciespyfrom ecies import encryptimport binasciisecretMessage = b'My name is Satoshi'publicKey = "publicKey"encrypted = encrypt(publicKey, secretMessage)encrypted = binascii.hexlify(encrypted)print("Encrypted:", encrypted)
最后,使用以上工具发送。
解密
输入 PrivateKey 和 encrypted 并运行以下代码:
# pip install eciespyfrom ecies import decryptencrypted = b'encrypted'PrivateKey = "PrivateKey"decrypted = decrypt(PrivateKey, encrypted)print("Decrypted:", decrypted)慢雾协助链上喊话示例
作为一家区块链威胁情报安全公司,慢雾常常收到项目方或个人用户的协助请求,这里举一个例子。2022 年 10 月 2 日,跨链交易平台聚合器 Transit Swap 遭到黑客攻击,被盗资产超 2890 万美元。在项目方的请求下,我们协助项目方与攻击者进行谈判。
以下是谈判过程中的部分内容:
(https://bscscan.com/tx/0x7491671cfab5066d5a36299cf295e721611bae6ff61a847a32b11d1cf716c274)
(https://bscscan.com/tx/0xfa1fa7cdfa3c5fe2cfaf61e14caf4b5174302d3801b09bb650d3f90ec706c3e9)
根据官方在 2022 年 10 月 12 日的声明,「白帽已返还价值 2400 万美元的资金」。
总结
本文主要介绍了链上留言的相关知识及使用方法。链上留言作为匿名沟通的方式之一,一方面,由于链上信息的不可篡改及透明性,这也相当于被动接受大众的「审视」,或许能在一定程度上避免某一方事后反悔;另一方面,这也为受害者与攻击者之间提供一个沟通的平台,增加了隐私性,为受害者减少资金损失提供机会,但也要当心留言里是否附带钓鱼信息。
除了链上留言,用户和项目方仍可以通过以下方式增加追回资金的可能性:
立即通知相关机构:向当地执法机构、金融监管机构和相关的区块链项目团队报案和申诉。提供详细的信息和证据,并配合相关机构的调查;
联系交易平台:如果资金被盗是在某个交易平台上发生的,立即与其联系,并提供有关事件的详细信息。交易平台可能会采取措施调查并协助解决问题;
与社区合作:将事件公之于众,并与相关社区成员合作,共享信息和经验。其他用户可能提供有关攻击者或攻击技术的有用信息;
寻求专业帮助:咨询专业的区块链安全公司或律师,寻求法律和技术方面的专业帮助。他们可以提供相关建议和指导,帮助尽可能追回资金或采取其他合适的法律措施。也可以通过提交表单联系慢雾 AML 团队。
当然,最重要的是采取预防措施,降低资金被盗的风险,包括使用安全可靠的钱包和交易平台;保护好私钥和访问凭证;避免点击可疑链接和下载未知来源的软件;以及保持安全意识和知识更新。