Securify之旅2之审计相关知识前导

现在的审计方法有人工的攻防审计以及自动化的审计。在海量的智能合约中,当然是要降低人工审计的部分,并增加更多的部分通过自动化审计来进行。

当前主流的自动化审计有三大类:

  1. 特征代码匹配。
  2. 基于形式化验证。
  3. 基于符号执行和符号抽象。

特征代码匹配

大家从名字上来看应该就能猜到,其实它就是对恶意代码进行一些提取抽象,正如像我们之前对常规软件系统做的代码静态检测。我们会将恶意代码抽样成一种语义匹配,然后再去寻找与它匹配的静态源代码。这里所讲的静态,正是因为代码并不需要被运行。

这种审计的方法的优点是显而易见的,比如说速度很快,因为它就是对原码进行一个字符串的匹配。第二是它能够迅速的响应新的漏洞,因为这种审计方法大部分是以插件形式开发,比如出现了一个新的漏洞,我们就可以快速提交一些新的匹配模式。

它的缺点就是需要代码开源。听起来似乎与智能合约很吻合,因为区块链是推荐开源的。但事实上,有人做过统计,目前智能合约的代码的开源率仅仅只占48.62%,其余的只是暴露它的一个OPCODE。如果让安全人员去分析这些OPCODE,去逆向OPCODE,将是巨大的挑战,这肯定将会花了大力气,所能cover的范围也极为有限。

它的另一个缺点是漏报率高。因为智能合约的静态审计和传统的静态代码并不完全一致:传统的静态审计方法,比如说APP检测,会调用成熟库里面的,确定稳定的一些函数,进而对它进行审计;但智能合约里面它的一些函数、它一些特征等等,相较传统的代码库存在更大的变化性,所以说相较传统的代码,采取此方法的漏报率还会更高。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DongAoTony

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值