比特币:Ergo代码顺利通过全球顶尖密码学专家安全审计

审计人:JeanPhilippeAumasson

我们在此宣布,Ergo已顺利通过代码某些最关键部分的安全审计。此次安全审计由Jean-PhilipeeAumasson完成。

具体报告如下所列。没有发现任何重大问题。对所发现问题的评论如下:

1.关于钱包密码,我们将在下一版协议客户端中提供建议。不确定是否会对密码进行硬性执行,但我们会对此做更多的咨询。

2.只有在启动新网络时修改“n”和“k”参数才有意义。修改挖矿节点中的这些参数将使生成的区块对其他节点来说无效。修改协议客户端中的这些参数意味着要进行另一次分叉。因此,可能不需要进行额外核验,因为那些启动新网络的人会正确设置“n”和“k”参数。

3.目前Ergo节点以及我们知道的其他区块链协议客户端和钱包还有我们正在使用的密码库均无法提供防止本地运行的侧通道攻击的保护。所以,请保护好正在运行你钱包的设备!

摘要

我们应Ergo的请求对其Ergo平台的几个组件进行了安全评估:

Delphi Labs与Attic Labs已完成与Cosmos兼容的PCL AMM代码主要开发工作:2月4日消息,Delphi Labs与Attic Labs已完成与Cosmos兼容的被动集中流动性(Passive Concentrated Liquidity,简称PCL)AMM协议代码的主要开发工作,正在等待最终确定的审计结果。[2023/2/4 11:47:31]

l?西格玛协议证明的创建与验证

l?钱包对密语的安全存储

l?工作量证明

这份简短的报告概括了我们的评估,并说明了我们所发现的问题以及应对措施建议。

西格玛协议证明

Ergo协议依赖于ErgoScript,这是一种支持西格玛语句的脚本语言,可以通过非交互式知识证明来对其进行证明和验证。

这些证明是这样的语句,它被描述为由AND、OR和阈值条件组成的树,其树叶是离散对数问题的知识证明。

西格玛语句证明是非交互式的,这归功于Fiat-Shamir转换。

数据:71,000,000枚USDT从未知钱包转移到Kraken:金色财经报道,Whale Alert数据显示,71,000,000枚USDT从未知钱包转移到Kraken。[2022/8/16 12:27:05]

该逻辑在《ErgoScript白皮书》中有详细说明,且详细的证明与验证流程在其附录A中有介绍。

实现挑战则是:

l?定义安全高效证明的编码,并实现总是成功处理有效输入的序列化,以及总是无法处理无效输入的反序列化。

l?根据规范正确地实现证明与验证功能,最重要的是确保没有无效语句能够成功通过验证。

我们对这两个方面进行了审计,根据存储库sigmastate-interpreter中的代码和《ErgoScript白皮书》,对预期行为与实际所实现的行为进行仔细比较。

我们会重点审计了来自SigSerializer、Interpreter和ProverInterpreter特质和对象的代码。

我们主要寻找来自以下类别中的Bug:

消息人士:加密借贷平台Celsius已聘请重组律师:6月15日消息,据华尔街日报援引消息人士报道,加密借贷平台 Celsius 已经聘请了来自律师事务所 Akin Gump Straus Hauer & Feld 的重组律师,就其财务问题提供可能的解决方案。知情人士表示,Celsius 首先从投资者那里寻求可能的融资选择,但也在探索其他战略选择,包括财务重组。

此前消息, Celsius 上周由于市场剧烈波动暂停了账户提现、交易和转账。[2022/6/15 4:27:24]

l?不安全处理有缺陷的输入

l?不安全处理异常长或异常短的输入

l?大树深度或递归级时的行为

l?不安全使用Scala类型和结构

l?不合适的变量类型

l?整数溢出

l?竞态条件

l?逻辑错误

尽管进行了详尽审计,但我们并未发现任何安全问题。

协议的逻辑和内部机制是比较复杂的,我们认为最大的风险在于对证明进行分析与验证。然而,如要利用这些漏洞,攻击者必须创建一个在某种程度上会令自己受益且在不应通过验证时通过验证的语义正确脚本。

Ergo公链主网首次硬分叉升级完成:据Ergo官方消息,北京时间2021年2月2日晚上11点44分,Ergo公链在区块高度417792完成主网首次硬分叉升级,此举旨在进一步保证Ergo网络的完全去中心化。[2021/2/3 18:47:58]

在软件安全方面,Scala消除某些类别的Bug,但是由于Scala的特定行为或未处理的错误,Scala代码可能依然会受到Bug的困扰。

钱包

Ergo的钱包功能使其用户能够在磁盘上存储并恢复密语,且在初次使用的时候,可以用一个新的种子对钱包进行初始化。

该逻辑主要在ErgoWalletActor中进行定义,有关密语存储的一个主要组件是JsonSecretStorage。

首次创建钱包时,InitWallet命令执行以下操作:

l?生成作为初始熵的settings.walletSettings.seedStrengthBits随机位。在默认情况下,生成160位。

l?从生成的随机位中生成一个BIP39,这可以被视作熵位的一次编码。采用密码可选的标准BIP39逻辑。

数据:Verge(XVG)6月增长60%,居隐私币榜首:根据ICO Analytics发布的数据,Verge(XVG)在6月份的隐私币中表现最佳,增长约60%。另外,在所有7月即将发生重大事件的加密货币中,XVG在一个月内表现最好,甚至超过Cardano、TRON和Zilliqa。据悉,Verge(XVG)预计在7月13日减半。(Newslogical)[2020/7/10]

l?使用BIP39基于PBKDF2的推导逻辑,从助记词中推导出种子。

l?采用一个随机数,通过AES-GCM将种子加密到磁盘,使用拥有128000次迭代的PBKDF2-HMAC-SHA256,并利用一个随机盐从密码中推导出一个密钥。

如要解锁一个已创建好的钱包,用户提供密码,钱包将尝试解密所存储的数据。

如要从BIP39口令恢复现有帐户,需要执行一个类似于初始化的流程,只不过钱包将从助记词中而非通过挑取随机助记词的方式获得种子。

我们在此确定的两种风险包括:

l?缺乏对密码长度的检查:由于钱包是在磁盘上存储密语,密码足以访问种子,因此,从理论来讲,密码的熵至少应当与助记词相同,而在实际上应该很难破解。因此,我们建议采用最短的密码长度,如16个字符。

l?在钱包软件执行后,密语值的副本可能会留在内存中,这是诸如Scala等垃圾收集语言的内在局限性。

共享相同内存地址空间的另一进程或用户可能会恢复这些密语,并且它们也可能出现在崩溃转储中。据我们所知,在纯Scala中没有有效的缓解。

工作量证明的验证

在先前审计Autolykos工作量证明的安全性之后,我们进行了另一轮审计,重点审计了其最新的验证逻辑,特别是在提交eb0f85a中所做的更改。

主要的相关文件是AutolykosPowScheme,其他重要操作在诸如HeadersProcessor和ModifierValidator中实现。

经过检查,我们发现所实现的验证逻辑与Autolykos规范中所阐述的验证逻辑是一致的,且其已被妥善整合进区块头的验证逻辑中。

我们认为应解决以下两点:

l?对k和n进行更严格的验证:虽然类强制执行k<=32和n<31,但依然可以从授权参数中创建弱。因此,validate()函数可能需要进行额外的验证,确认n和k是否等于预期值。

l?主张k和n为正值,因为当前的负值将传递assert语句。

安全审计人简介

全球顶尖密码学专家Jean-PhilipeeAumasson

Jean-Philippe(JP)Aumasson是世界著名密码学专家、KudelskiSecurity的技术副总裁兼首席密码学家、Teserakt的联合创始人和TaurusGroup的首席安全官。Jean-Philippe于2009年取得世界顶尖理工院校洛桑联邦理工学院博士学位,且在KudelskiGroup从事应用密码学、安全架构和网络安全领域工作已有8年时间。Jean-Philippe撰写了广受赞誉的著作《严肃密码学》,并设计了得到广泛使用的BLAKE2和SipHash等算法。他已为领先区块链和加密货币组织执行了大量安全评估。他曾在BlackHat、DEFCON、RSAC、CCC和Infiltrate等会议上发表了有关应用密码学、量子计算和平台安全性的演讲。他也是《密码技术编码标准》和密码哈希竞赛的发起人。

Ergo平台简介

Ergo平台是一个安全、适应力强、开放、无需许可、去中心化的DeFi应用底层公链平台,主要专注于提供一种高效、安全、简便的方式去实现金融合约,也是一个合约币和智能合约平台。其背后技术团队拥有10年区块链理论研究和实战开发经验,Ergo将以此为基础构建高级加密功能和全新DeFi功能。Ergo现有实例涉及众筹、预言机、去中心化交易所、稳定币、NFT拍卖等。另外,Ergo将永守PoW,支持普通人GPU挖矿。

原文链接:

https://ergoplatform.org/en/blog/2020_01_12_security_audit/

审计人简介参考链接:

https://www.aumasson.jp/

https://www.blackhat.com/us-19/speakers/Jean-Philippe-Aumasson.html

https://opencryptoaudit.org/people

来源:金色财经

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

链链资讯

[0:15ms0-10:112ms