作者:AptosLabsandOtterSec
AptosNetwork使用Move智能合约语言作为底层编程模型。虽然Move是为安全智能合约的生态系统而设计的,但Move本身的错误实施可能会危及这些属性。在AptosLabs,我们致力于与社区一起使Move尽可能安全。
我们都在投资于编写正确智能合约的工具,以及Move虚拟机等运行时核心组件的正确性。在本文中,我们描述了我们如何与我们的合作伙伴一起通过审计、错误赏金、模糊测试和底层实现的安全强化来实现后者。
我们要保护什么?
Move的安全性基于一些基本属性。这些属性是根据Move执行引擎使用的字节码定义的,并且独立于源语言:
Terra Classic L1团队发布v2.1.0升级提案,旨在提高其性能和安全性:6月4日消息,Terra Classic(LUNC)L1团队发布v2.1.0升级提案,并计划在未来几周内启动该升级。该提案将于6月7日左右进行投票,并计划于6月14日进行升级。
据悉,该提案旨在提高Terra Classic的性能和安全性,该升级将包括以下几个方面的改进:优化交易处理速度,从而提高整体性能;引入新的安全特性,包括增强的身份验证和交易确认机制,以提高安全性;更新和修复现有的漏洞和错误,以确保系统的稳定性和可靠性。在升级之前,建议所有用户备份数据,并在升级后测试应用程序和合约以确保兼容性。[2023/6/5 21:15:15]
类型安全:每个值都有一个唯一且不可伪造的类型。例如,不可能获取类型为“address”的某些值并将其转换为类型为“signer”的安全相关令牌。
日本交易所Liquid前员工爆料:存在管理混乱、安全漏洞和合规性不足等问题:5月17日消息,FTX近日收购的日本交易所Liquid的多位前员工爆料,Liquid工作场所混乱,公司行政内斗严重,安全性和合规性也存在问题。例如,消息人士称,Liquid高管们淡化了一些信息安全漏洞,没有披露其他漏洞,未能充分解决低级别的内部盗窃问题,并过早停止了对去年 9000 万美元黑客事件的调查。
此外,前员工表示,Liquid 购买了自己的 QASH 代币,以在 2018 年熊市的部分时间里维持价格,并在报告其交易量时重复计算交易。而且,高级管理层为 Telegram 从未发行的 GRAM 代币提供了借据,忽略了内部合规团队的担忧,Liquid 曾在此次发行中损失了数百万美元。(Coindesk)[2022/5/17 3:21:25]
模块化封装:存储中的资源只能通过声明这些资源的模块内的代码进行操作。只有具有匹配可见性的函数才能称为跨模块。
声音 | 360安全专家:360在区块链领域的合约审计业务未来可能会走向免费化:在2018ISC互联网安全大会上,360安全专家李佳峰表示:由于区块链安全业务面向有定制业务需求的B端企业,不会像传统互联网安全业务面向庞大C端用户一样,短时间内实现免费化。[2018/9/6]
所有权和生命周期:Move的能力系统强制不复制、删除、存储或用作键,除非为值类型声明了相应的能力。
引用安全:引用不会比它们指向的值长寿。可变引用是专有的,因此不可能使用别名。
Move虚拟机的传统架构将上述属性的验证委托给验证器,如下图所示:
以下是我们感兴趣的问题:字节码验证器是否完整,是否保证每个程序都满足上述所有属性?这很重要,因为违反上述任何属性都可能导致资产损失。给定的Move字节码程序会使执行引擎崩溃吗?因为在复制状态机中,所有节点都执行相同的程序,这可以用来停止网络。给定的程序是否会导致执行引擎耗尽资源?这可以被用来进行DoS攻击,从而减慢或暂停网络。
腾讯手机管家安全专家杨启波:区块链类案件频发:腾讯手机管家安全专家杨启波介绍说,近来“区块链”类案件频发,不法分子以“投资虚拟货币周期短、收益高、风险低”为借口,取用户信任并诱使其转账进行投资。同时,他们还隐藏网站域名和各种联系方式,使受者无法验证公司资质,因而轻信套路。而一旦受害人向“交易网站”充值,不法分子又会诱其“向私人账户充值”,甚至直接提供假充值链接,并趁机取受害人银行账号密码。杨启波提出三点建议:一,应谨慎投资,不要相信“天花乱坠”的承诺,接到与“区块链”相关的来电后,务必在网上搜索验证其公司信息,以防轻信虚假投资局;二,不要随意点击不明链接,更不要轻易向个人账户转账;三,可以借助第三方手机安全软件,通过骚扰拦截功能拦截未知、加密等隐藏来电,避免上当受。[2018/4/11]
我们是怎么做到的?
开发无错误代码的核心是严格的软件工程实践与正确的工具相结合。在Aptos,我们遵循严格的强制代码审查和持续测试与集成流程,并结合Rust生态系统的最佳实践。除了这些传统方面之外,我们还采用以下措施来确保Move的安全性符合其设计要求。
审计和咨询
业内最受推崇的衡量区块链网络信心的措施之一是审计。在AptosLabs,我们与Certik和Halborn签订了审计Move虚拟机的合同。发现了多个关键问题,其中之一属于类型安全类别。
除了外部审计外,AptosLabs还领导并组织了社区审计工作,重点是字节码验证器。来自MystenLabs、Starcoin以及MoveBit和OtterSec等审计公司的工程师与Aptos工程师合作完成这项工作,投入了大约6人周的审计时间。此电子表格中捕获了此结果,参考了在此审计期间创建的数十个文档。在Aptos进入主网之前,这项审计工作发现并解决了多个问题。
最后但同样重要的是,我们与OtterSec有着密切的合作。OtterSec团队执行了手动代码审查并为各种目标开发了模糊测试技术,确定了MoveVM和Aptos框架代码中的多个关键问题。他们还带头努力向MoveVM添加冗余的纵深防御逻辑,影响我们正在进行的设计工作,以减轻进一步的资金损失漏洞。
BugBounty
AptosLabs运行一个漏洞赏金计划。对于可能导致资产损失的严重错误,提供高达1,000,000美元的赏金。同样,崩溃错误最高可获得100,000美元的奖励。
通过赏金计划,我们与一群才华横溢的安全研究人员密切合作,以查找和修复漏洞。其中一些错误属于严重类别,而其他错误是通过使用模糊器发现的崩溃。
AptosLabs履行了其在漏洞赏金方面的承诺,并支付了可观的赏金。此外,AptosLabs继续利用我们通过赏金计划遇到的白帽专家的专业知识,并打算继续与这个社区合作。
模糊测试
赏金计划促使我们自己投资AptosLabs的模糊测试。MoveVM代码已被修改以在相关点实现“Arbitrary”Rust模糊测试特性,从而允许使用“cargofuzz”来动态生成和验证字节码模块。我们有一些连续的工作在运行这些模糊测试目标。
冗余
实现额外安全保证的一种方法是通过冗余。我们向MoveVM添加了一种所谓的偏执模式,它在执行时强制执行类型安全和上述其他规则。虽然字节码验证器在代码进入系统时已经检查了这些属性,但偏执狂模式会在字节码执行期间再次验证相同的检查。偏执模式在Move社区内得到了广泛讨论,Aptos工程师领导了设计。有关更多信息,请参阅此PR和此PR。下一步是什么?
在AptosLabs,我们致力于使Move尽可能安全,并在该领域投入了大量资金。在这里,我们描述了我们和我们的合作伙伴围绕审计、漏洞赏金、模糊测试和强化所做的持续努力。展望未来,我们计划继续投资这个领域。我们将继续提供漏洞赏金计划,与信誉良好的安全审计师合作,并推动安全强化工具的开发,例如模糊测试技术。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。