姚昌林:新轮牛市,如何共筑行业安全助发展?
4月12日,耳朵财经的新栏目《耳朵听言》邀请了知道创宇区块链安全实验室技术负责人姚昌林在耳朵财经专访社群做了精彩分享,其内容整理如下:
各位群友,大家下午好,我是知道创宇的姚昌林,非常感谢耳朵财经的邀请来和大家一起探讨和交流区块链生态安全相关的主题——新一轮牛市,如何共筑行业安全助发展?我从2011年开始从事互联网安全工作,随着区块链行业的崛起和发展而逐步转向区块链方向的安全和技术研究,目前是知道创宇区块链安全实验室的技术总负责人。
不论是在传统互联网还是在区块链行业,安全都被认作是一个永恒的话题,没有绝对的安全。近期大家在Fei的事件中也能看出一些。整个生态其实是在攻与防的持续对抗发展中前进的。相对于传统互联网的安全而言,在区块链领域,我认为安全的作用和地位会更凸显,这也是制约区块链应用生态发展的关键短板。
中心化应用系统的代码大部分是闭源的,攻击者面对于黑盒的业务系统需要通过技术手段进行利用和攻破,有比较高的门槛。中心化系统在遭受攻击时,通过网络防护手段可以进行相应的一些防御,或事后进行数据恢复和补救。而区块链网络,基于它的去中心化、开放性、机制透明,还有数据不可篡改的特性,如果在项目上线前没有做安全方面的考虑,就很有可能因存在安全隐患而导致项目失败。
与此同时,区块链作为价值互联网的一个载体,数字资产就代表财富,基于这种财富的高诱惑力,使得大量攻击者眼红。据已知安全事件统计结果,从2018年至今,每年发生的安全事件都数以百计,造成的经济损失也呈指数级增长趋势。在这些安全事件中,不乏一些明星项目和区块链头部企业。
另外一方面,对于众多的用户和投资者,他们在区块链红利的驱动下纷纷涌入。但由于缺乏足够的区块链安全基础知识,对于投资项目也缺乏甄别能力。因区块链诈骗或是由于钱包使用不当导致的安全事件频频出现。
基于区块链的运行机制和特性来看,我认为应该从不同的方面来解决这些问题,共建生态的长期安全发展。
首先第一个,公链平台的安全是区块链的基础,它负责支撑各类区块链应用的运行环境,是区块链生态中的核心与基石。区块链的核心是通过先进的密码学技术,能够在不可信的网络环境中以低成本建立信任机制。同时,又具备一系列的加密算法和数字签名等方式确保交易安全,并且形成一种随时间戳排序的链式结构来保证数据不可篡改。
这既是区块链的优势和特点,但也因为其开放性而导致它的受攻击面比较大,比如在节点安全、区块处理、交易逻辑、数据存储以及共识机制等方面都比较容易受到威胁。
解决底层公链的问题,一方面需要生态中各方加强安全技术的研究和攻关,并且借鉴传统行业的密码学的研究成果,在设计上实现新的技术突破,从机制上尽量规避一些相关的问题。
其次,重视公链平台的安全审计工作,在公链上线运行之前,建议与专业的第三方安全公司进行针对于链平台的代码安全测试,可以有效保障链平台的节点、通信、存储、共识和权限管理等各个层面的安全性。
第二个维度,是私钥的安全。私钥的安全性是区块链密码体制安全的前提,谁拥有私钥就拥有了对应地址上的所有资产和权限。目前主要的方式是通过软硬件钱包进行管理,或是由用户自行保管。一旦私钥丢失,用户不仅无法对数据、资产进行任何操作,也无法找回所拥有的资产。
所以加强私钥的安全管理,是最为直接和高效的应对策略。以最直观的理解,保证私钥永不触网,可以解决大部分的安全问题。我们发现很多用户经常将私钥放到云笔记、邮箱等地方进行保存和备份,这是很危险的行为。在企业钱包应用当中,由于需要和业务进行对接,钱包和私钥的安全保管和签名问题也将会更严峻。
关于私钥和钱包安全,去年我们牵头研究和撰写的《数字钱包安全开发与应用实践》白皮书,也在云安全联盟进行了发布。里面有对钱包面临的安全问题进行了汇总和整理,以及对于钱包的安全开发实践、测试标准、私钥安全保管和签名等做了详细的讲解,如有兴趣,可以去网上找一下,可以帮助钱包、交易所等根据自身业务情况做下安全自查工作。同时,我们也基于创新的多签技术和多年持续积累的安全风控能力提供了企业级钱包托管服务。
说一个和钱包资产相关的问题,当你通过钱包访问某个智能合约时,智能合约可能会为了更方便操纵你的资产而向你申请授权。在实际授权的过程中,授权范围涉及的权限往往过大。例如你有一万U,而只想给智能合约授权100U进行投资,如果合约没有采用最小的授权原则,那么合约管理者就有权限操纵你钱包中的所有资产,而不用再经过你的私钥签名。如果合约本身存在安全问题,那极有可能会被黑客利用,会出现在私钥没有泄漏的情况下,损失所有的资产。
这便是我想讲的第三点——智能合约安全。当前智能合约的发展还处于较早的阶段,不像传统开发语言有完善的开发编码规范的约束,以及有比较完备的代码安全检测工具。即使出现了代码逻辑漏洞,因为是黑盒,在早期也不定会被攻击者发现。而智能合约运行在更为开放的环境中,并且天生带有金融属性,升级成本还极高,这意味着智能合约对安全的要求更高,任何一点瑕疵都可能带来不可估量的损失。所以建议项目方一定要找有很强技术功底的开发人员来编写合约。
这类的开发者他们有一个特点,就是项目的经验更为丰富,自己有比较严谨的编码规范。相对于普通的开发者,他们在编码过程中犯错的几率会更小,代码的质量也会更高。另外,项目方为了保证项目的公开、透明性,一般会开源合约代码。所以在合约部署前一定要经过专业的第三方安全审计。
据了解,当下生态中部分项目方将合约安全审计仅作为背书功能,这里我想强调一下,合约安全的审计,对项目自身的业务安全保障价值更为重要。
创宇在这块儿的安全研究工作做了很多,历史上已累计为项目方完成了4000多次的智能合约以及公链的审计工作。从编码规范、设计缺陷、编码安全、编码设计等方面梳理了全面的智能合约审计 checklist,这些也都贡献到了云安全联盟发布的《智能合约安全指南》白皮书中了,有兴趣的可以自行去下载。
第四,区块链项目的政策合规性,以及面对虚拟资产的犯罪活动监管问题。随着虚拟资产的价值升高和体量的迅速增大,虚拟资产犯罪的活动门槛很低,利用虚拟资产进行非法洗钱、诈骗、非法交易等犯罪行为也日益猖獗。这些犯罪活动所造成的影响也极其恶劣,他们严重破坏了当前的经济秩序以及金融市场的稳定运转,也让很多的用户投资者血本无归。
各国在政策监管上陆续都出台了一些制度和法规,并且提供监管沙盒以推进区块链的生态发展。作为生态中的参与企业,我觉得一方面是要积极配合监管机构,加强自身的安全管理制度落地和保证业务合规性,同时也需要持续完善业务风控能力,建立起虚拟资产的交易风控体系和监管方案。
对于用户和投资者而言,需要持续地进行安全知识的普及,加强自身的安全意识和防骗意识,谨慎分辨一些网络上出现的消息,不要掉进圈套里。在行业生态里,也需有专业的团队或个人对披着区块链外套的骗子项目进行监控和定期披露,提醒投资者谨防上当受骗。据我了解,有些公益项目已经在做了,未来可以期待一下。
第五,区块链安全应该是一个共建生态,不应该闭门造车或各人自扫门前雪。例如在区块链中,可以因为一个漏洞就影响一大批相关的项目,我们看到的这些项目,大部分都有同样的问题。因为它们源自同一个开源的合约代码。另外,区块链网络中的黑客无处不在,他们除了利用技术漏洞攻击,也还是金融套利高手。
例如之前发生的一些闪电贷攻击,还有我们熟知的科学家抢跑等,这些黑客在实时监测链上的交易,一旦发现有利可图,就会实施攻击。另一个,在行业各方从业者在关注自身业务安全的同时,也应该及时跟进热点领域的安全事件,并相互配合建立情报共享机制,共促整个生态的安全建设。关于这点,头部区块链企业做的比较好,他们有自己的安全团队,也会和第三方安全公司合作,以形成互补。在保障自身业务稳定发展的同时,也将自身能力共享输出,为整个区块链安全生态增加贡献。
以上是我今天分享的几点内容,总结一下:对于区块链的生态安全建设,我们应该是从底层公链平台安全、私钥安全、智能合约安全、区块链监管安全以及行业生态共建几个维度着手。好啦,谢谢大家。
提问环节:
问题一:Defi火爆之后,新矿涌现,矿工和资金便大量进入,项目方可能会被迅猛发展所裹挟而不能顾及安全。请问项目方在发展浪潮中如何携手安全同行?
姚昌林:安全是区块链发展面临的首要问题,一定需要顾及安全。Defi承载的不仅仅是业务,还直接关乎着项目参与方的资产安全。如果前期没有考虑周全,一旦发现安全问题,那整个项目很有可能会面临失败,而投资者的数字资产也将血本无归。
对于发展初期的区块链企业和项目方,可以根据企业和项目自身的特点,建立内部安全管理制度和规范。当然也可以邀请第三方的安全公司合作,帮助建立和补充完善内部的安全安全隐患。同时,它也能减轻项目方早期投入的一些问题,知道创宇凭借在互联网安全防护经验和安全研究能力,也提供了从安全研发——业务安全运行——运营期间的安全交易风控等全生命周期的区块链安全解决方案。
问题二:在钱包,交易所以及项目方等区块链生态中,哪一环节的安全问题最棘手?以及有哪些防范措施?
姚昌林:安全无小事。在区块链的生态中,任何一个看似微不足道的安全隐患,都有可能会产生严重的后果。区块链因为它自身的匿名性、跨国界的特点,一旦出现资产安全事件,对损失资产的追回将会面临较大的挑战。
从技术方面来看,钱包在使用的过程中主要包含钱包创建和使用两个环节,包含随机数生成的风险、私钥存储方式和数据备份的安全风险、网络传输的风险、运行环境的安全风险以及应用自身的安全风险等等。
交易所因为它对接了自身中心化的用户撮合业务,除了中心化企业钱包自身的安全风险之外,业务系统中的安全漏洞、风险管控的疏忽也会导致用户资产相关的安全问题。
Defi项目方面临的除了链上合约的安全风险之外,DAPP链下的安全风险也同样会有。
从另外一个角度来看,大部分的安全问题,其实均源于企业内部。内部安全保障能力得以提升后,可以大大降低安全事件的发生。
讲几个目前比较通用的防范措施,第一,加强企业内部的安全规范管理,提升员工的安全技能安全意识。
第二,业务上线前需要做全方位的安全评测,从代码安全、业务安全、网络安全等维度进行梳理,规避安全风险。安全公司一般会通过黑盒模拟黑客攻击,加以白盒的业务代码审计相结合的方式,及时发现项目缺陷和修正,保证上线项目的业务安全。
第三,业务上线之后,企业也需要随着运营工作的深入去持续完善业务风控能力,及时发现并且解决安全隐患。
第四,当出现安全安全问题后,需要在第一时间找安全公司进行应急响应。对于资产损失,可能还需要报警处理,并且通过安全公司的大数据分析能力定向追踪和实体的身份溯源,以辅助项目方进行调查取证和资产追回。
问题三:在您的安全从业经历中,有哪些重要的经验可以分享给从业者?
姚昌林:区块链是一个全新的领域,它的运行机制以及玩法和传统的互联网有很大的区别,同时门槛也较高,建议从业者首先要对区块链的原理和基础进行学习。如果基础不牢,后期发展肯定会受到阻碍。
其次,对于传统互联网领域的安全能力,无疑会为区块链生态提供强有力的支撑。基于区块链特性的一些新的安全问题可能还没有被发现,我们都应该抱着学习的心态持续强化安全意识能力和拓展知识视野,保持不骄不躁,持续空杯的心态。
还有一个最重要的点是在区块链网络当中的诱惑很多,作为从业者,必须要守住自己的道德底线,做正确的事情。尽管区块链具有一定的匿名性,但随着科技的进步,谁又能确保一直如此。有因必有果,今天种下的因,也许在未来某个时候会产生结果。
微信扫描关注公众号,及时掌握新动向
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场
2.本文版权归属原作所有,仅代表作者本人观点,不代表比特范的观点或立场