LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 中新峰会丨区块链Oracle和安全审计该如何做?这里有你想要的答案

中新峰会丨区块链Oracle和安全审计该如何做?这里有你想要的答案

2020-07-04 隔夜的粥 来源:区块链网络

7月4日,由新加坡新跃社科大学、万向区块链实验室及巴比特联合发起的顶级区块链线上峰会———2020中新区块链领袖高峰论坛正式开幕。峰会主题为“四海一心,共赢未来”,来自中国和新加坡的区块链专家,在线上连接,分享区块链最新发展趋势和最热门议题。

在“中新对话:区块链Oracle和安全审计”圆桌中,微众银行区块链安全专家严强博士、Sentinel Chain创始人Roy Lai、AID:Tech CEO兼联合创始人Joseph Thompson、PeckShield创始人蒋旭宪、Chainlink CMO Adelyn Zhou以及慢雾科技高级安全工程师Yudan针对区块链预言机和安全审计话题进行了讨论。

这场圆桌活动围绕当下Defi领域中不断出现的安全事件展开,嘉宾们提到了bZx、Lendf.Me平台遭遇的黑客攻击事件,并由此引出了关于预言机及智能合约安全审计等话题,而来自公链和联盟链领域的安全专家们,分别从不同的角度来进行相关分析。

蒋旭宪认为,项目发和团队除了常规代码审计外,他们还需要更多地关注经济审计方面,经济审计方面可以暴露出不同项目中的一些综合风险。

Roy Lai表示,无论是中心化还是去中心化的预言机,都只是取得一个近似的事实,即使你有多个来源,他们也可以互相泄漏,也可能是假的,因此抓住问题的“第一公里”非常重要。

严强博士指出,从联盟链领域来讲,传统的企业安全措施依然适用,我们仍然可以使用老方法来保护所有真实系统,当然,也有其他我们可以使用的保护手段。而从客户角度来看,当他们提到安全时,他们实际上说的是安全和隐私,所以我们需要同时提供隐私特性和安全性,最后一个建议是始终建立备选方案。

Yudan认为,安全问题的范围从单一的合约或dApp拓宽到了多个合约,各合约之间的交互成了重要的风险点,因此很重要的一点是要总览整个系统,以智能合约之间的交互来考虑,此外他还建议智能合约应该有一个备用的预言机机器,这可以帮助智能合约避免单点故障。

WechatIMG2

 

以下为巴比特整理的原文实录:

问题1:当下以及不久的将来,我们应该更关注哪些安全问题?

蒋旭宪: 据我们所知,我们看到像2019年,许多安全问题主要聚焦于代码层面的漏洞,主要只在Defi项目中出现,但从2020年开始,安全问题不仅仅出现在单个项目中,而从乐高的角度上来说,更像是综合风险,DeFi被认为是货币乐高,而且是可以以非常有趣的方式进行组合和构成的乐高,一些组合暴露了意料之外的安全问题,比如说四月份ERC-777的漏洞,一些问题也出现在bZx中,有四五个DeFi项目都牵涉其中,用dY/dX进行闪电贷,用Compound抵押后借大笔贷款,对Margin Pump进行重置,对Kyber network加以利用,然后试图在Uniswap上操纵交易价格,这五个不同的DeFi项目确实以某种方式突显了我们作为Defi社区所面临的挑战。我想这就是我们每天所应对的安全问题,同时这也是主要任务,至少是我们努力解决安全问题时其中一项主要任务。 Adelyn: 刚才旭宪提到的例子其实是一个黑客攻击事件,因为他们没有拿到正确的价格数据馈送,所以其实是bZx没有用安全的预言机来获取价格数据,所以他们可以进行闪电贷,因为涉及的量很少,他们可以通过不同的交易操纵价格变动,从中套利。所以在Chainlink,我们真正关注的是,提前编写好可靠、去中心化又准确的价格数据馈送,不同的是,我们从不同的数据聚合者那里聚合数据,因为这些是专业的数据提供者,他们从众多中心化和去中心化交易所中提取数据,比如说从币安、火币,还有从Uniswap这类协议,还有其他地方来汇总价格,所以当DeFi项目想要获取这些价格时,他们不会遭受像bZx那样的攻击。 Yudan: 我认为现在越来越多的dApp在以太坊区块链上发行,dApp和持续运行的系统交互,这意味着许多合约和持续运行的系统在交互,因此安全问题的范围从单一的合约或dApp拓宽到了多个合约,各合约之间的交互成了重要的风险点,比如说 Lendf.Me平台遭受的重入攻击,这个问题很重要,因为攻击者可以利用重入从Lendf.Me盗取资产或者金钱,因为他们的代码中存在漏洞,所以我认为很重要的一点是要总览整个系统,以智能合约之间的交互来考虑,一些第三方服务导致的风险也会影响智能合约的安全性,比如说我们讨论到的预言机风险,既bZx遭受的安全攻击。所以思考问题的时候,应该做更全面的考虑,考虑的范围应该从单一的点延伸到整个系统。 问题2: 微众银行面临着什么不一样的安全挑战?

严强博士: 我认为之前的讨论非常有意思,因为智能合约确实承载了很多高价值的业务。但我想从另一个方面来补充,我们从生态伙伴身上了解到的,对区块链用户来说,什么才是他们所期望的安全。

我认为有两个问题值得一提,第一个是关于开源代码的质量。我们知道许多区块链项目实际上都是开源项目,这样可以容易地进行安全审查,我们可以用它来验证, 但从使用者的角度来说,有时候这也造成了一种错觉,人们会认为开源就等同于已被公开认证,我想说这种想法其实并不少见。

这可能会非常危险,我们知道开源能让安全审计者了解清楚细节,但也为攻击者提供了更多机会去篡改这些代码,对吧?我们常说代码即法则,那坏的代码就是坏的法则。而通常,我们很难分辨代码的好坏。这也是为什么我们认为,像慢雾公司和蒋教授的公司这样的提供安全审计服务的团队非常重要,这在整个生态系统中是非常重要的一部分。

我想提到的第二点是,当合作伙伴,尤其是to B场景下的(合作伙伴)谈到安全,他们不只是在谈基本的安全问题,还希望能够保障隐私,这有点像是一个复合的概念,我们不单把数据机密性囊括其中,同时客户还希望能够对业务有更多掌控,因为区块链中,可能有许多敏感的商业数据,而且我们知道这个系统是以多中心化的方式运作,所以这和传统的计算服务模型有很大不同。人们希望从中得到保障,他们想了解他们需要贡献什么? 数据将会如何被使用?而又如何防止未经授权的数据访问?对于那些未授权的使用方,则不能够访问并使用这些数据。

所以这就是一些非传统的安全问题,我们认为这些问题值得讨论、解决。 问题3:Sentinel Chain的的商业模型,或是在现在的系统中,面临着哪些不一样的安全问题或挑战?

Roy: 我们面对的是决然不同的情况,我想,这是因为我们避免了这些问题,Sentinel Chain本质上是一个以太坊的侧脸,是个联盟链,所以很多涉及到公链的安全问题其实并不适用于我们。根本上是因为我们主要致力于解决现实世界中的问题,我们知道公链上存在的问题本质上仍处于试验阶段,这也是为什么,我们设计的大多数应用都会规避这种在公链上操作导致的潜在的隐患或问题。

所以这也是为什么我们采取了更保守的方法,比如说发展联盟链,这让我们有更可信的问责制,简化了安全管理,同时升级了Sentinel Chain本身的安全设计,另一方面,我们将安全架构分为两个层面,其中一个是FarmTrek,其目的是解决食品供应链中“第一公里”的问题,并且去掉实体资产和数字资产的中间人。在这个过程中,从根本上讲,我们没有把两个问题合在一起,而是分开解决,所以对于我们来说分而治之更容易,而不是试图让自己一次就暴露在太多的漏洞和太多的攻击面中。

基本上,我们不仅仅是关注智能合约的问题,同时也关注与智能合约相关联的所有组件或者其核心的商业逻辑。 问题4:Joseph,从你的角度看来,在去中心化数字身份领域或领域之外有什么其他的安全问题?

Joseph: 因为我们正在做的并且正在聚焦的是数字身份上要解决的一些问题,这些问题影响隐私和安全,其中很多都与数据所有权有关,比如说,如果我们可以为某人提供数字身份,他们的数据保存在哪里?是在链上还是链下?终端用户是否拥有自己的私钥?所以我们非常专注于产品,还有新的用户体验,与用户互动并获得他们的反馈,我认为Roy是对的,需要关注现实世界应用的事物,如果我们从欧洲的角度来看,他们有数据相关的法律,如GDPR,关注人们的被遗忘权,因此我们要回答的隐私问题是:人们的数据存储在哪里?一个人的数据可以跨不同的区块链进行交互操作吗?它可以跨不同的区块链被提取吗?所有这些问题都伴随着安全风险和安全缺陷。

我们的观点是,首先我们采用产品和以用户为中心的方法,并在任何适用于该应用的协议上构建应用。举个例子,我们正在为世界妇女银行推出200万个用户的项目,项目聚焦于小额保险中的数字身份,提供给某些发展中经济体,例如印度尼西亚的女性。我们是区块链不可知论者,所以我们真的很想看看我们的客户想做什么?他们想在哪里保存数据?是否只保存在用户方?用户是否了解所有的安全机制?他们是否受过教育,并且知道怎么使用该应用、怎么使用他们的身份和了解数据是如何被存储的?如果他们使用公链,他们要为交易付费,如果他们使用许可链,那数据会存储在哪里?是为客户存储还是为终端用户存储?这些是一些我们要解决的非常、非常困难的问题。 问题5:在各位的领域或项目中,针对这些安全问题有什么改善方法?

Joseph: 其中一个我们尝试构建的技术是零知识证明,一个人如何决定共享他们的数据,并且知道他们的数据可以与保险公司等其他参与方安全共享,如果涉及到银行,如果涉及到中间人,例如开发机构,如地方政府,人们需要了解数据将流向何方,所以我们正在测试零知识证明方案。

同样,我们有几个难题需要解决,比如验证、了解你的客户和反洗钱、个人的 KYC 和 AML。一个人获得了验证之后,他们是否愿意分享他们的数据?所以非常重要的是要把零知识证明放到我们正在做的事情当中,而且这似乎也可以保护终端用户和他们的数据。同样的,我们继续专注于产品,专注于应用层面,然后,在真正取决于使用情况和客户想要做什么的协议层面上来完成构建,我们发现零知识证明的整合效果很好,人们能够轻松拥有和管理自己的私钥。 Adelyn: 在Chainlink,我们有一个叫做纵深防御的系统,在这个系统中我们有多个安全层,安全层取决于具体的DeFi项目或者你需要用它来进行什么安全保护。如果你想要很高的安全性,你可以添加不同的层,如果你不想要那么高的安全性,你也可以这么做。在纵深防御中也可以做到,我们有TEE,我们还用不同的代码审计了所有内容,我们还拥有非常强大的顾问从事非常着名的学术研究,研究最新的安全技术,同样一切也都是开源的,这样更多人就能够看到代码,确保没有任何遗漏的地方,此外,在项目方面,这让他们变得更加安全。 蒋旭宪: 同样的,因为我们观察到一些有趣的基于安全事件的安全转移,我认为,像项目、团队,除了常规代码审计外,他们还需要更多地关注经济审计方面,经济审计方面可以暴露出不同项目中的一些综合风险,当然,最后一个建议就是要更关注区块链数据,例如运行数据,尝试监测系统中正在发生的事情,与其他方面的交互是怎样的,希望可以提供及时警报,可以基于一些风险控制矩阵,为特定项目定义,并且制定一些可持续性计划,在不同的层级都要这么做,比如限制器开关或是安全逃生舱口,这些需要在系统中做好部署,这样可能就可以最小化风险,或者甚至可以尽早检测出风险。 严强博士: 首先,我们所做的所有事情都是为了确保质量,并确保不会犯任何错误,我想说从联盟链领域来讲,传统的企业安全措施依然适用,我们仍然可以使用老方法来保护所有真实系统,当然,也有其他我们可以使用的保护手段。存在其他组件与智能合约等其他事物相关联,在考虑安全方式和流程的时候,也需要同时考虑他们其中一件重要的事是,我们想尽可能地使安全审查流程自动化,这实际上是非常具有挑战性的。

我们同时与几所知名大学开展了相关合作,一些教授提出了用AI技术来改进针对开源系统和开放式系统的自动化安全扫描,但从某种程度上,我们仍有很多问题要解决,但是对于那些已知的安全问题模式来说,是很容易识别的,这些模式中的大多数都很有效,你可以用这类工具帮你找到问题。

下一点,之前我提到过,从客户角度来看,当他们提到安全时,他们实际上说的是安全和隐私,所以我们需要同时提供隐私特性和安全性,那么,为了满足这一需求,我们推荐大家使用精心设计的中间件解决方案。从微众银行的角度来说,我们在构建这类解决方案上投入了很多,所以当你想要安全地整合某些特性时可以节省很多投入。

我可以举几个简单的例子,我们有WeCross,这是跨链解决方案,我们已经实现了FISCO BCOS与超级账本之间的异构跨链联通。

我们也提供了WeIdentity,它是一个分布式身份系统解决方案,最后一个例子,我想提的是WeDPR,WeDPR是一种以场景为中心的解决方案,可以快速满足你的业务需求,并提供定制化隐私保护的特性。

除了这些技术和解决方案之外,最后一个建议是始终建立备选方案,即使是区块链也是一样,(备选方案)帮我们从损失中恢复 同时也可以一定程度上控制损失。 Yudan: 开源是区块链中的一个危险的问题,攻击者会根据你的开源代码找到代码漏洞,因此 我认为dApps和所有智能合约都应在上线之前进行安全审计。另一方面,除了安全审计,智能合约开发者也可以参考安全开发指南中的智能合约来避免开发过程中的费率,他们还可以运用安全常识,例如Cheryl Bates开发的Sleeter,来帮助开发者检测其智能合约代码中的安全漏洞,我认为这很有帮助。

另一方面,现在越来越多的智能合约使用预言机机器从外部提供数据,例如价格或其他任何东西,我认为在预言机机器中可能存在一些安全问题,因为现在许多智能合约只使用一台预言机机器,这可能容易出现单点故障,当出现这样的故障时,智能合约将受到预言机机器的影响,因为他们不再提供数据或提供一些错误的数据,这对于智能合约来说是很危险的,所以我建议智能合约应该有一个备用的预言机机器,这可以帮助智能合约避免单点故障。 Roy: 从我们的角度来看,第一个问题是溯源问题,这个问题是牲畜的可追踪性,第二个问题是跨境融资的交易性问题,所以这是两种不同的性质,涉及许多技术以外的问题。当我们设计FarmTrek,既一个解决溯源的区块链,背后的原则是我们只用我们需要用的东西,所以出于特定原因,我们选择使用Multichain。这是一个私链,它是非图灵完备的,因为它所做的只是溯源。另外,因为FarmTrek实际上是物质世界和数字世界之间的交互,所以现实世界与数字世界之间的实质连接对我们非常重要,确保这个连接是安全的设计我们怎么管理物联网设备以及外部组件,从而来实现与区块链交互,所以在数据进入区块链之前,我们要通过我们的设计和技术,确保这个部分得到非常好的保护,就像Adelyn刚才说的“无用输入,无用输出”,无论如何,是中心化还是去中心化的预言机,最终什么才是真正的事实?

实际上,在现实世界中几乎没有所谓的真实的事实或绝对的事实,这只是一个近似的事实,即使你有多个来源,他们也可以互相泄漏,特别是当他们通过经济激励机制来奖励预言机服务提供商来提供高质量数据时,也同时在制造人们作弊的机制,互相复制数据,所以即使你从谷歌那里获取数据也不代表那是正确的,即使是值得信赖的来源,那也可能是假的,这就是为什么从我们的角度来看,抓住问题的“第一公里”对我们非常重要,也就是抓住来源,我们必须创建一个可信赖的来源,然后预言机可以使用这个数据来源来提供任何他们想要的服务,这就是我们的出发点。

—-

编译者/作者:隔夜的粥

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...