时间:2022-06-16 11:23:11
漏洞类型覆盖率低.由于智能合约漏洞类型繁多且复杂,大多数检测工具无法涵盖所有的漏洞类型。以本文统计的25种检测工具和15种漏洞类型为例,其中支持漏洞类型最多的工具是Securify,能够检测12种安全漏洞类型.然而,大多数检测工具检测类型单一,且只能验证低级别的安全漏洞,缺乏对合约整个执行过程中的监测和推断,难以发现跨合约的漏洞问题
现有的形式化验证技术的研究工作大多数自动化程度不高,且检测出来的漏洞不一定存在可达的程序路径.目前的形式化验证方法用数学推演来分析可能存在复杂漏洞的合约,虽然有效地维护了智能合约安全但其难度很高.另外,使用形式化验证技术对更广泛的智能合约漏洞进行检测仍然面临着严峻挑战.
漏洞检测准确率低.目前大多数智能合约检测工具仍然存在很高的误报率和漏报率,以本文中测试的300个智能合约为例,在3种智能合约漏洞的检测上,除了VaaS和TMP的准确率能达到80%以上,其他3种检测工具的准确率仅仅刚达到60%左右,这远不能满足当前智能合约漏洞类型多、合约数量大的应用场景.因此,提高智能合约漏洞检测工具的准确率是当前面临的关键挑战.
构建统一的漏洞检测工具性能评估体系.根据已经出现的智能合约安全事件以及相关的合约漏洞审计经验,综合考虑漏洞检测的漏报率、误报率、检测时间、可检测漏洞类型等因素,最终构建统一的漏洞检测工具性能评价体系,对已有的相关工具进行对比分析,以验证其有效性,并为新的智能合约漏洞检测工具的研发和改进提供参考与指导.
漏洞检测完全自动化.智能合约工具完全自动化是保证漏洞检测效率的重要一环.现有的检测工具还不能做到完全自动化,例如形式化验证方法F*和KEVMframework.此外,有些“一键式”的检测工具无法明确输出合约是否存在漏洞,而要对检测出来的疑似漏洞进行手动分类
随着DeFi锁定价值的增加,对安全审计的需求也在增加。智能合约漏洞,拉地毯,和其他代码bug。智能合约审计可以手动或自动进行。智能合约审核员会检查智能合约代码,以检测漏洞和安全问题,从而在一定程度上保证项目代码可以安全部署。
概念:铸币函数是智能合约里会用到的一种常见函数,功能是被调用后可以铸造一定数量的新代币。正常情况下的铸币函数权限一般只有平台合约的Owner才拥有,当平台私钥泄露或Owner权限被黑客掌握的话,黑客就会调用铸币函数,铸造大量代币并出售获利。另一种情况就是平台的智能合约代码业务逻辑有漏洞,被黑客有机可乘,利用漏洞调用合约函数进行铸币。
相较于传统应用程序,智能合约存在很多独特的变量和函数,这给面向智能合约的模糊测试带来了全新的挑战.首先,由于智能合约全局状态与调用序列的特性,导致生成有效的测试用例变得极为困难.面向传统程序的模糊测试方案生成测试用例时仅考虑单测试用例,因此并不适用于智能合约.其次,智能合约基于虚拟机运行,其漏洞的形成原因与传统程序有较大的不同.智能合约中的漏洞有较大差别,它们既不会造成程序崩溃,也没有很多共同的特征用于漏洞检测,这些漏洞的产生根源可能来自于区块链、虚拟机和高级语言等不同的层面,且彼此之间也有较多的差异,这也为智能合约的漏洞检测带来了很大挑战.
一、什么叫智能合约 智能合约是时下趋之若鹜的区块链专有名词,其火爆水平与其说定义的模糊不清水平相伴相生。PeterTodd就曾坦言:“没人了解智能合约到底是啥,大家应当必须推测机去执行它。”要了解智能合...
如今我们的日常生活基本上离不了合同书,往大说,工作中是与企业签署的劳动合同书,购房是与房地产公司签署买房合同,购买保险是与车险公司签署保险合同;往变小说,网上购物、定外卖送餐、打的、购买彩票全是与有关的服务项目给予...
比特币有智能合约吗?当然。通用术语中的智能合约是一种数字化协议,在满足预定标准时自动执行。比特币是支持多种智能合约以支持多笔交易的领先货币之一。比特币经过重大升级,使加密货币能够轻松处理更复杂的交易。这些智能合约为加密货...
通过 zkSNARKs 证明机器学习 (ML) 模型推理有望成为这十年智能合约最重要的进步之一。这一发展开辟了一个令人兴奋的大设计空间,允许应用程序和基础设施发展成为更复杂和智能的系统。 通过添加 ML 功能,智能...