• 简体版 | 繁體版
  • 联系我们
  • 加入我们
  • 关于我们
  •  
  • 首页
  • 快讯
  • 价值号
  • 视频
  • 专题
  • 滚动
  • 入驻价值号
  • 碳链APP
    微信公众号

    扫码下载App

  • 登录
  • 微信公众号

    微信公众号

导航
  • 首页
  • 快讯
  • 区块链+
  • 价值号
  • 视频
  • 专题
  • DeFi优选
碳链价值APP
专注服务于金融科技和区块链
立即打开

a16z:给 Web3 项目的智能合约安全指南

UnitimesUnitimes  •  2022-06-08
本文概述了 Web3 开发人员和安全团队在设计、开发并维护智能合约时必须考虑的安全要素,覆盖了从威胁建模到应急响应准备的整个周期。

通常,黑客会发现并利用软件开发整个流程链条(从设计到部署再到维护)中的缺陷,从而打破区块链项目的安全屏障。如果能够提前了解到相关经验,我相信安全事故会少很多。

本文概述了 Web3 开发人员和安全团队在设计、开发并维护智能合约时必须考虑的安全要素,覆盖了从威胁建模到应急响应准备的整个周期。

开发一款安全的软件包括以下五个阶段:

  1. 设计:开发人员描述系统所需的功能和操作,包括重要的基准和固定属性;

  2. 开发:开发人员编写系统代码;

  3. 测试和评审:开发人员将所有模块聚集在一个测试环境中,并评估它们的正确性、规模和其他因素;

  4. 部署:开发人员将系统投入生产;

  5. 维护:开发人员评估和修改系统,确保其执行预期功能。

 下图将需要考虑的安全因素与上述阶段对应起来。

需要注意的是,软件开发的生命周期并不一定总是遵循线性的路径:各类别可能重迭或扩展到其他阶段。对于每个版本,步骤可能会重复。有些安全任务(如测试和安全审查)可能需要贯彻执行。

上面描述的软件生命周期步骤和相应的安全考虑为促进智能合约安全性提供了基础。下面将从三个问题出发,进行更详细的研究。

1. 设计阶段的智能合约安全考虑——考虑威胁建模和安全设计

  • 内容:从项目开发生命周期初期就明确识别系统的潜在威胁,并确定其优先级是关键。智能合约开发人员应该识别在开发中要实现的所有安全控制,以及在测试、审计和监控中应该检查的威胁。所有安全假设,包括攻击者预期的复杂程度和经济手段,都应该在设计阶段明确定义和阐明。

  • 原因:虽然对开发人员来说,只关注智能合约或协议的预期用途非常吸引人,但这唯一的焦点可能会给他们留下“盲点”,会被攻击者利用。

  • 方法:遵循已知的威胁建模实践。如果一个开发团队没有内部的安全专家,那么它应该在设计阶段的早期就与安全顾问接触。在设计系统时要有“攻击者”的心态,并预先假定任何个人、机器或服务都有可能受到攻击的情况。

2. 发展阶段的保安考虑——管理考虑和访问控制

  • 内容:实施访问控制,限制对特权帐户和智能合约调用执行管理任务(如升级合约和设置特殊参数)的特殊功能的能力。遵循“最小特权原则”——每个参与者应该只拥有所需的最小访问量。

  • 原因:通过升级和治理流程维护协议,开发人员可以通过添加新功能、修补安全问题和解决不断变化的条件来改进协议。如果升级能力没有得到适当的控制,这可能会构成严重的安全漏洞。

  • 方法:建立多重签名钱包或 DAO 合约,以透明的方式代表社区管理变更。变更应该经过彻底的审查过程,并设置一个时间锁定(故意推迟规定的制定并具有取消的能力),以确保在治理攻击的情况下可以验证其正确性并回滚(rolled-back)。确保在自行保管钱包或安全保管服务中可安全存储和访问特权密钥。

3. 考虑可重复使用的、经过实战测试的模板和集成

  • 内容:尽可能利用现有的智能合约标准(如 OpenZeppelin 合约),并评估可能需要与现有协议进行的协议集成的安全性假设。

  • 原因:使用现有的经过实战检验、社区审计的标准和实施降低安全风险方面的措施会有很大的帮助。评估协议集成的风险有助于开发安全检查,以防止对外部组件(如预言机操纵)的攻击。

  • 方法:导入经过安全审计的受信任合约库和接口。Web3 的重点是开源使用、重用性和可组合性。确保在代码库中记录合约依赖项及其版本,尽可能减少代码占用。例如,导入大型项目的特定子模块,而不是导入所有内容。了解你的风险敞口,监控供应链攻击。使用官方接口调用外部协议,并确保考虑到潜在的集成风险。监控重复使用的合约的更新和安全披露。

4. 测试和评审阶段的安全性考虑——考虑测试和文档

  • 内容:创建清晰、全面的代码文档,并建立一个快速、彻底、易于运行的测试套件。在允许的情况下,在测试网或通过主网模拟建立测试环境,进行更深入的实验。

  • 原因:写出对代码库预期行为的假设有助于确保威胁模型中的风险得到解决,并且用户和外部审计员可理解开发团队的意图。为代码创建测试套件有助于证明(或反驳)开发假设,并鼓励对威胁模型进行更深入的思考。这个测试套件应该包括在极端市场场景下检查项目代币经济的机制设计测试,以及单元测试和集成测试。

  • 方法:实施已知的测试框架和安全检查器,如 Hardhat、Mythril、Slither、Truffle 等,它们提供不同的测试技术,如模糊化、属性检查,甚至正式验证。使用 NatSpeccomments 大范围记录代码,从而指定预期的副作用、参数和返回值。使用文档生成工具以及高级设计说明生成实时文档。

5. 考虑内部审查和安全审计

  • 内容:花时间通过内部和外部代码检查来发现漏洞。

  • 原因:从特性开发转向关注安全问题给了开发人员时间来发现潜在的模糊问题。外部审计在这方面尤其发挥作用,因为它们可以带来开发团队不具备的外部视角和专业知识。

  • 方法:在项目开发的适当节点,冻结某功能,从而有时间进行内部审查,然后进行外部审计。这应该在任何实际部署和升级之前进行。

请查看 ConsenSys、Nassent、OpenZeppelin 和 Trail of Bits 的指南,这些指南为开发人员提供了考虑事项清单,包括时间安排,供任何准备审计的人参考。还要确保检查部署交易,确保它们使用经审核的代码版本并具有适当的参数,特别是在升级软件时。

6. 部署和维护阶段的安全考虑——激励白帽社区参与

  • 内容:创建鼓励社区参与开源代码库安全改进的程序。一种方法便是创造漏洞奖励。另一种方法是鼓励社区开发协议监控检测机器人。

  • 原因:开发团队可以从大范围的知识和经验中获益(这也是开源在加密领域的作用)。这样的程序可以帮助激发对一个项目的热情,从本质上把社区和白帽黑客变成布道者。通过为黑客提供成为防御者的途径,它们还可以帮助将潜在的攻击者转变为安全资产。

  • 方法:使用漏洞赏金平台(如Code4rena、HackenProof、mmunef或Secureum)激励熟练的黑客安全地披露漏洞。

注:文中的一些作者在 Forta 公司工作,该公司拥有一个网络,为去中心化创建高质量安全监控机器人提供了一个代币化激励结构。开发团队可以鼓励他们的协议社区利用传统和 Web3 原生的两种方法来激励漏洞奖励,并通过增强安全性来让参与者潜在地获利,实现双赢。

7. 实时监控安全考虑

  • 内容:实施监控智能合约和关键操作组件(如预言机和跨链桥)的系统,并根据已知的威胁模型向开发团队和社区报告可疑活动。

  • 原因:问题的早期检测使团队能够快速响应漏洞,潜在地阻止或减轻任何损失。

  • 方法:使用监控平台或分布式节点运行机器人,实时监控智能合约事件。根据需要为开发团队和更广泛的社区插入数据仪表板和警报通知。

8. 意外和紧急情况响应操作的安全考虑

  • 内容:使用能够在发生任何安全问题时立即做出响应的工具和流程。

  • 原因:即使有最好的部署前保障措施,智能合约和关键组件(如预言机和跨链桥)仍有可能出现实时问题。配备专门的人员、清晰的流程和适当的自动化设备,确保可以快速调查事件,并尽快解决。

  • 方法:为最坏的情况做准备,计划如何应对事件或紧急情况,并在最大程度上自动化响应能力。包括分配调查和响应的责任,这些人员可以通过分布式安全邮件列表、代码存储库中的指示或智能合约注册表就安全问题公开联系。根据协议的威胁模型,开发一组流程,其中可以包括场景演练和采取紧急行动所需的预期响应时间,可以考虑将自动化集成到紧急事件响应中。

安全考虑应该是成功开发的一个组成部分,而不只是事后考虑或补充。虽然这个框架分享了一些构建 Web3 协议和应用程序的快速指南,从而促进整个开发过程中的安全性,但没有任何简短的概述可以全方面讨论智能合约安全。缺乏内部安全专业知识的团队应该联系合格的 Web3 安全专家,他们可以指导并帮助应用于他们的特定情况。

请记住,安全性不是一个简单的问题。安全性将永远是一套永无止境、持续不断的最佳实践。我们仍然处于建立这些实践的初期阶段,现在是时候为所有开发人员协作创建和共享它们了。

展开全文
打开碳链价值APP  查看更多精彩资讯
声明:本文内容为作者独立观点,不代表碳链价值立场,且不构成任何投资理财建议。
0 0
Web 3.0

扫一扫,分享到微信

相关推荐

Web3:开源文化下的技术创新 深度

Web3:开源文化下的技术创新

阿法兔研究笔记 2022-11-04 深度
Web 3.0
到底什么是Web3? 或者说,大家所认为的Web3到底有什么愿景?特性是什么?
详解 DID 现状及未来发展方向:Web3 进入下一阶段的中间件 深度

详解 DID 现状及未来发展方向:Web3 进入下一阶段的中间件

区块律动BlockBeats 2022-11-04 深度
去中心化身份Web 3.0
DeFi 还是有门槛的,未来并不会直接面向用户的。
下一代互联网 到底是Web3还是元宇宙? 深度

下一代互联网 到底是Web3还是元宇宙?

白话区块链 2022-11-04 深度
Web 3.0
一文厘清Web3、元宇宙、区块链之间的关系。

碳链快讯更多 ›

2023-03-25

美财长耶伦主持召开紧急金融稳定会议

2023-03-25

94岁的英特尔联合创始人戈登·摩尔去世,为「摩尔定律」提出者

2023-03-24

欧盟反洗钱法案对加密货币支付的限制恢复到最初版本

2023-03-24

Tether CTO:Tether Q1 利润约 7 亿美元,超额储备将达 16.6 亿美元

2023-03-24

CNBC 披露币安员工及志愿者引导用户规避 KYC 限制,币安回应会对违规人员采取行动

2023-03-24

Do Kwon 在塞尔维亚成立加密公司,检方正调查该公司是否用于洗钱

2023-03-24

OpenAI正为ChatGPT添加插件支持,允许使用第三方服务

2023-03-24

Cathie Wood 旗下方舟基金购买 1780 万美元 Coinbase 股票

2023-03-24

Character.AI完成1.5亿美元融资,a16z领投

2023-03-23

Do Kwon 已在黑山被逮捕

2023-03-23

美众议院:工作量证明挖矿是美国实现能源独立和持续国家安全能力的重要组成部分

2023-03-23

美国银行:区块链软件的下一步发展才刚刚开始

2023-03-23

中办、国办:加快推进区块链等在医疗卫生领域中的应用

2023-03-23

马斯克:需支付3 DOGE来参观飞船发射

2023-03-23

做市商Wintermute Trading已收到4000万枚ARB,并少量转入到交易所测试

2023-03-23

Coinbase首席法务官:美国SEC仍没有关于加密货币的明确规则手册

2023-03-23

美CFTC技术咨询委员会已在今日会议中听取加密公司对DeFi领域关键问题的介绍

2023-03-23

胜利证券获香港证监会同意可管理投资虚拟资产的投资组合

2023-03-23

Coinbase、Justin Sun今日均遭美SEC指控,希望寻求更透明的监管准则

2023-03-23

香港特区政府委任Nano Labs创始人孔剑平为香港数码港管理有限公司董事

2023-03-23

高盛正用ChatGPT风格的AI工具来协助编写代码

2023-03-23

币安恢复收取比特币交易手续费

2023-03-23

Coinbase 已收到美 SEC 的韦尔斯通知,称其可能违反证券法

2023-03-23

美 SEC 指控孙宇晨及其三家全资公司,称其涉嫌非法销售证券和操控市场

2023-03-23

美联储宣布加息25个基点

2023-03-23

Uniswap 推出 Mini Portfolio 功能,用户可以查看和管理自己资产

2023-03-22

Telegram 支持用户在聊天中发送 USDT

2023-03-22

英媒:硅谷银行首席风险官空缺长达8个月

2023-03-22

BitRock Capital 拟于第三季度完成 1 亿美元新基金募集,将投资 SaaS 及 Web3 领域

2023-03-22

俄罗斯加密交易所 Bitzlato 现允许用户最多提取 50% 比特币

2023-03-22

Race Capital 完成 1.81 亿美元二期基金募资,已投资 10 个项目

2023-03-22

OneCoin 前合规负责人被引渡美国受审,恐面临 40 年监禁

2023-03-22

韩国游戏巨头 Nexon 宣布在 Polygon 上推出 NFT 游戏 MapleStory Universe

2023-03-22

富士通提交涵盖数种加密货币服务的商标申请

2023-03-22

白宫公开抨击数字资产给消费者和整个美国金融体系带来风险

2023-03-22

数字资产交易公司 Crossover Markets 获得 635 万美元的种子资金

2023-03-22

Cathie Wood 的 Ark ETF 出售 1350 万美元的 Coinbase 股票

2023-03-22

索尼已申请 NFT 相关专利,支持 NFT 在不同的游戏和平台转移

2023-03-22

加密初创公司 Turnkey 从红杉资本和 Coinbase 获得 750 万美元种子轮融资

2023-03-22

美国参议员敦促监管机构对加密公司的「虚假审计」采取行动

2023-03-22

Magic Eden 推出比特币 NFT 市场

2023-03-22

Sushi DAO 收到美国 SEC 传票

2023-03-21

美国国税局正考虑是否对 NFT 征税

2023-03-21

谷歌宣布推出人工智能机器人Bard 与ChatGPT展开竞争

2023-03-21

链游开发商CCP Games完成4000万美元融资,a16z领投

2023-03-21

比特大陆开启披萨节庆贺活动,可铸造NFT快速交易算力

2023-03-21

Coinbase 主管:以太坊上约 11.5 亿美元的资金已永久丢失

2023-03-21

Coinbase 向美 SEC 提交请愿书,强调加密质押服务不应按证券法处理

2023-03-21

Coinbase:目前 ChatGPT 执行的自动代币审查还没有达到安全标准

2023-03-21

红杉资本开放 Arc Europe 申请,以帮助 Pre-seed 和种子阶段公司发展

推荐文章

  • a16z 为何选择将自己变成媒体?

    2022-06-08

  • 新加坡副总理:Web3.0技术浪潮的出现是好还是坏?

    2022-06-08

  • a16z:如何建立提高智能合约安全性的开发流程

    2022-06-08

  • 美国最新加密货币法案重点:分类监管 鼓励比特币支付

    2022-06-08

  • 无国籍货币:自由银行时代和野猫银行家的教训

    2022-06-08

价值号更多 ›

吉时通信
吉时通信
文章: 133
  • 以太坊合并:如何影响显卡和区块链行业?
  • 以太坊合并的底层观察:区块结构和MEV
  • 宏观视角解析LUNA和UST崩盘:稳定币的路在何方?
链集市ChainMarket
链集市ChainMarket
文章: 179
  • 区块链会彻底改变整个亚太地区供应链吗?
  • 区块链产业周刊丨北京发布数字经济全产业链开放发展行动方案;江苏省成立区块链发展协会;重庆启动数字人民币缴税试点
  • 区块链产业周刊丨全球区块链商业委员会与全球数字金融合并;最高人民法院发布区块链司法应用相关意见;蚂蚁链区块链应用专利获国家授权
Unitimes
Unitimes
文章: 384
  • a16z:给 Web3 项目的智能合约安全指南
  • Web3 与Web2:根本意识形态分歧
  • 以太坊漫游指南:读懂以太坊发展路线图
换一批

热门标签

新基建 比特币 以太坊 矿业 DeFi 共识对话 区块链+ 研报 美联储 央行数字货币 无限QE 加密衍生品 AI 云计算 大数据 5G 政策 交易所 稳定币 电子支付 Libra 算力产业 联盟链 公链 区块链 加密货币 Nervos Cosmos EOS STO

邮件订阅

及时、全面、专业、准确的资讯与数据,致力于为区块链爱好者以及数字货币投资者提供最好的服务。

App内打开

邮件订阅

及时、全面、专业、准确的资讯与数据,致力于为区块链爱好者以及数字货币投资者提供最好的服务。

Moshou

碳链价值是集资讯、行情、数据于一身的区块链信息服务平台,我们追求及时、全面、专业、精确的资讯与数据,致力于为区块链创新者和数字货币投资者提供优质的服务。

关于我们 加入我们 联系我们 隐私条款
微信公众号

扫一扫关注微信公众号

Copyright © 2018-2020 碳链价值 京ICP备18046423号
下载碳链App

下载碳链App

微信公众号

微信公众号

微信公众号

微信公众号

打赏文章作者

支付宝打赏二维码 支付宝扫一扫打赏
微信打赏二维码 微信扫一扫打赏

# 热门搜索 #

CBDC 比特币 DeFi 以太坊 区块链