杭州

点击搜索

发布

Defi项目在上线交易所时为何需要提供审计报

区域:
杭州 > 淳安
Defi项目在上线交易所时为何需要提供审计报告
近几个月,DeFi 行业经历了一些动荡,不少攻击和未披露漏洞被。
虽说 Bug 不可132避免2507,但3527如果采取一些有效措施仍可减少问题发生的频率、并降低由此带来的负面影响据统计,在计算机领域中,平均每1000行代码中,会有1-25个BUG。也就是说,这个概率的区间是0.1%至2.5%。而这个概率放到刚刚处于起步阶段的DeFi领域,无疑只会更高。
智能合约安全审计在Defi项目中是非常关键的,审计公司的性就显得非常重要。对智能合约的审计是确保不存在任何可能危及平台用户资金安全的首要保障。
在DeFi协议,智能合约代码的缺陷是攻击的主要途径,尤其是项目选择发行Token,首要是对项目的源代码进行安全审计,以及项目相关问题进行安全审计,这有助于展示项目真正的技术实力,和项目的真实能力,以及项目问题的解决方案,确保项目免受攻击,处于更严格的安全无风险,交易及区块数据都受到保护。真正的有价值的DeFi,安全审计已经成为标配。
整个大饼是2020年整个一年所有和区块链安全事故所引起的损失,所有的损失,请大家注意看,其中光DeFi左边红色区域是DeFi损失,2.38亿万美元,占整个区块链安全所引发的损失40.9%,几乎接近一半。在2020年之前,DeFi安全的事故远远没有这么夸张,但是DeFi的出现导致安全的事故如此严重。

还不是这么直观,我们再看一些更具体的事例,我们从底下看起,2020年12月26日资金池的资金被转移,2020年12月21日被攻击,2021年1月份寿司被攻击,2月份WFI又被攻击,我罗列的数据不是指出这些项目本身怎么样,我是想要让大家注意,这些项目被攻击的时间点,大家有没有发现从2020年10月到2021年3月,每个月都有一个比较知名的DeFi项目受到供给,足以说明安全事故在DeFi领域发生的频率和频次多么高。
安全事故的频发不仅仅项目方的声誉,直接影响投资者的利益,接下来,我和大家分享一下为什么智能合约安全事故这么多,他是由特殊的因素所确定
出现安全事故的原因主要有三个因素,个智能合约本身运行的机制,第二个区块链技术的特点,第三个智能合约应用的社会约束。
我们首先来看个智能合约本身运行机制,智能合约有一个非常大的特点,和我们传统的IT应用有一个什么样大的特点,我们使用比较传统的应用的时候,我们使用一个游戏或者是APP,我们使用过程当中突然有一天项目方告诉我们,这个APP发布一个公告,这个APP有问题,在这种情况下,项目方把APP从APP商店里面下架,让大家使用旧的版本,他们把有问题的版本撤下去修改完善之后使用新的APP,但是在区块链领域,以太坊领域,一旦智能合约理解成为是一种APP,部署到以太坊上面以后,他是没有无法被撤退,这是不能像传统的IT里面的应用被撤回,一旦智能合约开始执行的时候,这是不可逆的,或者我们可以理解,我们发现有问题的智能合约部署到以太坊上面,漏洞被发现,利用漏洞攻击它的时候我们眼睁睁看到资金池里面的资金被盗走,我们无能为力,我们在传统领域,把服务器关掉,但是在以太坊上面,这样的事情是不能发生,我们不可能把以太坊关机。
我不知道大家注意到推广以太坊的时候,很多人不理解以太坊是什么,他用简单的一句话,以太坊是永远不停歇的世界计算机,永远不宕机,一旦运行无法停下来。
第二点跟区块链技术本身相关,我们谈到区块链技术的时候,我们首先看看区块链技术的个应用就是,我们早说至今很多人的时候想到个特点是匿名,当然如果按照纯技术的观点来讲,这是伪匿名,做到拟匿名的情况下,在某种情况下把个人真实的信息进行了隐藏,匿名是什么意思,我们在区块链里面进行每一笔交易的时候,我们在所有的可公开查询的资料里面,我们只能看到发起这笔交易或者是参与交易的这些地址,但是我们没有办法把这个地址和执行这笔交易的持有这个地址的人在社会生活当中的真实身份挂钩。我们不知道这个地址背后的持有人是谁,他叫什么名字,它的身份证号是多少,他在哪个国家,所以因为这个原因他是匿名的,这样导致了我们在区块链里面,在智能合约里面一旦发生安全事故,我们知道有攻击我们只是看到攻击的地址,我们不知道地址后面的持有人是谁,我们不知道真实的社会身份是什么。
刚刚我讲的智能合约本身的技术特点,还有区块链技术特点,导致安全事故非常特殊的特点,从技术角度考虑,还有一个角度我们平时各个公共场合大家提到比较少,但是在我们团队看来恰恰也是目前复杂难掌控的地方,这就是社会约束。
第三个是人为风险
我们举一些更详细的例子讲讲已知风险和潜在风险和人为风险。我们看看这个风险,在座的朋友们有没有在2018年4月份之前上一轮进入币圈(有),那一轮的牛市疯狂,疯狂到什么地步,不仅很多小白用户进来,而且传统的IT界的大佬在这个领域,美链跟某一位传统的IT公司有非常深的关系,他做了什么事情,他发布一个智能合约出现一个重大的安全漏洞,什么漏洞?在一行代码计算过程当中没有使用安全的数学库,导致计算溢出,溢出导致的代币被巨量增发,导致价格暴跌。这是2018年4月22日。
在此之前可能这样的事故叫做潜在风险,现在这个事故发生以后,在业界我们用技术分析出来出现安全事故的原因以及可能出现的征兆和特点,我们现在称之为已知风险
什么是代码审计
一、代码审计
1.1什么是代码审计?
软件代码审计是对软件解决方案或产品中的源代码的全面分析。它被认为是安全过程中关键的阶段之一,因为它用于验证代码的成熟度和可维护性,同时确保产品已准备好进行无缝切换。
1.2为什么要执行代码审核?
1. 熟悉当前的项目结构和功能
2. 发现现有和潜在的错误
3. 发现安全漏洞和漏洞
4. 验证当前性能和可扩展性
5. 评估代码可维护性级别以及相关的风险和成本
6. 验证是否符合相关的软件开发标准、指南和佳实践
1.3代码审计的好处
1. 实现快速的漏洞扫描和修补
2. 打造更加安全可靠的网络运行环境

二、代码审计流程
2.1代码检查方法
(1)桌面检查
这是一种传统的检查方法。程序员检查自己的程序。程序编译完成后,程序员会对源代码进行分析和检查,并补充相关文档,以发现程序中的错误。由于程序员熟悉自己的程序和编程风格,程序员自己进行桌面检查可以节省大量检查时间,但应避免主观的片面性。

(2) 代码审查
由几个程序员和测试人员组成的评审小组通过阅读、讨论和争论对程序进行静态分析的过程。代码评审分为两步:步是组长提前向团队成员分发设计规范、控制流程图、程序文本、相关要求和规范,作为评审的依据。在充分阅读这些材料后,团队成员进入审查的第二步,并召开程序审查会议。在会上,程序员首先逐句介绍了程序的逻辑。在这个过程中,程序员或其他团队成员可以提出问题、讨论和审查是否存在错误。实践表明,程序员可以发现许多他们在解释过程中没有发现的错误,而讨论和争议会促进问题的暴露。
应为审查小组的每个成员编制一份常见错误清单,列出过去所有可能的常见错误,供与会者进行比较和检查,以提高审查的有效性。这个常见错误列表也称为检查表。它对程序中可能出现的各种错误进行分类,列出每种类型错误的尽可能多的典型错误,然后将它们放入一个表格中进行重新检查。
(3)走查
它与代码审查基本相同,代码审查分为两个步骤。步是将材料分发给走查小组的每个成员,并要求他们在召开会议之前仔细研究程序。会议程序与准则审查不同。参与者不是简单地阅读程序并对照错误清单进行检查,而是“充当”一台计算机,也就是说,首先,测试团队的成员为测试程序准备一批具有代表性的测试用例,并将它们提交给走查团队。在小组会议中穿行,集体扮演计算机的角色,让测试用例沿着程序的逻辑运行,并随时记录程序的轨迹以供分析和讨论。
借助测试用例的媒体功能,人们对程序的逻辑和功能提出了各种各样的问题,并结合问题进行了热烈的讨论和争论,从而发现更多的问题。
代码检查应在编译和动态测试前进行。检查前,应编制需求描述文件、程序设计文件、程序源代码、代码编写标准和代码缺陷检查表。在实际使用中,代码检查可以快速发现缺陷,发现30%到70%的逻辑设计和编码缺陷,代码检查中发现的问题不是。然而,代码检查非常耗时,代码检查需要积累知识和经验。
代码检查可以使用测试软件进行自动测试,以提高测试效率和降低劳动强度,也可以使用手动测试来充分发挥人类的逻辑思维能力。
需要代码审计的可以留言咨询哦。或者是看我主页也可以的

查看更多杭州其他商务服务信息

免责声明:此信息系发布者(UID:681294)自行发布,本站是服务平台,仅提供信息存储空间服务,该信息内容的真实性及合法性由该发布者完全负责。

© lieju.com 联系我们