本文主要介绍链上留言的相关知识及使用方法。
作者:慢雾安全团队,慢雾科技
背景
据慢雾发布的《2023 上半年区块链安全与反洗钱总结》[1] 的数据,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 黑客发了一条链上消息 [5],要求其解密一条加密信息。但专家称,该消息是一个网络钓鱼骗局,试图窃取 Euler 攻击者钱包的私钥。是否真的如此?慢雾曾对此事写过一篇分析,有兴趣可以查阅。在 Ronin 黑客钱包向 Euler 黑客钱包发送消息几分钟后,Euler Finance 的开发人员试图用自己的消息 [6] 进行干预,他们警告 Euler 黑客警惕所谓的解密软件,称 “最简单的方法就是退还资金”。Euler 的开发人员在另一个交易 [7] 中继续说道:“在任何情况下都不要试图查看该消息。不要在任何地方输入你的私钥。提醒你,你的机器也可能被入侵。”
链上留言是什么?
众所周知,无论是比特币还是以太坊主网,实质上都是一个分布于全球的账本系统。拿以太坊举例,目前,有超过上万个以太坊节点复制以太坊主网上的所有数据,这意味着以太坊主网上的任何消息、交易等信息都会被复制上万次,这也确保了区块链信息不可篡改。相对比特币网络来说,以太坊主网上的费用更 “便宜”,因此大部分人都会把以太坊主网作为留言的第一选择。正如刚刚所说,区块链的本质是分布式账本,我们进行转账交易的时候可以顺便留言,这些留言都会被记录在所有节点的账本上,它们无法被修改,并将在区块链上永久留下痕迹。
最先带头在区块链上留言的是中本聪。2009 年 1 月 4 日,中本聪在创世区块上留下了当天泰晤士报的头条新闻标题,“EThe Times 03/Jan/2009 Chancellor on brink of second bailout for banks”,直到今天,我们仍能在链上找到这条留言。
如何进行链上留言?
基础:未加密留言
(1)通过 https://app.mycrypto.com/send 转账留言
连接钱包,填上接收地址及转账金额(可以为 0 ETH),在 Data 中的 0x 后输入你想要留言的内容,接着点击下一步,最后 Confirm 就可以了。
注意:留言信息需要是十六进制数据,所以,可以提前通过一些转换工具或网站进行转换。如:
(2)通过手机钱包转账留言
你需要用带有一些 ETH 的以太坊钱包(如 MetaMask、imToken 钱包)来完成交易,并支付 Gas fee。例如,打开 imToken 钱包,输入一个转账地址进行转账交易,点击高级模式,输入十六进制格式的留言信息,请记得开头带上 “0x”。
(3)通过 Etherscan IDM ⼯具 [8] 留言
使用该工具,不需要在 Input Data 输入处理过的十六进制数据,可以直接输入你想要留言的内容,它会自动为你处理成十六进制数据,结果显示如下:
进阶:加密留言
上面介绍了未加密留言,相应的也存在加密留言。我们先看一个例子:
地址 0x313 向被标记为 TransitFinance Funds Receiver 的地址发送了一条链上消息:“请使用您地址的私钥来解密该消息”,并附上了一大段需要解密才能看到的信息。
加密的链上留言是如何实现的呢?
(1)加密
首先,通过 Etherscan 点击交易哈希进行搜索:
接着,获取交易哈希的原始交易十六进制数据:
然后,根据原始交易十六进制数据获取公钥:
下一步,输入 SecretMessage 和 publicKey 并运行以下代码:
# pip install eciespy
from ecies import encrypt
import binascii
secretMessage = b'My name is Satoshi'
publicKey = "publicKey"
encrypted = encrypt(publicKey, secretMessage)
encrypted = binascii.hexlify(encrypted)
print("Encrypted:", encrypted)
最后,使用以上工具发送。
(2)解密
输入 PrivateKey 和 encrypted 并运行以下代码:
# pip install eciespy
from ecies import decrypt
encrypted = b'encrypted'
PrivateKey = "PrivateKey"
decrypted = decrypt(PrivateKey, encrypted)
print("Decrypted:", decrypted)
慢雾协助链上喊话示例
作为一家区块链威胁情报安全公司,慢雾常常收到项目方或个人用户的协助请求,这里举一个例子。2022 年 10 月 2 日,跨链交易平台聚合器 Transit Swap 遭到黑客攻击,被盗资产超 2890 万美元。在项目方的请求下,我们协助项目方与攻击者进行谈判。
以下是谈判过程中的部分内容:
(https://bscscan.com/tx/0x7491671cfab5066d5a36299cf295e721611bae6ff61a847a32b11d1cf716c274)
根据官方在 2022 年 10 月 12 日的声明,“白帽已返还价值 2400 万美元的资金”。
总结
本文主要介绍了链上留言的相关知识及使用方法。链上留言作为匿名沟通的方式之一,一方面,由于链上信息的不可篡改及透明性,这也相当于被动接受大众的 “审视”,或许能在一定程度上避免某一方事后反悔;另一方面,这也为受害者与攻击者之间提供一个沟通的平台,增加了隐私性,为受害者减少资金损失提供机会,但也要当心留言里是否附带钓鱼信息。
除了链上留言,用户和项目方仍可以通过以下方式增加追回资金的可能性:
- 立即通知相关机构:向当地执法机构、金融监管机构和相关的区块链项目团队报案和申诉。提供详细的信息和证据,并配合相关机构的调查;
- 联系交易平台:如果资金被盗是在某个交易平台上发生的,立即与其联系,并提供有关事件的详细信息。交易平台可能会采取措施调查并协助解决问题;
- 与社区合作:将事件公之于众,并与相关社区成员合作,共享信息和经验。其他用户可能提供有关攻击者或攻击技术的有用信息;
- 寻求专业帮助:咨询专业的区块链安全公司或律师,寻求法律和技术方面的专业帮助。他们可以提供相关建议和指导,帮助尽可能追回资金或采取其他合适的法律措施。也可以通过提交表单 [9] 联系慢雾 AML 团队。
当然,最重要的是采取预防措施,降低资金被盗的风险,包括使用安全可靠的钱包和交易平台;保护好私钥和访问凭证;避免点击可疑链接和下载未知来源的软件;以及保持安全意识和知识更新。最后,非常建议阅读慢雾出品的《区块链黑暗森林自救手册》[10]。
参考链接:
[1] https://www.slowmist.com/report/first-half-of-the-2023-report(CN).pdf
[2] https://etherscan.io/tx/0xcc73d182db1f36dbadf14205de7d543cfd1343396b50d34c768529aaab46a1c0
[3] https://etherscan.io/tx/0x9c25b6ca65c5bd0597a13ceae6f0d6edcef4b10279f338114550926ad0387ce4
[4] https://etherscan.io/tx/0xbe21a9719a4f89f7dc98419f60b247d69780b569cd8869c0031aae000f98cf17
[5] https://etherscan.io/tx/0xcf0b3487dc443f1ef92b4fe27ff7f89e07588cdc0e2b37d50adb8158c697cea6
[6] https://etherscan.io/tx/0x054409f252ac293a0ed34108b25e5906476817c5489bd3e98a5d3e1ee0825020
[7] https://etherscan.io/tx/0x1fd6d2e67a2ac4cf7c1718cc3058d5625171b95d66744801c97a4de54a41197b
[8] https://etherscan.io/idm
[9] https://aml.slowmist.com/recovery-funds.html
[10] https://github.com/slowmist/Blockchain-dark-forest-selfguard-handbook/blob/main/README_CN.md
[11] https://cryptobook.nakov.com/asymmetric-key-ciphers/ecies-example