本文来自a16zcrypto,原文作者:AndyBeal、NassimEddequiouaq、RiyazFaizullabhoy&ChristianSeifert,由Odaily星球日报译者Katie辜编译。
通常,黑客会发现并利用软件开发整个流程链条中的缺陷,从而打破区块链项目的安全屏障。如果能够提前了解到相关经验,我相信安全事故会少很多。
本文概述了Web3开发人员和安全团队在设计、开发并维护智能合约时必须考虑的安全要素,覆盖了从威胁建模到应急响应准备的整个周期。
开发一款安全的软件包括以下五个阶段:
设计:开发人员描述系统所需的功能和操作,包括重要的基准和固定属性;
开发:开发人员编写系统代码;
测试和评审:开发人员将所有模块聚集在一个测试环境中,并评估它们的正确性、规模和其他因素;
部署:开发人员将系统投入生产;
维护:开发人员评估和修改系统,确保其执行预期功能。
链游开发商CCP Games完成4000万美元融资,a16z领投:金色财经报道,链游开发商 CCP Games 完成 4000 万美元融资,a16z 领投,Makers Fund、Bitkraft、Kingsway Capital、Nexon、Hashed 等参投。
据悉,CCP Games 本轮融资用于制作一款以 Eve Online 宇宙为背景的新的 3A 区块链游戏。[2023/3/21 13:17:43]
下图将需要考虑的安全因素与上述阶段对应起来。
需要注意的是,软件开发的生命周期并不一定总是遵循线性的路径:各类别可能重叠或扩展到其他阶段。对于每个版本,步骤可能会重复。有些安全任务可能需要贯彻执行。
上面描述的软件生命周期步骤和相应的安全考虑为促进智能合约安全性提供了基础。下面将从三个问题出发,进行更详细的研究。
1.设计阶段的智能合约安全考虑——考虑威胁建模和安全设计
内容:从项目开发生命周期初期就明确识别系统的潜在威胁,并确定其优先级是关键。智能合约开发人员应该识别在开发中要实现的所有安全控制,以及在测试、审计和监控中应该检查的威胁。所有安全假设,包括攻击者预期的复杂程度和经济手段,都应该在设计阶段明确定义和阐明。
a16z领投游戏工作室Voldex的A轮融资,金额未透露:金色财经报道,专注于加密货币的投资公司 a16z 领投了对游戏工作室 Voldex 的 A 轮投资。金额未透露。Voldex 通过收购和改进现有游戏来提高 Roblox 和 Minecraft 等用户生成内容平台的质量。a16z 在一份声明中表示:“仅 Roblox 就有超过 5880 万用户,这些平台庞大且不断增长的用户群,以及 Voldex 团队对 UGC 游戏领域的深刻理解,使 Voldex 能够在未来几年显著增长” 。
此前消息,截至去年 12 月,a16z 部署了不到50%的 Crypto Fund 4,这是 5 月份推出的价值 45 亿美元的投资基金。[2023/1/25 11:29:00]
原因:虽然对开发人员来说,只关注智能合约或协议的预期用途非常吸引人,但这唯一的焦点可能会给他们留下“盲点”,会被攻击者利用。
方法:遵循已知的威胁建模实践。如果一个开发团队没有内部的安全专家,那么它应该在设计阶段的早期就与安全顾问接触。在设计系统时要有“攻击者”的心态,并预先假定任何个人、机器或服务都有可能受到攻击的情况。
A16z发布面向世界领导人的Web 3政策提案:金色财经报道,风险投资公司a16z发布了一份针对全球政府的政策议程,其中有关于如何 \"建立一个更好的互联网 \"的10条指导原则。在该议程中,a16z鼓励世界各国领导人积极思考Web 3政策,首先是建立一个清晰的愿景,提供适用于数字资产的清晰和公平的税收规则,拥抱多方利益相关者的治理等等。Web 3指的是可能的下一代互联网,包括去中心化的协议,旨在减少互联网用户对Facebook和亚马逊等科技巨头的依赖性。
去年10月,这家风险投资公司发布了一份针对美国立法者的类似的35页报告,名为 \"如何赢得未来\",以及向参议院银行委员会提出的关于澄清数字资产相关法律的建议。(coindesk)[2022/1/8 8:33:59]
2.发展阶段的保安考虑——管理考虑和访问控制
内容:实施访问控制,限制对特权帐户和智能合约调用执行管理任务的特殊功能的能力。遵循“最小特权原则”——每个参与者应该只拥有所需的最小访问量。
a16z合伙人:NFT用户群即将爆发:11月15日消息,a16z合伙人Katie Haun接受TechCrunch采访时表示,NFT目前较为集中的用户群即将迎来爆发,这将极大地改变消费者和内容创作者的互联网商业模式。NFT能让消费者摆脱对平台的依赖,即便平台(比如游戏)关闭,用户仍能将相关益处转移至其他平台。内容创作者可对数字商品进行编程,以便在未来的交易中持续获得财务收益,同时消除中间商抽成。目前该技术还处于早期阶段,有很多NFT被用于炫富目的,她认为未来会有更多现实世界中的基本商品以数字方式开发。(TechCrunch)[2021/11/15 6:52:09]
原因:通过升级和治理流程维护协议,开发人员可以通过添加新功能、修补安全问题和解决不断变化的条件来改进协议。如果升级能力没有得到适当的控制,这可能会构成严重的安全漏洞。
方法:建立多重签名钱包或DAO合约,以透明的方式代表社区管理变更。变更应该经过彻底的审查过程,并设置一个时间锁定,以确保在治理攻击的情况下可以验证其正确性并回滚。确保在自行保管钱包或安全保管服务中可安全存储和访问特权密钥。
动态 | 前Coinbase首席政策官加入a16z:据彭博社报道,Coinbase首席政策管Michael Lempres已经辞去在Coinbase的职务,加入风险投资公司Andreessen Horowitz(a16z)。据悉,Lempres从今年9月开始就职于Coinbase,由于其职位涉及与全球各种监管机构的谈判,他的离职给Coinbase未来的发展方向带来了一定的不确定性。[2018/11/22]
3.考虑可重复使用的、经过实战测试的模板和集成
内容:尽可能利用现有的智能合约标准,并评估可能需要与现有协议进行的协议集成的安全性假设。
原因:使用现有的经过实战检验、社区审计的标准和实施降低安全风险方面的措施会有很大的帮助。评估协议集成的风险有助于开发安全检查,以防止对外部组件的攻击。
方法:导入经过安全审计的受信任合约库和接口。Web3的重点是开源使用、重用性和可组合性。确保在代码库中记录合约依赖项及其版本,尽可能减少代码占用。例如,导入大型项目的特定子模块,而不是导入所有内容。了解你的风险敞口,监控供应链攻击。使用官方接口调用外部协议,并确保考虑到潜在的集成风险。监控重复使用的合约的更新和安全披露。
4.测试和评审阶段的安全性考虑——考虑测试和文档
内容:创建清晰、全面的代码文档,并建立一个快速、彻底、易于运行的测试套件。在允许的情况下,在测试网或通过主网模拟建立测试环境,进行更深入的实验。
原因:写出对代码库预期行为的假设有助于确保威胁模型中的风险得到解决,并且用户和外部审计员可理解开发团队的意图。为代码创建测试套件有助于证明开发假设,并鼓励对威胁模型进行更深入的思考。这个测试套件应该包括在极端市场场景下检查项目代币经济的机制设计测试,以及单元测试和集成测试。
方法:实施已知的测试框架和安全检查器,如Hardhat、Mythril、Slither、Truffle等,它们提供不同的测试技术,如模糊化、属性检查,甚至正式验证。使用NatSpeccomments大范围记录代码,从而指定预期的副作用、参数和返回值。使用文档生成工具以及高级设计说明生成实时文档。
5.考虑内部审查和安全审计
内容:花时间通过内部和外部代码检查来发现漏洞。
原因:从特性开发转向关注安全问题给了开发人员时间来发现潜在的模糊问题。外部审计在这方面尤其发挥作用,因为它们可以带来开发团队不具备的外部视角和专业知识。
方法:在项目开发的适当节点,冻结某功能,从而有时间进行内部审查,然后进行外部审计。这应该在任何实际部署和升级之前进行。
请查看ConsenSys、Nassent、OpenZeppelin和TrailofBits的指南,这些指南为开发人员提供了考虑事项清单,包括时间安排,供任何准备审计的人参考。还要确保检查部署交易,确保它们使用经审核的代码版本并具有适当的参数,特别是在升级软件时。
6.部署和维护阶段的安全考虑——激励白帽社区参与
内容:创建鼓励社区参与开源代码库安全改进的程序。一种方法便是创造漏洞奖励。另一种方法是鼓励社区开发协议监控检测机器人。
原因:开发团队可以从大范围的知识和经验中获益。这样的程序可以帮助激发对一个项目的热情,从本质上把社区和白帽黑客变成布道者。通过为黑客提供成为防御者的途径,它们还可以帮助将潜在的攻击者转变为安全资产。
方法:使用漏洞赏金平台激励熟练的黑客安全地披露漏洞。
注:文中的一些作者在Forta公司工作,该公司拥有一个网络,为去中心化创建高质量安全监控机器人提供了一个代币化激励结构。开发团队可以鼓励他们的协议社区利用传统和Web3原生的两种方法来激励漏洞奖励,并通过增强安全性来让参与者潜在地获利,实现双赢。
7.实时监控安全考虑
内容:实施监控智能合约和关键操作组件的系统,并根据已知的威胁模型向开发团队和社区报告可疑活动。
原因:问题的早期检测使团队能够快速响应漏洞,潜在地阻止或减轻任何损失。
方法:使用监控平台或分布式节点运行机器人,实时监控智能合约事件。根据需要为开发团队和更广泛的社区插入数据仪表板和警报通知。
8.意外和紧急情况响应操作的安全考虑
内容:使用能够在发生任何安全问题时立即做出响应的工具和流程。
原因:即使有最好的部署前保障措施,智能合约和关键组件仍有可能出现实时问题。配备专门的人员、清晰的流程和适当的自动化设备,确保可以快速调查事件,并尽快解决。
方法:为最坏的情况做准备,计划如何应对事件或紧急情况,并在最大程度上自动化响应能力。包括分配调查和响应的责任,这些人员可以通过分布式安全邮件列表、代码存储库中的指示或智能合约注册表就安全问题公开联系。根据协议的威胁模型,开发一组流程,其中可以包括场景演练和采取紧急行动所需的预期响应时间,可以考虑将自动化集成到紧急事件响应中。
安全考虑应该是成功开发的一个组成部分,而不只是事后考虑或补充。虽然这个框架分享了一些构建Web3协议和应用程序的快速指南,从而促进整个开发过程中的安全性,但没有任何简短的概述可以全方面讨论智能合约安全。缺乏内部安全专业知识的团队应该联系合格的Web3安全专家,他们可以指导并帮助应用于他们的特定情况。
请记住,安全性不是一个简单的问题。安全性将永远是一套永无止境、持续不断的最佳实践。我们仍然处于建立这些实践的初期阶段,现在是时候为所有开发人员协作创建和共享它们了。
6月7日消息,Spartan合伙人SpartanBlack在社交媒体上针对市场近期热议的VC退出策略相关话题发表回应表示,Spartan管理多个不同策略的基金,有一支以基本面为重点的流动性对冲基金和2支风险基金.
1900/1/1 0:00:00今天我就来给大家简单聊聊经济模型,为什么要聊经济模型呢?因为现在很多人比较关注经济模型的,仿佛他能决定一个项目的成败.
1900/1/1 0:00:00web3是什么?怎么去理解web3?,现在很多和web3息息相关的开始显现出来,比如说元宇宙还有GameFi就是最好的例子了。MetaRim是一款融合了NFT艺术和GameFiPlay2Earn经济模型的元宇宙协议.
1900/1/1 0:00:00亿万富翁埃隆·马斯克和狗狗币(DOGE)联合创始人杰克逊·帕尔默(JacksonPalmer)在社交媒体上再度陷入争吵,帕尔默声称他可以用一个简单的Python脚本删除推特机器人.
1900/1/1 0:00:00>>><<< 活动五:天天红包雨 活动方式: 活动期间每天抽出10位有完成合约交易的用户随机空投赠金送8、18、38、68、88USDT,周一至周五不限币种,周六指定BTC/USDT.
1900/1/1 0:00:00尊敬的XT.COM用戶:XT.COM現已恢復KLEE提幣業務。據KLEE官方聲明,將會為用戶提供代幣兌換,用戶需提幣到KLEEE官方指定地址:0xb19ea1d1b9ede773e4b86b1e913236e0daeaf808.
1900/1/1 0:00:00