跳到内容

加密安全报告:2022年5月

Endo 的 import.meta 和 __dirname 实现用于 MetaMask 模块兼容性,基于多方计算的分布式密钥生成原型 snap(适用于 MetaMask Flask),以及 MetaMask HackerOne 漏洞赏金计划的启动。

4 分钟
加密安全报告:2022年5月

每月,MetaMask 安全总监 Luker 都会报告您需要了解的最新加密攻击事件和新兴风险。

2022 年 5 月版涵盖了 MetaMask HackerOne 漏洞赏金计划的启动、Endo 对 import.meta 和 __dirname 的实现(以提升 MetaMask 依赖兼容性),以及一个分布式密钥生成原型 snap——展示了 MetaMask Flask 中的多方计算签名功能。请阅读以下详细内容,但首先……

精选 STEM 先驱:Adi Shamir——RSA 联合发明人与秘密共享方案创始人

Adi Shamir 是一位以色列密码学家,1977 年与 Ron Rivest 和 Leonard Adleman 共同发明了 RSA 算法——这是首个实用的公钥密码系统,三人因此荣获 2002 年图灵奖。1979 年,他发表了《如何共享一个秘密》,提出了 Shamir 秘密共享方案:该方案将秘密拆分为若干份额,只需达到阈值数量的份额即可重建原始秘密。这一特性是本报告所涉及的分布式密钥生成工作的基础。

MetaMask 启动 HackerOne 漏洞赏金计划

MetaMask 于 2022 年 6 月在 HackerOne 上启动了漏洞赏金计划,在 HackerOne 平台上开辟了一个正式渠道,供安全研究人员报告 MetaMask 产品中的漏洞。

Endo 实现 import.meta 和 __dirname,推进 MetaMask 依赖兼容性

随着 2022 年 4 月 Endo CommonJS 支持工作的推进,端到端测试结果显示,运行主流模块时剩余的最大障碍是对 import.meta.url 和 __dirname 的支持。

2022 年 5 月 3 日,Agoric、MetaMask 和 Moddable 召开会议,就模块导入过程中 import.meta 的处理时机达成一致。importMetaHook 概念被引入 Compartment 规范。该钩子仅在静态分析表明模块访问 import.meta 时才会被调用——因为 Node.js 会在此处附加一个 resolve 函数,且其创建开销较大,因此最好仅在结果可能被使用时才调用该钩子。

import.meta 的实现已完成(规范 issue、实现 PR)。剩余工作是在 Endo 中默认实现将 import.meta.url 传入模块。__dirname 的实现也已完成(PR),经过多次迭代以确保正确性并支持 Windows 路径。

此外,还新增了对嵌套 package.json 文件的支持,可更改 .js 文件的默认模块类型假设,使 compartment-mapper 能够处理旨在同时支持 CommonJS 和 ES 模块规范的复杂结构包(来源)。

__esModule 行为支持目前处于搁置状态。两次实现尝试均导致端到端测试得分下降。第三种方案——将支持逻辑放置在 SES 内部的 ThirdPartyModuleInstance 中——被认为存在争议。该功能在 issue #927 中持续跟踪。

分布式密钥生成原型 snap 展示 MetaMask Flask 中的 MPC 签名

多方计算(MPC)能力方面取得了新进展。我们的团队基于早期的概念验证 WebAssembly(WASM)绑定,创建了一个可在 MetaMask Flask 中使用的原型 snap,展示了分布式密钥生成(DKG)和消息签名功能。该 snap 支持导出和导入密钥份额,以及密钥生成和保存消息签名证明。

在底层实现上,该软件包采用了 GG2020(Gennaro and Goldfeder 2020,论文)的一个实现。该协议支持非交互式在线阶段,允许参与方异步参与而无需同时在线,并能高效检测中止方。

后续步骤包括:为 snap_manageState 添加加密支持,以消除 snap 代码中对密钥份额的手动加密;随后添加对签名交易的支持。该原型在 tss-snap 仓库中持续跟踪(最初以 ecdsa-wasm 名称发布)。


MetaMask 2022 年 5 月加密安全报告涵盖了 Endo 对 import.meta 和 __dirname 的实现(用于 MetaMask 模块兼容性链),以及展示 MetaMask Flask 中多方计算签名的分布式密钥生成原型 snap。浏览 MetaMask 加密安全报告的往期内容,了解更多威胁、趋势及生态系统安全防护建议。

AI 翻译。可能包含错误。请务必核实信息。

评价此翻译

本文作者:

  • Luker

      Jen Luker,大多数人直接称她为 Luker,是 Consensys 的产品安全总监。她领导着一支前线防御团队,保护数百万用户免受去中心化技术领域中漏洞、新兴威胁和恶意行为者的侵害。自 2017 年起,她便积极参与以太坊生态系统,曾担任 ETHNews 编辑及 MyCrypto 项目经理等重要职务。Luker 是行业会议的常驻演讲嘉宾,也是 MetaMask 月度《加密安全报告》的作者,并持有由 The DAO 授予的官方 ETH 安全徽章。她同样是持续教育与安全意识的热忱倡导者,视其为以太坊及区块链技术未来发展的重要基石。

      阅读所有文章