金色观察|“迷途知返”的黑客与区块链安全隐忧

截止到8月11日12时59分,Poly Network发生的O3资金池被盗事件,在持续发酵后,似乎有了最终结果。

黑客使用攻击地址“自己给自己”发送交易,在交易附带信息里说到“I NEED A SECURED MULTISIG WALLET FROM YOU”

随后Poly Network回复:“We are preparing a multi-sig address controlled by known Poly addresses”并在50分钟后回复了以太坊、BSC、Polygon三条链的接受地址,分别为:

ETH: 0x71Fb9dB587F6d47Ac8192Cd76110E05B8fd2142f

BSC: 0xEEBb0c4a5017bEd8079B88F35528eF2c722b31fc

Polygon: 0xA4b291Ed1220310d3120f515B5B7AccaecD66F17

这场漫长的沟通经历差不多15小时,第一次尝试沟通,Poly Network尝试取得沟通,并留下了沟通邮箱。2小时后,继续沟通表示,如果归还资产,会因为这次发现安全漏洞给予安全奖励。

随后黑客在攻击地址表示,可能会建立一个DAO决定地址中资金的流向。

Poly Network再次回复,建立DAO也改变不了资金被盗的事实,如果归还资产,会为黑客提供安全赏金,并且这也会成为历史上最大金额的“白帽”黑客事件而被铭记。

Gate.io已开启投票上币第四十五期Nest Protocol(NEST):据官方公告,Gate.io已于10月11日(今日)中午12:00开启第四十五期投票上币项目Nest Protocol(NEST),投票结束时间为10月12日(明日)上午10:00。在本轮投票中,NEST如获得1000万票,Gate.io将上线NEST对USDT交易,参与投票的用户均可分享60000 NEST空投奖励。详情请见原文链接。[2020/10/11]

随后便是黑客表示自己是传奇,而将退还资产的关键消息的发布。

白帽黑客指正义的黑客,区块链圈很多安全公司的中流砥柱都出自白帽。

也许这次参与的黑客真的如其所说,对钱不感兴趣。

在下午5时左右,Poly公布的Polygon地址收到了101万枚USDC。发稿前,其他地址暂时还没有将资产转入。

但作为区块链从业者、用户来说,面对攻击事件,小概率可以得到善终,大概率是会波及项目和用户资产安全。

此次安全事件发生后,在事件的评论中,有一条极为反讽的评论“讲个笑话,区块链是安全的。”

外行看热闹,内行看门道。

区块链的安全是一个相对概念,而不是一个绝对概念。

在巨额收益的引诱、加密货币无监管、合约设计不成熟的情况下,加密货币网络中的合约漏洞被当成黑客提款机也就不足为奇了。

传统金融领域,安全不仅仅在于软件,更多安全保证在于流程防护。但当全部的流程通过智能合约自动执行的时候,就会出现多个漏洞。

最大的保障变成了代码正确性和安全案例的设计实践。

此次Poly的问题就在于黑客可以控制资金池中管理账户转账的权限,当把转出地址换成黑客自己的地址后,只要向合约发送虚拟的数据转出交易,那资金池的资产就会顺利被转出。

这个漏洞主要在于,因为设计了一些合约接受某些数据而执行行为的操作,但可以执行这个动作又有多个因素管理,其中有一个因素漏洞被黑客利用了,劫取了“权限”。

这类事件还要有一个理解框架。

其中分为链的安全和合约安全。

一条公链,首先要保证链的安全,即总帐本的安全、交易打包的安全。然后是合约执行的安全。

软件的安全依赖开发者代码的成熟性,正所谓没有绝对安全的系统,只有良莠不齐的开发者。

链的安全是指链上的共识算法设计、基础协议的编写不能有漏洞,其次是基础协议执行的合约没有问题,例如在以太坊上发型代币,其合约是一个基础流程,但如果合约漏洞里有明显的增发漏洞,那极有可能被利用增发代币。

链的安全,主要是共识来保证,比特币使用中本聪共识,以太坊使用Ethash,波卡使用NPOS。其保证的是总帐本不能篡改。合约安全就只能考究其设计问题和编码成熟度了。

所以合约设计者和开发者要严格设计合约,要检查合约的设计漏洞,代码编写漏洞,设计逻辑,以及在业务场景里可能出现的问题。

在这里,我们还是再次通过合约审计的思路,来为大家提供理解合约安全的思路。

安全审计团队拿到审计需求后,会先用团队内部的安全审计工具过一遍,不过工具是一个辅助,然后进行人工审计,这个流程会按照审计列表将常规漏洞点审计一遍。

然后进行业务上的审计,其中包含什么业务场景、业务规模、业务逻辑。然后业务的描述如何,看代码里是否有和描述功能不一致,是否会被薅羊毛,代币是否有被锁,权限设置错误问题,是否会增发或无限铸币等等。

但这些流程进行完毕后,上文讲到,代码的安全要看代码编写成熟度,而不同开发者因为其经验,对合约的判断也不同,再加上智能合约的特殊性和DeFi业务逻辑复杂性,代码审计必须要进行交叉审计,相互审查的。

就像Poly的以太坊合约问题,其在该合约后续的流程上是没问题的,但在黑客看来,通过合约流程前面的一些数据伪造,就控制了其合约转出的权限。也是一种迂回击破的方式了。

或者因为Poly是一个跨链系统,出问题的部分可以称为跨链合约交互部分,这也代表着跨链案例的实践,要逻辑更为严密。

从智能合约的设计来看,绝大部分DeFi合约出问题都出在资产转移、价格计算和权限控制上,因此这些方面开发者需要入手向上延展,并找到这条路径上可能存在的薄弱环节加以防范。

Poly此次是万幸的,黑客可以归还资产,尽管目前归还了一小部分,我们还在等待更多的资产转账。笔者从Poly处获取的消息是,目前合约已经在升级,最优先级的目标是追回用户资产,其他的细节会后续公布。

从黑客公布的消息看,似乎黑客已经接受了Poly提出的安全赏金,也希望在这场博弈里,双方可以快速结束相互的拉扯。就像Poly说的,让这一次安全事件,成为历史上最大的白帽黑客事件。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

ADAMEV正在破坏以太坊的公平性? 25个抗MEV项目介绍

“想象一下,当ETH成为全球通用货币。你试图在一个拍卖平台上以50美元的价格购买Dua Lipa的复出巡演NFT门票。一个机器人看到了你的交易,并以同样的价格抢先购买了它。但是,不用担心,在同一个区块中,他们已经以你的最高出价100美元将其卖回给你。” 这是以太坊MEV问题最早提出者pmcgoohan在对未来进行构想时提出的一个场景。

狗狗币从安全研究视角看Poly Network事件

在过去的一周里,陆续发生了几起安全事件,包括PolyNetwork和DaoMaker等造成大额资金损失的安全事件。虽然后续损失资金大部分或者全部被追回,但仍然给DeFi的安全敲响了警钟。

SAND关于区块链中的智能合约:您想知道的一切

智能合约是根据合约上设定的预定条件自动执行且无需解释。由于区块链是一种分布式账本技术 (DLT),允许将数据全局存储在不同的服务器上,因此它在很大程度上依赖于这些数据库来确认交易。因此,智能合约正在呼吁消除管理开销。 智能合约代表以代码编写的条款和条件,一旦满足合约的预定义要求,这些条款和条件会自动将资金从一方转移到另一方。

[0:15ms0-3:948ms