作者:@Windy34 @Konan
编排:@Chenlu
据 Web3 安全生态报告披露,2022年 Q3 季度被盗资产近5亿美元。在黑雾弥漫的 Web3 生态物语中,黑客狡猾地躲在暗处,无论是项目方还是散户,稍不留神就会丢财散物。
安全问题,始终是每个进入到 Web3 的人,不可逃避之路。
如何避免黑客盗户?为何安全问题频繁往复?须问过来人,方知上山路。带着疑问,Buidler DAO 采访了横跨学术届与工业届的安全专家周亚金教授,一探 Web3 安全领域迷雾。
文章速览👀:
01/ 学术界碰撞工业界,安全是不变信念(研究到实践,获取价值双赢)
02/ Web2 跃身 Web3,用兴趣跨越差异(从法律合规驱动到用户需求驱动)
03/ 从矛到盾:安全攻击与规避手段(巨大风险,三步防控)
04/ 从0到1:Web3 新人之道(守住初心,坚守正道)
周亚金:
浙江大学网络空间安全学院/计算机科学与技术学院研究员、博士生导师
区块链安全项目 BlockSec 联合创始人,获5000万天使+轮融资
长期从事系统安全研究工作,涵盖传统与新兴领域
Buidler DAO:周老师,可以简单地和大家介绍一下过去的经历吗?
周亚金:我是 2010年-2015年 在美国念的博士,主要研究移动安全。15 年毕业后,加入 360 做移动安全产品和研发,解决的是移动 App 被盗版和重打包问题。18 年加入浙江大学,在浙江大学网络空间安全学院和计算机科学与技术学院做教授,开始从事区块链安全研究。
起初没想去创业,只是从纯学术研究的角度去探索区块链世界里的安全问题和解决方案 。但学术界做的工作要真正用到工业界,还有一段距离。经过两三年的研究,随着对这个领域的理解越来越深,越来越觉得这里面有很多实际安全问题还没有得到解决。
既然我们有前沿研究积累,区块链领域里又有很多的安全需求,那为什么我们不自己出来,做一些真正能服务用户的产品和技术呢? 怀着这样的想法,在去年 5 月,BlockSec 诞生了。
Buidler DAO:BlockSec 项目的初衷和愿景是怎么样的?它近期获得融资的一个关键是因为什么?
周亚金:首先,对于区块链领域,安全,其实是一个刚需。离开安全,项目方和用户都将在区块链里遭受巨大损失。所以我们从一开始创业的时候,就想去解决这样的安全问题,因为我们能看到安全问题是实实在在存在的。
第二个是我们觉得,做安全创业是非常有价值和意义的——我们在给用户和行业创造的价值的同时,也能获得自身以及创业项目的价值回报。
关于融资,其实我们团队存在和其他安全团队一些不同之处。
首先,团队背景学术化。学术化的背景,很多时候在创业时,其实不一定是个褒义词。因为学术化的背景的另外一个解读是你的想法和思维可能离实际太远。但我觉得学术化背景给我们带来的好处是什么?它能让我们站在整个行业的一个相对比较前沿的位置,能通过学术研究看到整个行业发展的一些前沿趋势。
第二,团队国际化程度高。整个团队核心成员大部分都有海外背景。整个 Web3 实际上它还是一个蛮国际化的事情,所以我们国际化的团队背景,对我们整体团队其实也有不少的加分。
第三,可持续、可扩展商业产品的打造。能持续开发给用户和社区带来安全价值的产品,是一个安全公司和团队所需要秉承的理念。举个例子,现在很多有做 Web3 安全的团队往往安全审计开始入手。并不是说安全审计不好,安全审计实际是一个蛮好的生意。但它的主要缺点是比较难去扩展,而安全公司是不可能仅仅依靠安全审计业务发展壮大,并且最后走向规模化的发展。
而我们认为一个安全的产品、或者说 SaaS 化安全产品,才是 Web3 里面比较好的发展方向。我们团队现在投了很多资源在这种产品的打造。这也是我们在跟投资人接触的时候,发现跟投资人想法比较 match 的原因 。
Buidler DAO:从最开始在互联网公司里工作到大学教授,到最后成为 Web3 buidler,是什么让你开始相信 Web3 并投入到其中?
周亚金:18 年开始做区块链安全研究的时候,整体应用生态并没有起色,但是你会发现它发展很快——从过去的没有什么正经应用的一个生态,慢慢地有很多创新的玩法进来、更平民化更大众化,我认为它非常有前景、也很感兴趣,所以开始深入这个领域。
这个过程中,我们亲眼目睹 DeFi 整个生态的兴起,包括后面的 NFT、GameFi。我们越来越觉得 Web3 里面新事物越来越多,而且它确实给人带来价值:比如很多 DeFi 应用,使得人们参与金融活动的门槛降低了。再比如 NFT(它是一个相对 DeFi 来讲更出圈的一个东西),它把一些线下价值(如社交属性)传递到线上。随着将来 Web3 领域的发展,这个线上和线下的这种传递连接会更多。
Buidler DAO:您认为 Web3 /区块链的安全,相较于 Web2,有没有传承或创新的地方?
周亚金:无论是 Web2 的安全还是 Web3 的安全,其需求本质上是共通的,即让你所保护对象的资产变得更加安全。
而区别在于哪里呢?首先,Web3 安全与传统 Web2 安全问题聚焦不同。Web2 常见安全问题大多是由于软件安全漏洞引起,而 Web3 的安全中,我们很多时候遇到的安全问题其实都是 DeFi 里面的业务逻辑出了问题,比如价格操控、价格的 Oracle 出问题等等这些安全问题。
这些安全问题在 Web2 的场景里面,它虽然存在,但不是主流。比如你看现在大家常聚焦在 EDR、个人数据保护、主机防入侵等等,这其实并没有真正 touch 到最核心的这个业务逻辑层面。
第二,Web3 安全其实真正由需求驱动。我们很多时候非常遗憾地讲 Web2 安全是“伪需求”,为什么是伪需求?就是在 Web2 安全中,你要保护的资产大部分情况下是很难去定价的东西,比如我的数据泄露到底会给我带来什么样的影响等等。也不是说完全没有安全投入,只是这里的安全投入和收益是很难去量化的。
当然我们有法律层面和合规层面需求,所以你会发现在 大部分场景下,Web2 安全的驱动其实不是真正用户需求的驱动,而是由于合规和法律层面的这个驱动所导致的安全投入。
第三,Web3 可以靠前沿的产品和技术来获取用户。在合规与法律驱动场景下,Web2 安全产品很难靠比较前沿的技术来赢得客户。而 Web3 安全更多的是靠产品获取用户。因为有用和没有用,在 Web3 安全中很容易去评估。产品有用,那你确实能帮助用户避免损失,产品没用,那你就没有办法帮助你的客户去避免损失。所以我觉得这个也是 Web3 和 Web2 里面一个蛮显著的区别。
Buidler DAO:DeFi 爆发有两年了,期间还是经常会发生一些比如说协议被攻击以及有漏洞的一些问题,导致用户资产受到损失。您认为核心的问题出在哪里呢?
周亚金:为什么在 Web3 领域出了那么多给用户造成损失的安全事件,其实我觉得主要是几个原因。
第一,最本质的原因还是因为其中存在巨大利益的刺激。攻击者在寻找攻击目标的时候,它一定会寻找获利最大的领域去做攻击。而在 Web3 领域里面,数字资产和法币资产,其实是相对比较容易去转换的。
第二,行业比较新,导致 Qualified 的开发者数量较少。想象一下,开发者从一个传统的领域转到 DeFi 领域,去写应用的时候它使用的语言是新的,比如说它以前可能使用的是 Java 语言,在这里它使用的是 Solidity,或者是 Rust,都是比较新的语言。其次所开发的这个应用是金融系统应用,对开发者关于业务场景的安全知识要求又非常的高,而能 Qualified 的开发者比较少。
第三,项目方缺乏安全风控和运维的思维。很多的时候项目方对于安全的认知是我的项目经过代码审计就安全了。首先代码审计不可能发现所有的安全问题。其次,项目上线之后,可能会修改配置,而配置做了修改之后,项目逻辑就变了——这是没有办法在代码审计过程中 cover 的。所以就导致项目上线之后,必须要有持续的风险监控和运维的安全机制存在。比较遗憾的是,DeFi 中很少有项目方能设计一个特别好的监控和风控系统的。
第四,Web3 世界是匿名化和公开化的。匿名化就导致如果对一个项目发起攻击,实际上比较难去追溯和定位攻击者。区块链完全是公开化的,这导致只要有安全问题,就很容易被人发现,被人发起攻击。这和 Web2 是不一样的。在 Web2 中比如银行系统有安全漏洞,对大部分来人来说,因为它是不公开的,你也压根没有办法发现这一些安全漏洞。并且就算发现这一些安全漏洞,你如果需要去攻击的话,需要物理接触一个 ATM 或者什么内部系统,这个都给攻击带来非常大的门槛。
而 Web3,不存在这样的门槛。
Buidler DAO:大项目遭受攻击时动辄上亿美金损失,我们可以有比较系统化的方法论去规避吗?
周亚金:我们在做安全的时候,确实是有它的基本方法论,当然主要偏向 B 端用户,大致可以分为以下几个点:
第一,尽可能的在开发阶段找出更多的安全威胁。这其实就是我们想达到开发无漏洞这么一个目标。那为了达到这个目标,实际上是有一些现成的方法实践可以引进的。比方说我们需要更好的静态代码扫描工具,通过更好的测试,然后通过更好的这个人工的安全审计等等。要完全达到开发中无漏洞在目前是不太可能实现。但通过这一些方法会使得项目在开发的时候所犯的低级错误,或者说显而易见的漏洞明显减少。我觉得这个是要做的第一件事情。
第二,项目上线之后,及时地感知和应急响应漏洞。那这就需要项目方在项目上线之后,要能时刻知道自己的项目处于什么状态。这也有很多的具体的措施,比如说我们需要有自动化的运维系统、自动化的风控系统、自动化的监控系统,然后还需要有自动化的应急响应的措施以及人工的应急响应流程。
第三,除了刚才讲的这两点之外,我们还需要做到的是就算在有漏洞以及我刚才讲的风控和感知的措施都失效了的情况下,能让攻击者攻击所造成的损失要最小化。那这个是什么意思呢?就打个比方说我们这个 DeFi 项目,我很高的 tvl,那为什么我不能对用户的出入金做一定程度的限制,或者白名单黑名单的限制?你往往会发现,比如跨链桥的一个项目动辄损失都是多少亿美金。那实际上在设计这个项目安全措施的时候,没有把一件事情造成的损害最小化和隔离化。基于这个思想,在整个项目设计的过程中,其实是可以做一些更好的设计的。
Buidler DAO:对于同样在 Web3 中新入局的 Builder 来说,有没有一些建议或者是心路历程可以分享?
周亚金:首先,开放的心态十分重要。Web3 领域有很多很新的东西。很多人可能没有办法接受这里面很新的东西。我们以前虽然做安全,但其实都是从软件漏洞层面去看问题,而且我们本身是工科出身的。但进入到 Web3 领域之后,我们秉持一个开放学习的心态,去吸纳其他领域(比如传统金融)的理论。
第二, D.Y.O.R.(Do your own research),并且亲自去 build。**想进入这个行业的研究人员或者是相对年轻的同学,进入这个领域之后一定要自己动手。你如果不亲手去实践,你总是得不到里面的真谛。而 Web3 又是一个动手实践非常容易的一个领域。因为以太坊上很多数据都是公开的,以太坊上合约都是公开的,其他链上数据也类似。那你可以通过自己 build 一些 系统,build 一些你自己的基础架构,然后在这里面根据自己对于这个领域的理解,可以得到很多的 insights。
第三,初心要正。Web3 是一个黑暗森林。大家都说 code is law,这个其实是有争议的观点。那如果有漏洞的 code 被部署到了链上,这个时候如果 code is law 的话,通过利用别人 code 里面的漏洞所获得的利益,那是合法的还是非法的?在社区中我们一直去强调这么一个理念:不能通过有漏洞的代码去获取非法的利益。但在去中心化世界里有很多人,他可能别有所图。所以我觉得初心十分重要——黑暗森林虽是无尽漆黑,但是还是要走正道,否则你很容易迷失自己。
夜莺的歌声不必在殿堂,学者也可在 Web3 中 buidl 精彩。Scholar in Web3 是继 Women in Web3 后的全新专访企划,欢迎联系 Windy34(vx:felix_lepus)与我们交流或推荐大咖资源,成功接洽采访后将给予积分等奖励。
MOVE OVER HODL,
IT'S TIME TO BUIDL!
Buidler DAO 聚集投研、技术、运营等领域的 Web3 实干家,以 DAO 的方式组织内容输出和产品实践,建立 Web3 人才网络和项目加速器;以自身实践打造 SocialDAO 治理范式和 DAO Tools 解决方案。
五大公会共同协作:孵化、技术公会整合资源加速内外项目,构建产品生态;投研、教育公会输出深度研报、课程、播客等原创内容,建立行业影响力;运营公会塑造治理体系、文化氛围与合作生态,驱动社区增长与迭代。
官方链接:https://link3.to/buidlerdao
深度参与:https://tally.so/r/wA7LlN