区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > Filecoin > 正文

安全问题频现 程序分析如何提前捕获安全漏?

作者:

时间:

如果你对区块链技术感兴趣的话,可能听说过很多攻击者利用程序代码中的漏洞而导致的大量资金被盗事件。例如,2016 年臭名昭著的 DAO 攻击事件,攻击者利用一个名叫「重入」的漏洞超额提取了他们原本所能提取的资金。另一个更近期的事件是闪电贷攻击,发生于 2022 年 4 月 17 日,造成 1.82 亿美元的资金损失。虽然所有攻击都源于底层源代码的安全漏洞,但好消息是现在已经有能够检测此类漏洞的程序分析技术。在接下去的几篇博文中,我们会解释程序分析是什么,以及它如何帮助在部署前捕获安全漏洞。

程序分析指的是一类用于检测程序中安全漏洞的技术。程序分析有两种主要形式,动态和静态。动态程序分析的目标是通过执行程序来检测问题,而静态程序分析则无需运行程序本身就可以对源代码进行分析。然而,在这些技术之中,只有静态分析能够确保程序中不存在漏洞。相反,不同于静态分析,动态分析能证明问题的存在,它并不能够证明漏洞并不存在。

乍一看,静态分析听起来似乎很神秘:表面看来,静态分析似乎违反了一个被总结为莱斯定理「Rice's theorem」的基本原则,该定理声称程序的每一个非平凡性质都是不可判定的。在此,语义属性是关于程序行为的属性(与语法属性不同),而非平凡性质是指只有某些程序拥有而其他程序没有的性质。与我们手头话题更相关的是,安全漏洞的存在是非平凡性质的一个典型例子。因此,关于「这个程序是否存在安全漏洞」这一问题,莱斯定理告诉我们没有一个算法能够终结并准确回答这一问题。

BiKi ETF专区EOS5S/USDT今日最高涨幅46.61%:据BiKi平台ETF专区行情显示,截至今日11:15,ETF5S专区EOS5S/USDT今日最高涨幅46.61%,现净值0.2471; BCH5S今日最高涨幅35.29%,现净值0.0136; ETF3L专区THETA3L/USDT今日最高涨幅38.45%,现净值2.4201。

ETF5L/5S和ETF3L/3S是一种锚定标的5倍做多、5倍做空和3倍做多、3倍做空某种数字资产的指数基金,目前已上线主流币、NFT、Defi、Layer2、波卡系、存储系、匿名币等热门币种,相比合约有操作简单、永不爆仓、无保证金、单边行情收益更高等特点。[2021/5/28 22:51:53]

那么,静态分析的可行性源自哪里呢?答案藏于以下的观察:没错,没有一个算法能够准确地给出是或否,但可以有一个算法在程序有安全漏洞时总是会回答「是」,在程序没有安全漏洞时算法有时可能也会回答「是」。换句话说,只要我们愿意容忍一些误报,我们就可以绕过赖斯定理和不可判定性。

让我们以高一维度的视角来看看静态分析是如何运作的。静态分析的基本原理是将程序所处的状态集合进行过近似「over-approximate」。我们将程序状态视为从变量到值的映射。一般来说,不存在一个算法能够明确也许是执行某一程序引起的确切程序状态集。但可以近似该集合,如下图所示:

此处,蓝色的不规则形状对应在执行某些程序时可能出现的实际状态集,红色区域对应预示错误或安全漏洞的「坏状态」。由于不可判定性,永远没有一个算法能够准确表明蓝色区域到底是什么,但是我们能设计一个算法以系统性的方式过近似这个蓝色区域,如上面常规绿色区域所示。只要绿色和红色的交集为空,我们就有证据证明程序没有做坏事。然而,如果我们的过近似不够不准确,可能会使得红色区域重叠,即使蓝色和红色区域的交集依旧为空,如下图所示:

这种情况会导致所谓的「误报」,由于分析与真实问题不相应而报告的虚假错误。一般而言,静态分析的圣杯是构造过近似,即 (1)过近似足够准确因此我们在实际中不会获得很误报 (2)过近似的计算足够有效率,因此分析可扩展到我们所关心的现实世界的程序。

附带说明一下,还可以设计静态分析算法来近似如下所示的程序行为:

在此情况下,绿色区域(通过静态分析计算)包含在蓝色区域内(表示实际状态),和另一种方式正好相反。这种分析是不可靠的,意味着可能会漏掉真正的程序错误:正如我们在上图所看到的那样,绿色和红色的交集为空,因此即使程序真的存在漏洞,分析也不会报告问题。这会导致所谓的假阴性,真正的漏洞被静态分析给遗漏了。

大体来说,如果我们想获得可证明的安全性,我们会想要可靠的从来不会有误报的静态分析器,同时还需要足够精确,在实践时不会报告太多误报。然而,好消息是,几十年的正统研究表明设计这样的静态分析器有可能的。下篇博文,我们会更详细地介绍静态分析器具体是如何运作的!

程序分析是一种有效的能够捕捉各种程序中安全漏洞的技术,包括区块链应用程序。此外,可靠的静态分析器的过近似程序行为能确保整个类别中不存在漏洞。

撰文:Veridise

编译:CCC

标签:AVATBERETFAPP$AVATARGoat ZuckerbergMETFI海特币app下载

Filecoin热门资讯
金色早报 | 高盛首次提供比特币支持的贷款

头条 ▌高盛首次提供比特币支持的贷款 4月29日消息,高盛集团提供了首个由比特币支持的贷款工具,这是一家美国大型银行加快华尔街接受加密货币的重要一步。高盛发言人表示,该担保借贷工具以借款人拥有的比特币为抵押借出现金。在加密货币价格飙升和受欢迎程度削弱了多年来的阻力之后,华尔街银行正在增加其加密货币产品。

「跨链NFT」的价值逻辑够硬吗?

最近,以 Gh0stly Gh0sts、tiny dinos 为首的「跨链 NFT」的上涨引人瞩目。 作为 Free Mint 的项目,如此的涨幅可谓惊人。

数藏平台“百团大战”背后:程序员写代码抢购 拉新团长日薪上万

平台竞争激烈,优质用户匮乏,“花钱买用户”成为新兴平台的必要手段。 “新平台上线,注册就有空投!邀请30人可获得创世勋章,享平台分红!” 4月25日,赵亮(化名)在微信群里发出这条消息之后,很快在不同数字藏品相关的微信群内转发,同时转发的还有一张海报图片,用户扫描图片上的二维码,即可注册成为该新平台会员。

一家制作 3D QQ 秀的海外公司 凭啥能估值 10 亿美金?

近期,Genies完成了由Silver Lake领投,Bond、NEA、Tamarack Global参投的1.5亿美元C轮融资,估值达到10亿美元。  至此,元宇宙领域又诞生了一家独角兽公司,而该笔融资将用于雇佣更多的工程技术人才,以构建一个基于自定义化身的元宇宙平台。

欧易行业周报:加息、缩表等情况下 市场避险情绪上涨

(1)全球政策: 1.1 媒体报道:俄罗斯正制定法案承认加密资产为支付方式。 1.2 美国国税局计划向NFT投资者征税。 1.3 俄罗斯“数字资产法案”规定,普通居民每年最多购买7000美元的加密资产。 (2)项目进展: 2.1 Aptos 发布激励测试网路线图,将于5月13日开放第一阶段注册(IT1)。

PayPal首席执行官:我们将在数字钱包方面加倍努力

周三,PayPal 的首席执行官Dan Schulman在公司季度财报电话会议上强调,数字钱包将在这家数字支付公司的未来增长中发挥关键作用。Schulman表示:“我们需要在数字钱包上加倍努力。我们相信这是这个行业的未来,是PayPal 的未来。