火星链 火星链
Ctrl+D收藏火星链
首页 > ETH > 正文

DEF:你知道DeFi合约审计中存在哪些“套路”吗?

作者:

时间:1900/1/1 0:00:00

DeFi项目正式部署前,通过合约的安全审计,不仅可以对项目的代码规范、漏洞情况以及业务逻辑等方面进行全局核查。同时,项目审计对于项目方在投资市场的形象也具有一定塑造作用。

市场投资者在遴选项目时,如有项目方加持合约审计经历,并对审计方、审计报告等信息进行公开披露,投资可信度无疑会大幅提高。并且,项目方完善的安全立场建设意识,在无形中也将赋予项目额外的价值。

与此同时,DeFi项目方在运营过程中,保持与安全审计公司的长期业务合作,不论是对安全管理还是业务扩展都将大有裨益。毕竟,在项目长期发展过程中,阶段性安全审计机制能够及时发现和有效助力解决整体、局部的风险问题。

那么,DeFi合约审计的主要流程、内容以及特点,那些“套路”又是什么呢?

套路01?前期“把脉”

与DeFi项目方的合约审计合作关系达成后,在了解项目整体情况,包括构架、业务设计等方面的基础上,指派具有相关项目审计经验的安全测试团队进行专项服务,同时,明确项目检测范围以及相应需求侧重点。做好前期“把脉”,其主要内容包括:

Scroll联创张烨公布路线图:将在zkEVM主网上线后部署去中心化排序器:9月22日消息,在万向区块链实验室主办的第八届区块链全球峰会上,Scroll联合创始人张烨发表《Scroll的设计与架构》主旨演讲,Scroll正在建立一个EVM等效的ZK Rollup,其设计决策遵循安全性、效率、EVM等效性和去中心化,其架构由Scroll节点、链上的智能合约、去中心化的证明器网络三部分组成。Scroll当前已经完成了预Alpha的测试网,接下来第二阶段将邀请开发者基于其网络部署一些智能合约,并且开发一些额外的应用;第三阶段将启动二层证明的外包,邀请社区参与成为证明节点;第四个阶段到达zkEVM主网阶段,将在经过严格的代码审计以及性能提升后部署并且上线主网;第五个阶段将部署去中心化的排序器,从而使得zkEVM更加高效。[2022/9/22 7:14:15]

1、DeFi项目方提供真实、有效且为审计所需的各项技术、代码、文档等资料。

2、正式进入检测环节前,安全团队将对提供的材料进行全面评估,以确定周期。

Solana Summer Camp Hackathon二次方投票Grant结果公布:9月13日消息,SolanaSummerCamp二次方投票Grant结果已于9月12日在开发者激励平台DoraHacks.io公布结果。根据对投票结果的闭源分析和反女巫攻击(Anti-SybilAttack)检测,24支队伍共获得1397.92SOL二次方资助奖金和235.2SOL社区捐赠奖金。本次二次方投票Grant采用了升级版的累进税机制(Grant Fund Distribution Algorithm),显著降低了投票过程中女巫攻击的发生频率,并改善了奖金分配中的贫富差距问题。[2022/9/13 13:26:33]

3、确定测试服务范围,包括定向模块、局部代码、全面安全审计等。

4、完成相关需求对接,即对源代码、应用程序、文件信息、测试环境的最终确认。

为了对DeFi项目合约的代码规范性、安全性以及业务逻辑等方面进行严格的安全审计,在测试明确后,处理合约审计的常规方式有:

交易员Peter Brandt:比特币是自己最大的头寸之一:金色财经报道,传奇交易员Peter Brandt表示,他的投资组合中同时拥有数字黄金和实物黄金,而他最大的自有仓位之一是比特币。

在加密货币社区反对这位资深交易员之后,他澄清说比特币仍然是他最大的头寸之一,尽管它在过去几个月里损失了一半以上的价值。Brandt后来补充说,他正在对2018年底分配的另一笔“资金”使用不同的风险管理策略。

Brandt的另一个大仓位是黄金,因为他60%的仓位中有一半是黄金,而比特币被视为对冲所有美元计价投资的一种工具。(u.today)[2022/8/5 12:05:02]

·形式化验证

·静态分析

·动态分析

·典型案例

·人工审核

套路02?形式化验证

形式化方法是实现安全、可信软件的最可靠的手段,它利用基于数学的符号系统给出软件正确性、安全性的严格定义和形式证明。其中,严格定义被称为形式化规范,是一种用清晰、简明的手段来刻画软件功能或特性的逻辑表达式。

英超埃弗顿足球俱乐部推出数字球衣NFT:8月2日消息,英超埃弗顿足球俱乐部宣布与NFT初创公司Fancurve合作推出数字球衣NFT,这些数字球衣将在元宇宙虚拟世界中提供给数字化身使用。据悉,该NFT将由Fancurve的内部3D时装设计师团队设计,且被定位为高端数字藏品。(Sports Pro Media)[2022/8/3 2:54:47]

在合约审计中,形式化方法通过的是定性需求属性,从而证明程序不存在某类安全漏洞。另一方面,传统测试方法则是通过检查代码在一组选定的输入上是否按照预期运行,以此说明程序是否存在安全漏洞,但这无法证明同类型安全漏洞不存在。

此外,传统测试方法很容易漏掉在罕见或恶意构造场景下触发的错误,以及由于大量“不可能事件”连续发生导致的错误。然而,形式化方法则可通过明确代码意图、提供输入空间的完整覆盖来发现上述微妙错误,进而实现程序的安全性、可靠性增强。

传统检测vs形式化验证

成都链安创始人、多年形式化验证研究专家杨霞教授表示:

MicroStrategy以1000万美元购入480枚BTC,总持有量达129699枚:金色财经报道,MicroStrategy以约1,000万美元购买了480枚比特币,平均价格为每枚BTC约20,817美元。截至22年6月28日MicroStrategy持有约129,699个比特币,价格约为39.8亿美元,平均价格为每个比特币约30,664美元。[2022/6/29 1:39:50]

“传统验证手段无法穷尽可能的情况,而形式化验证则可以做到穷举,对智能合约漏洞检测而言,该方法最为可信和有效。

作为针对以太坊智能合约安全检测开发的定制化工具,成都链安的Beosin-VaaS一键式智能合约自动形式化验证工具,可精确定位到含有风险的代码位置并指出风险原因,有效检测智能合约常规安全漏洞的精确度高达97%以上,为智能合约代码提供‘军事级’的安全验证。”

套路03?代码规范审计

在代码规范审计中,主要测试项目有:

编译器的版本问题可能会导致各种已知安全问题,开发者应在代码中指定合约代码采用最新的编译器版本,并消除编译器告警。

同时,Solidity智能合约开发语言处于快速迭代中,部分关键字已被新版本的编译器弃用,如throw、years等,为消除其可能导致的隐患,当前编译器版本已经弃用的关键字应被禁用。

在智能合约中,冗余代码会降低代码可读性,并可能需要消耗更多的gas用于合约部署,因此,必须找出并消除冗余代码。此外,合约中是否正确使用SafeMath库内的函数进行数学运算需要严格检查。

Solidity使用状态恢复异常来处理错误,该机制将会撤消对当前调用及其所有子调用中的状态所做的所有更改,并向调用者标记错误。

函数assert和require可用于检查条件并在条件不满足时抛出异常。assert函数只能用于测试内部错误,并检查非变量。require函数用于确认条件有效性,例如输入变量,或合约状态变量是否满足条件,或验证外部合约调用的返回值。

以太坊虚拟机执行合约代码需要消耗gas,当gas不足时,代码执行会抛出outofgas异常,并撤销所有状态变更。合约开发者需要控制代码的gas消耗,避免因为gas不足导致函数执行一直失败。

另外,合约函数的可见性是否符合设计要求,以及在当前合约中是否正确使用了fallback函数都需要进行严格检查。

套路04?DeFi安全漏洞审计

目前,业务逻辑漏洞在DeFi项目中最为常见。由于项目业务逻辑设计的不严谨,极可能导致项目在特定情况下出现内部失衡。

需要注意的是,DeFi项目基于区块链智能合约开发,具有很多传统金融体系以外的特性,比如:

·单笔交易可发起多个内部交易,失败可回滚

·具有通缩性质的代币

·合约代码不可修改

同时,审计中常见的还有合约权限错误,即合约中函数的可见性修饰错误。通常,这是由于调用者和参数没有进行有效验证,导致函数被恶意用户调用,从而酿成巨大的损失。

类似传统安全问题,错误的权限配置和无效的安全检查都会给系统带来巨大的风险。但不同的是,智能合约的不可修改性使得此类问题即便被发现也不一定能得到有效修复。

另外,重入漏洞也是审计的重点。具体而言,当合约向外发起call调用后,攻击者可利用合约调用的特性反复调用函数,导致合约预期的执行顺序发生错误,以此窃取目标账户的资产。

在审计中,代码错误出现频率也很高。这主要是由于开发人员失误导致的一些代码编写错误。常见的有单位错误、忘记乘以精度、&使用错误等。在YAM漏洞事件中,代码在进行弹性调整rebase时,其代码正是忘记乘以精度,如图所示:

在确保代码和漏洞深度检测的同时,项目业务方面也设置有业务逻辑和实现方面的相关审计,包括对DeFi项目中涉及代币基本信息的检查,以及代币标准相关的函数的确认,特别是对铸币、销毁代币、更改owner及其它特殊权限的审查和风险分析。

很多项目中都存在代理转账的逻辑,在处理此类逻辑时,很多项目方会直接要求用户授权最大值代币给项目方的合约,如下图所示:

如此一来,合约就有权将用户资金全部转走。此外,还有双重授权的问题,项目方网站在进行授权时,发起了两笔授权,一笔授权给合约地址,一笔授权给外部地址,如用户对此没有提防,将会面临极大的资金风险。

套路05?审计报告

合约审计最终服务于DeFi项目中的资金安全,而这方面诸多问题的出现都与函数、算法的不当存在关联。因此,合约审计就是要指出可能引发资金风险的内容,也就是潜藏隐患以及亟需修正的代码、漏洞、逻辑等问题。

在审计报告中,除了审计时间、历时以及审计人等基本信息外,还会体现对项目的投资预警提示。审计报告的核心内容,是体现受检智能合约在设计和代码实现等多方面、多维度的审计结果。同时,报告将指出发现的各类风险问题,并将其告知项目方以便修复。

通过审计报告,合约的风险成分,包括潜在可遭遇的攻击,不同级别、层面的漏洞将被详尽提示。只不过,安全审计报告中醒目的“通过”二字,不应该作为投资者仅有的投资判断依据。

结语

合约审计并不属于项目本身的利好消息,而是上线前必要的一项安全工作,无论是对项目方还是投资者都具有重大的意义。

投机市场或是狂暴或是萧条,行走其间不按套路出牌,终将也会受制于“套路”。略瞥其中,唯有防患于未然的安全之峰,巍然。

标签:EFIDEFDEFICRODeFiDropDEFI100Farm Tokenpinetworkdefi币最新消息CROWN价格

ETH热门资讯
AVI:Gavin Wood:Kusama平行链拍卖会先于波卡平行链拍卖进行

据官方消息,有社区成员询问波卡平行链插槽拍卖什么时候开始?对此波卡创始人GavinWood今日回复称,Kusama平行链拍卖会先于波卡平行链拍卖进行.

1900/1/1 0:00:00
EFI:NFT会是挖矿后的下一个市场爆发点吗?

可能由于近期币价下跌、挖矿收益远不如之前,再加之挖矿门槛较高,社群里关于挖矿的声音逐渐变小。而MEME这款代币在一周内暴涨15倍,一举超过Uniswap,成为本年度最贵的空投项目,也顺势带动了N.

1900/1/1 0:00:00
GPT:中币公布BGPT申购结果及开启“BGPT交易大赛”

尊敬的中币用户:BGPT6折申购优惠活动已圆满完成,感谢所有用户的热情参与!中币将于香港时间2020年9月24日16:00开放BGPT/USDT现货交易,同时开启“BGPT交易大赛”.

1900/1/1 0:00:00
MIC:MicroStrategy CEO:若债券等资产的收益率大幅上涨,会毫不犹豫抛售此前购买的 BTC

链闻消息,据彭博社报道,纳斯达克上市公司、独立上市商业智能软件提供商之一MicroStrategy首席执行官MichaelSaylor在接受采访时表示,持有比特币比持有现金和黄金的风险要小.

1900/1/1 0:00:00
BTC:趋势论币:市场低迷机构却加大筹码 10000美元再次面临挑战

大家好!我是你们的老朋友趋势论币,每日解读世界经济要闻,K线走势解析,实时交易策略及中长线布局。比特币最近一段时间的低迷表现也并未影响到机构的投资兴趣.

1900/1/1 0:00:00
NFT:下一个热点 当DeFi遇上NFT——NFTfi?

最近DeFi的火爆行情,吸引了加密世界绝大多数的注意力和资金。所以很多人在AllIn了DeFi的同时,也在思考DeFi之后热点会是什么?所以,还没有被广泛关注的、但又萌发了点儿苗头的NFT被盯上.

1900/1/1 0:00:00