月亮链 月亮链
Ctrl+D收藏月亮链

BLS:安全问题频现 程序分析如何提前捕获安全漏?_区块链

作者:

时间:1900/1/1 0:00:00

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

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

Vitalik Buterin:由于安全问题只用少量ETH质押:金色财经报道,以太坊联合创始人Vitalik Buterin由于担心安全问题和保持安全的复杂性,他只用少量的ETH质押。Buterin在Bankless Podcast上表示,他并没有把他所有的以太坊质押,只是 \"相当小的一部分\",因为在网络上安全投资需要多重签名,这仍然是一个棘手的过程。如果你把你的ETH质押,访问它的钥匙必须在某个在线系统上公开。为了安全起见,它必须是一个多重签名,而用于抵押的多重签名仍然相当难以设置,它在很多方面都变得很复杂。[2023/6/30 22:10:38]

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

以太坊2.0中Blst BLS12-381签名库存在安全问题,官方已发布修补版本:荷兰白帽黑客Guido Vranken报告了以太坊2.0中Blst BLS12-381签名库存在安全问题,受影响的版本包括Blst v0.3.0至v0.3.2。这些版本对于blst_fp_eucl_inverse函数的某些输入,可能产生错误的输出,可能会导致从正确的输入中创建无效的签名。官方已发布修补版本Blst v0.3.3,建议用户立即升级。[2021/4/2 19:40:02]

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

太壹科技CTO:彻底解决交易所的安全问题需要打造良好的交易所安全生态:交易所的安全问题不是单一的问题,随着问题的不断演变,还会涉及到一些非法资金流入、平台安全风险等问题。如放任这些问题而没有有效的解决方案,会对交易所平台的长久发展造成极大的限制!

针对交易所面临的安全困境,太壹科技CTO章亚亮提出其解决思路:“彻底解决交易所的安全问题需要打造良好的交易所安全生态!”

7月29日,太壹科技&优盾钱包系列课程第4期特邀章亚亮,为交易所从业者分享搭建打造良好的“交易所安全生态”案例。

优盾钱包,是一款领先的企业级交易所钱包管理系统,以安全完善的技术重新定义数字资产钱包,为比特币、以太坊等100多种币种提供API接入;顶级私钥BOSS自主掌握,子私钥动态计算不触网,硬件加持,纯冷操作;多级财务审核策略,资产动向、操作日志一目了然;海量地址统一管理,余额一键自动归集。[2020/7/29]

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

现场 | 慢雾科技郭阳:面对DApp安全问题开发人员需提升开发能力:金色财经现场报道,今日,2018可信区块链峰会在北京召开。在主题为“区块链安全焦点关注”的区块链安全论坛上,厦门慢雾科技有限公司慢雾安全负责人郭阳指出了以太坊溢出、权限控制、条件竞争、假充值和EOS恶意占用 RAM、假币等DApp 安全问题,他表示,开发人员要提升自己的开发能力以及专业技能,同时在合约开发完成后找职业的安全团队审计,也可以参考业界的经验分析总结。[2018/10/10]

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

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

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

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

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

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

撰文:Veridise

编译:CCC

标签:BLS以太坊LST区块链RBLS价格以太坊最新价格美元计价FILST区块链是什么意思

pepe最新价格热门资讯
WEB:Web3 不该成为新型剥削工具 DAO 需要更加人性化_TALE价格

当我们沉浸在对 Web3 无限未来的畅想中时,不知道有多少人注意到了,当下有关 Web3 的叙事带给我们的体验实际上并没有「那么好」.

1900/1/1 0:00:00
NFT:金色Web3.0日报 | 以太坊域名服务ENS 24小时交易量增幅接近500%_TRUSTNFT

1.DeFi代币总市值:1169.85亿美元 DeFi总市值 数据来源:coingecko2.过去24小时去中心化交易所的交易量:49.

1900/1/1 0:00:00
Tweeter DAO :如果我们统治了推特

周四,一份新修订的13D文件显示,埃隆·马斯克召集了团队,从他440亿美元的推特收购报价中拿出了71亿美元。 这很有趣,原因有几个。首先,这意味着埃隆“根本不在乎经济”的说法不再成立.

1900/1/1 0:00:00
区块链:13 张图看懂 2022 年一季度区块链行业投融资趋势_Bincentive

CB Insights 在发布 2022 年一季度区块链领域投融资报告,从投资机构、投资规模、趋势、地区以及被投领域等角度梳理了全球行业内投资概况,并进行了详细的数据呈现.

1900/1/1 0:00:00
ENT:金色观察 | Fabric Ventures:我们为什么投资Argent_GEN

近日Fabric Ventures宣布与Metaplanet一起领投Argent的4000万美元B轮融资.

1900/1/1 0:00:00
比特币:金色观察 | 恐慌程度上升BTC跌破34000美金关口 接下来还会跌吗?_BTCS

在上周短暂反弹之后,加密市场整体下行,周末并未出现反弹,更广泛的加密市场也在下滑。9日凌晨,BTC跌破34000美元。这是自2月以来,BTC首次跌至34000美元以下.

1900/1/1 0:00:00