链上项目以及NTF源代码安全审计能给企业带来的好处
现在大部分客户130对于软9370件开发的6165安全考量基本集中在软件开发的后期,在测试阶段引入。常用的软件风险评估、漏洞扫描、渗透测试等都是在软件开发完成后进行。通常这个阶段预留的时间非常少,不仅修复的难度高,修复、测试的成本极高,而且存在大量的漏洞错报和误报的情况。后期的测试手段也无法精准地测试出代码漏洞的具体位置。当通过后期测试发现问题后,人工进行代码审查去查找漏洞所在代码位置时,我们经常会发现过程中存在效率低、准确率低、无法定 位具体问题代码行等问题。而这些问题导致了客户后期发现系统漏洞时,无法进行快速、准确地修复,客户只能让系统携带漏洞上线.
智能合约(smart contract),区块链领域人士想必都不会陌生。智能合约就是将现实合约条款的执行过程电子化并实现量化交易的一种协议,它就是通过一套以数字形式定义的承诺(commitment),让合约参与方可以在上面执行这些承诺。数字形式就意味着所有的智能合约不得不写入计算机可读的代码中。智能合约是基于区块链技术,它的出现满足了许多常见的合约条件(如支付条款,留置权,机密性,以及执行等),以及大程度地减少恶意和偶然地异常,大限度地减少对可信中介的依赖
智能合约为何要通过代码审计
但这项新技术并非没有挑战,安全问题就是重要的一环。据统计,在过去的5年间,FraVenner智能合约代码审计机构在审查过的近1000个智能合约项目中有超过25%的存在严重漏洞,有过半项目至少存在一个安全隐患,而这些安全隐患和漏洞将会给恶意攻击者带来机会,恶意侵入盗取项目资产。例如,2016年6月,The DAOEther的漏洞就造成了5000万美元的损失。当然,项目的安全问题除了能给项目造成直接的巨额经济损失外,还会严重损害项目的品牌声誉,导致项目无法正常运营甚至“流产”。
FraVenner智能合约代码审计机构建议广大智能合约项目方,在项目上链之前,务必通过进行严格的代码审计,以确保项目不存在安全问题,让所有合约得到执行。那么,项目方是否可以内部进行代码审计呢?理论上讲这个是可行的,至少可以为项目节省一笔审计费用,但项目方内部审计存在很明显的缺陷,首先,项目方作为项目运营方,自己的项目自己审计存在“不可信”的问题,缺乏有效的品牌背书,无法让合约参与者信服。其次,项目方此前从来没有接触过智能合约的审计,复杂的审计流程会给项目的开发者带来巨大挑战。
正所谓,专业的事情必须专业的人来做,如果项目方内部进行审计,就很容易忽略不该忽略的漏洞或安全隐患,这样一旦上链,项目就处于非常不安全状态,很大几率遭受恶意攻击而蒙受巨经济损失和严重名誉损失。因此,项目方是找第三方智能合约代码审计机构进行代码审计,虽然由专门从事智能合约审计的第三方对智能合约代码进行审计也不能万无一失,但至少能发现代码中的绝大部分错误漏洞,可以大大提升项目的安全性。
智能合约如何进行代码审计
智能合约代码审计一般都会围绕项目的三个方面进行,包括常见的错误(包括堆栈问题,编译和代码重入错误)、智能合约代码中可能存在的已知错误和安全漏洞以及对智能合约进行各种模拟攻击测试等,例如,为尽可能的找到智能合约中的安全问题,FraVenner智能合约代码审计机构一般都会测试各类攻击,如重入攻击(Reentrancy attack)、数值溢出(Over and under flows)、重放攻击(Replay attack)、重排攻击(Reordering attack)、短地址攻击(Short address attack)。
一般智能合约代码审计有两种基本方法:手动和自动代码分析。手动代码分析比较容易理解,就是由代码审计工程师逐行审查每一行代码,仔细查看代码的编译、重入错误和安全等问题,其中安全问题为重要,它能直接影响智能合约是否能长期稳定的运行。自动代码分析就借助各种审计工具对代码进行全方位扫描,它的好处就是在检查代码时可以节约大量的人力和时间,还可以进行多条件复杂的渗透测试,有助于快速发现漏洞。
当然,目前所有的代码审计机构都是手动和自动代码分析相结合,FraVenner智能合约代码审计机构也不例外。首先通过自动代码分析工具对智能合约的代码进行深度扫描,找到各种已知的漏洞和安全隐患,然后再通过代码审计工程师进行一次彻底的人工代码审查,确保上述自动分析不会存在漏报或误报的问题,让智能合约保持在一个比较安全的状态。
链上项目以及NTF源代码安全审计能给企业带来的好处
杭州其他商务服务相关信息
1天前
1天前
1天前
2天前
11月15日
11月15日
11月15日
11月14日