区块链技术资源分享
追寻中本聪先生的脚步

o3swap钱包池子被盗币 Poly Network 黑客以太坊留言回答 defi安全@巴比特@昆麟玉

区块链安全代码审计技术研究解决方案

巴比特讯,昨日晚间,Poly Network黑客通过以太坊网络转账留言用问答的形式回答了一些关于发动这次攻击的动机和缘由。

8月11日11:57

问:为什么要当黑客?

答:为了好玩 🙂

问:为什么选择Poly Network?

答:跨链很火

问:为什么要转让代币?

答:为了保证安全。

当发现这个错误时,我有一种复杂的感觉。扪心自问,如果这么多的财富摆在你面前,该怎么办?礼貌地告知项目团队以便他们能够修复漏洞?但任何人都有可能成为叛徒,因为这可是10亿美金!我不能相信任何人。我不能相信任何人! 我唯一能想到的解决办法是把钱存到一个自己信任的账户里,同时保持自己的身份匿名和安全。现在大家都闻到了这里面有阴谋的味道。内部人士?我不是,但谁知道呢?我有责任在任何内部人员隐藏和利用漏洞之前暴露这个漏洞!"。

问:为什么搞得如此复杂?

答:POLY 网络是一个不错的系统。这是黑客可以享受的最具挑战性的攻击之一。我必须快速击败任何内部人员或黑客,我把它当作奖励挑战:)

问:你暴露身份了吗?

答:没有,从来没有。我明白即使我不做坏事,也会有暴露自己的风险。所以我使用了临时电子邮件、IP或所谓的指纹,这些都是无法追踪的。我宁愿呆在黑暗中,拯救世界。

Q: WHY HACKING?
A: FOR FUN 🙂

Q: WHY POLY NETWORK?
A: CROSS CHAIN HACKING IS HOT

Q: WHY TRANSFERING TOKENS?
A: TO KEEP IT SAFE.

WHEN SPOTTING THE BUG, I HAD A MIXED FEELING. ASK YOURSELF WHAT TO DO HAD YOU FACING SO MUCH FORTUNE. ASKING THE PROJECT TEAM POLITELY SO THAT THEY CAN FIX IT? ANYONE COULD BE THE TRAITOR GIVEN ONE BILLION! I CAN TRUST NOBODY! THE ONLY SOLUTION I CAN COME UP WITH IS SAVING IT IN A _TRUSTED_ ACCOUNT WHILE KEEPING MYSELF _ANONYMOUS_ AND _SAFE_.

NOW EVERYONE SMELLS A SENSE OF CONSPIRACY. INSIDER? NOT ME, BUT WHO KNOWS? I TAKE THE RESPOSIBILITY TO EXPOSE THE VULNERABILITY BEFORE ANY INSIDERS HIDING AND EXPLOITING IT!

Q: WHY SO SOPHISTICATED?
A: THE POLY NETWORK IS DECENT SYSTEM. IT'S ONE OF THE MOST CHALLENGING ATTACKS THAT A HACKER CAN ENJOY. AND I HAD TO BE QUICK TO BEAT ANY INSIDERS OR HACKERS, I TOOK IT AS A BONUS CHALL 🙂

Q: ARE YOU EXPOSED?
A: NO. NEVER. I UNDERSTOOD THE RISK OF EXPOSING MYSELF EVEN IF I DON'T DO EVIL. SO I USED TEMPORARY EMAIL, IP OR _SO CALLED_ FINGERPRINT, WHICH WERE UNTRACABLE. I PREFER TO STAY IN THE DARK AND SAVE THE WORLD.

问:为什么要黑客?
A:为了好玩:)
问:为什么是保利网络?
答:跨链黑客攻击很热门
问:为什么要转让代币?
A:为了安全。
当我发现这只虫子时,我有一种复杂的感觉。问问自己,面对这么多财富,你该怎么办。礼貌地询问项目团队,以便他们能够修复它?只要有10亿美元,任何人都可能是叛徒!我不能相信任何人!我能想出的唯一解决办法是把它存到一个“可信”的账户里,同时让自己“匿名”和“安全”。
现在每个人都有一种阴谋感。知情人不是我,但谁知道呢?我有责任在任何内部人员隐藏和利用漏洞之前暴露漏洞!
问:为什么这么复杂?
答:保利网络是一个不错的系统。这是黑客可以享受的最具挑战性的攻击之一。我必须迅速击败任何内部人士或黑客,我把这当作一个额外的奖励
问:你暴露了吗?
A:没有,从来没有。我知道即使我不作恶也有暴露自己的危险。所以我使用了临时电子邮件、IP或所谓的指纹,这些都是无法追踪的。我宁愿呆在黑暗中拯救世界。

8月12日 00:31

问:30 小时前的攻击中到底发生了什么?

答:说来话长。

信不信由你,我也是被迫参与这个游戏的。

Poly Network是一个复杂的系统,我没有设法建立一个本地测试环境。我一开始就没能制作概念验证(POC)。然而,当我要放弃的时候,机会来了。在调试了一整夜之后,我为本体网络制作了一个_SINGLE_消息。

我计划发起一个很酷的闪电战来迅速接管支持Poly的四个网络:ETH、BSC、Polygon 和 HECO。然而,HECO 网络出错了!其中继器的行为与其他中继器不同,管理员只是直接中继了我的漏洞攻击,并且密钥已更新为一些错误的参数。这就导致我的计划被破坏。

我本应该在那一刻停攻击,但我决定让这场表演继续!如果他们在没有任何通知的情况下秘密修补这个漏洞怎么办?

然而,我不想引起加密世界的真实恐慌。所以我选择忽略Poly上的垃圾币,所以人们不必担心它们会归零。我拿走了那些重要的代币(SHIB 除外)并且之后没有出售任何代币。

问:那为什么要出售/兑换那些稳定币?

答:POLY 团队最初的回应让我很生气。

在我还没来得及回复之前,他们敦促其他人责备和憎恨我!我当然知道有假的DeFi代币,但我并没有当真,因为我没有洗钱的计划。

与此同时,把稳定币存入到其他地方进行理财可以赚取一些利息来支付一些潜在成本,这样我就有更多时间与Poly团队进行谈判。

8月12日 00:55

问:为什么要向一位社区成员发送13.37枚ETH的小费?(注:一位名为“Hanashiro.eth”的社区成员通过一条交易消息告知黑客不要使用USDT,并从与“PolyNetwork Exploiter”链接的地址中收到13.37枚ETH的奖励。)

答:我感受到了以太坊社区的温暖。

我当时正忙于调查 HECO 的问题并调试我的脚本。我认为这是网络问题,为什么我不能存款(我用了一个复杂的网络代理)。所以我和那家伙分享了我的善意。

问:为什么要问到 Tornado 和 DAO?(注:Tornado通常被黑客用于混币,洗白被盗资产)

答:目睹了如此多的黑客攻击,我知道将资金投入Tornado是一个明智但也是绝望的决定。这违背了我的初衷。在看到那么多乞求后,成为众包黑客只是我开的玩笑:)

问:为什么要返还资金?

答:这一直是我的计划!我不是对金钱很感兴趣!我知道人们受到攻击时会很痛苦,但他们不应该从过去发生的这么多黑客攻击中学到一些东西吗?我在午夜之前宣布了返还资金的决定,所以相信我的人应该去好好休息;)

问:为什么返还资金进度有点慢?

答:我确实需要时间与POLY 团队沟通。抱歉,这是我所知道的唯一一种在隐藏自己的身份的同时还能维护自己尊严的方法。我需要休息一下。

问:你怎么看Poly 团队?

答:我已经和他们开始了简短的交谈,内容日志都在以太坊上。我可能会,也可能不会发布这些内容。他们遭受的痛苦是暂时的,但一定是令人难忘的。

我想为他们提供有关如何保护他们网络安全的提示,以便他们在未来有资格管理一个价值10 亿美金的项目。 Poly 网络是一个设计良好的系统,它将会处理更多资产。他们在推特上有很多新粉丝,对吗?

8月12日 01:13

我不使用电子邮件。FUCK polyhacker@yandex.com & negotiations@cock.li

8月12日 02:05

免责声明:我从未要求过Poly Network的赏金我所说的是在链上

8月12日 02:59

问:为什么是CEX?菜鸟?

答:随便吧 :)

此次黑客的关键挑战是调用一些与本体网络的合约(我最喜欢的部分)。你必须为本体网络获取一些 "Gas",被称为 "ONG"。它不是一个可交易的DeFi代币,只能在一些中国的(?)交易所上找到它。如果你必须通过CEX,为什么还要从Dex交易?为什么你认为我可能在DEXes中留下痕迹?

问:为什么要退款?懦夫?

答:随便吧 🙂

当你评判别人时,你不是在定义他们,而是在定义你自己。

我已经享受了我最关心的事情:黑客和指导。

很少有黑客能理解deFi安全的情况。是的,你看到了很多黑客,但他们中的大多数并不像一个真正的黑客那样令人愉快。一些愚蠢的代码导致了大量的损失,但这并不具有挑战性。这就像与一个青少年对抗。

我承认,Poly黑客并不像你想象的那样花哨,但我确实从这个项目中体验到了新的东西。我想说的是,找出Poly network结构中的盲点将是我人生中最美好的时刻之一。

随着加密世界的发展,我已经有了足够的钱。我一直在探索生命的意义,已经好一段时间了。我希望我的生活可以由独特的冒险组成,所以我喜欢学习和破解一切,以便与命运抗争。命运在我心中。

说实话,我确实有一些自私的动机,想通过利用巨大的基金来做一些很酷但不有害的事情,比如DAO。然后我意识到,成为道德领袖将是我可以达成的最酷的事情!

8月12日 03:12

Polygon网络很不可靠,很多时候我以为我已经发送了交易,但它却消失了。哈哈哈哈

8月12日 03:34

伙计们,问问你自己,Poly团队是资产的所有者吗?他们只是基金经理,你会教他们如何触发他们的 "后门 "吗?在DeFi世界中,除了代码和你自己,你不能相信任何人。

对于"受害者":我并不是说Poly团队不值得信任,但你们没有机会挑战他们的代码,(因为)代码应该是法律。别担心,你们不是真正的受害者。

8月12日 6:09

你好,乞丐,为什么不向POLY 多签钱包要钱?0x71Fb9dB587F6d47Ac8192Cd76110E05B8fd2142f

本文链接:https://www.8btc.com/article/6673325


微博@昆麟玉

忘记提了,o3swap最nb的就是合约自带一键rug功能,项目方能一键把你stake的资产转到它的指定账户里,而且还没有时间锁!也就是说你质押的资产项目方能随时转走,不需要经过你同意!

在项目方不加时间锁不解释清楚之前,强烈不建议冲。我居然还看到微博上有人力推这个项目... ​​​​

我写这篇的时候,o3在etherscan上的代码都是二进制乱码,我是去github找的他们发布的开源代码看的。顺便说一句,为了不冤枉o3,我专门把它们在github代码二进制编译以后和etherscan的二进制代码对比过,确认完全一样,github上的就是最后上传的源代码。


微博@jolestar 

看了慢雾关于 Poly Network 的分析,又 GitHub 上看了一下源码,我尝试通俗的解释一下这次攻击的原因。

Poly Network 的白皮书中设想的场景非常宏大,它不仅仅是想做资产的跨链,还想设计一种通用的跨链合约调用,因为任何跨链,本质上都是先在 A 链上执行一个交易,然后在 B 链上执行另外一个交易。并且这种需求现在其实越来越强烈了,比如同一个 借贷 DApp,部署到不同链上,那是不是可以通过跨链方式互通呢?比如在用户 A 链上抵押,在 B 链上借款。

所以 Poly 的实现思路是提供一种通用的跨链执行交易的方式,一个跨链应用的交易在 A 链上执行交易后同时告诉跨链桥,还要在 B 链上要执行什么方法,以及执行方法的参数。跨链桥调用自己在 B 链上的合约,传递执行交易的请求,以及进行代理调用。

跨链合约如何校验跨链执行交易的请求是合法的呢?跨链桥实际上是一个 PoS 的链,有多个验证节点(keeper)同时监听 A,B 链上的跨链请求,并进行确认签名,跨链合约会校验请求是否满足多签的阈值要求。但为了能新增或者减少验证节点,跨链合约也提供了更新 keeper 公钥的机制,这样验证节点变化时,多个节点一起可以发起交易进行更新公钥。

到这里,好像这个方案也没有什么大问题。问题就出在两个结合在一起。攻击者在 A 链上构造了一个跨链交易,要调用 B 链的跨链合约的更新 keeper 公钥的方法,参数是自己的公钥。因为跨链交易是通用的,keeper 并不审核交易的具体内容,于是这个交易被多个 keeper 确认并同步到 B 链上,B 链的跨链合约代理执行该请求,执行后 keeper 就变成攻击者了。

本来攻击者是没有执行该方法的权限的,直接执行肯定会报错。但跨链合约自己是有权限的,这样相当于跨链合约代用户执行了一个只有自己有权限执行的“私有”方法。攻击者有点像狐假虎威里的那只狡猾的狐狸。

如果有合约提供了类似的任意代理调用的机制,其实都可能隐藏类似的安全隐患。动态调用像是一个魔法,DeFi 世界的可组合性很大程度上就是靠动态代理来实现的,但带来但安全风险也不可低估。


微博@DeFi_Panda

彻底破案了,确实不是私钥泄露,是一个很“精妙”的办法,确实暴露了一些合约设计问题,特别是跨链协议这种产品。

具体看这位大佬的分析:https://twitter.com/kelvinfichter/status/1425217046636371969


o3钱包被盗

分享到:更多 ()

来评论吐槽 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

快手号:神吐槽shentucao

交易所地址更多手机免费挖矿APP