Nym Wallet Security Audit
Nym Wallet 的安全审计
简介
2022年12月,Nym接受了[橡树安全](https://www.oaksecurity.io/)进行的独立安全审计。 a 总部设在德国的网络安全咨询公司,专门审计第三代区块链和去中心化的协议。 拥有宇宙、Terra、Polkadot和Flow等生态系统方面的广泛经验, 橡树安全的任务是评估Nym生态系统的两个关键组成部分:⑴ Nym mixnet和授予合同(见[完整报告](https://github.com/oak-security/audit-reports/blob/main/Nym/2023-03-27%20Audit%20Report%20-%20Nym%20Mixnet%20and%20Vesting%20Contracts%20v1.0.pdf))和⑵ Nym Wallet (见[完整报告](https://github.com/oak-security/audit-reports/blob/main/Nym/Audit%20Report%20-%20Nym%20Wallet.pdf)) 审计的目的是评估这些组成部分的安全性和健全性,查明潜在的弱点,并确保遵守安全代码制定方面的最佳做法。 为了更容易跟随的事情,我们已经对每个组件分解了调查结果。 您可以查看Nym mixnet的审计摘要并授予合同 (https://nym.com/trust-center/oak-security-audit-contracts-2023)
Oak Security的Nym Wallet 审计摘要
这次审计历时两个星期,来自橡树安全公司的四名专家参加了这次审计。 Nym小组提供了全面查阅整个代码库、项目规格和相关文件的机会。 审计范围涵盖“nym-wallet”储存库。
审计员全面评估了钱包储存库,评价了它的安全脆弱性、整合机制、密码强度和总体遵守安全发展做法的情况。
橡树安全采用混合方法,将自动分析与人工代码检查结合起来,以发现安全方面的弱点。
二. 调查结果概述
发现Nym Wallet 有一个结构完善、可读性中等至高的代码库。 审计员建议扩大测试范围和文件编制,以提高可靠性和可维护性。
关于Nym Wallet一共报告了17项调查结果。 没有一个被列为临界值; 其中4人被评为主要人,其余13人被归类为次要或信息丰富,为进一步完善钱包的实施提供了机会。
Nym小组迅速处理了所有主要调查结果,橡树安全公司审查并核准了修复。
NYM-WALLET-1: 注销后仍在内存中的密码 (Major)
审计员发现,与mnemonic不同,用来检索密码即使在用户退出后,仍然可在内存中看到。
为了解决这个问题,Nym实施了一个在注销和创建帐户时回收窗口的解决方案。 此操作有效地摧毁了WebView,它持有JavaScript运行时间并清除任何敏感数据,包括内存中的助记符和密码。
NYM-WALLET-2:在钱包内创建帐户后Mnemon(Major)
审计员们发现,当用户注销时,mannemon已正确地在内存中覆盖,但在帐户创建后情况并非如此。 具体而言,当钱包中创建一个新账户时, 即使在用户注销后, mnemon也未从内存中清除,可能会暴露敏感信息。
在NYM-WALLET-1号文件中实施的解决办法也纠正了这个问题。
NYM-WALLET-3:限定范围的密码特殊字符(Major)
审计员们发现,钱包中的密码强度组件使用正则表达式来执行密码强度, 但这种模式限制性过强,建议使用一套更灵活的符号来允许更广泛的密码。 我们根据审计员的建议,通过更新电子形式来处理这个问题,允许范围更广的人物和加强密码安全。
我们通过整合Dropbox "zxcvbn"包来解决这个问题,以便更准确和强大的密码强度验证。
NYM-WALLET-4:用户被迫将麦克风短语复制到剪贴板(Major)
在创建帐户期间,用户会收到mnemonic短语,并需要点击"复制Mnemonic"按钮将短语复制到剪贴板。 审计员认为这种做法是一种安全风险,因为其他应用软件可能会进入该模组。
为了解决这个问题,我们通过移除“复制Mnemonic”按钮,执行了审计员建议的修复。 而是这样。 我们添加了关于安全储存和使用助记词句的指南和一个复选框,供用户确认他们已经阅读和理解所提供的信息。
Last Words
我们要感谢橡胶安全小组在整个审计过程中所表现出的专门知识和奉献精神。 我们还赞赏在审计的规划和执行阶段所表现出的合作和专业精神。 我们对安全的持续承诺仍然是最高优先事项。 我们期待着继续与安全专家建立伙伴关系,以维护我们生态系统的最高标准。