如果你对区块链技术感兴趣的话,可能听说过很多攻击者利用程序代码中的漏洞而导致的大量资金被盗事件。例如,2016年臭名昭著的DAO攻击事件,攻击者利用一个名叫「重入」的漏洞超额提取了他们原本所能提取的资金。另一个更近期的事件是闪电贷攻击,发生于2022年4月17日,造成1.82亿美元的资金损失。虽然所有攻击都源于底层源代码的安全漏洞,但好消息是现在已经有能够检测此类漏洞的程序分析技术。在接下去的几篇博文中,我们会解释程序分析是什么,以及它如何帮助在部署前捕获安全漏洞。
程序分析简介
Hooked Protocol:uHGT代币存在安全问题,已部署修复程序:12月18日消息,Web3社交网络Hooked Protocol表示,注意到其uHGT代币存在一个小的安全问题,团队已经部署了一个修复程序来解决这个问题。用户在BUSD中的资金、HOOK代币都是安全的。Hooked Protocol将很快部署一个新的游戏内代币来解决这个问题。随后将发布解释性说明。[2022/12/18 21:52:17]
程序分析指的是一类用于检测程序中安全漏洞的技术。程序分析有两种主要形式,动态和静态。动态程序分析的目标是通过执行程序来检测问题,而静态程序分析则无需运行程序本身就可以对源代码进行分析。然而,在这些技术之中,只有静态分析能够确保程序中不存在漏洞。相反,不同于静态分析,动态分析能证明问题的存在,它并不能够证明漏洞并不存在。
以太坊客户端Geth将于8月24日发布针对安全问题的修补程序:官方消息,8月24日,以太坊客户端Geth将发布针对高严重性安全问题的修补程序。官方提醒用户做好任何必要的准备以升级到即将发布的版本 (v.1.10.8) 。[2021/8/19 22:24:57]
乍一看,静态分析听起来似乎很神秘:表面看来,静态分析似乎违反了一个被总结为莱斯定理「Rice'stheorem」的基本原则,该定理声称程序的每一个非平凡性质都是不可判定的。在此,语义属性是关于程序行为的属性,而非平凡性质是指只有某些程序拥有而其他程序没有的性质。与我们手头话题更相关的是,安全漏洞的存在是非平凡性质的一个典型例子。因此,关于「这个程序是否存在安全漏洞」这一问题,莱斯定理告诉我们没有一个算法能够终结并准确回答这一问题。?
声音 | PeckShield创始人蒋旭宪:区块链安全问题存在与传统互联网安全问题相结合的地方:据PANews消息,PeckShield创始人蒋旭宪在接受采访时表示,区块链不是一个全新的技术,只是一些已知的技术重新有机整合。所以有很多安全问题存在跟传统互联网安全问题相结合的地方,这个结合的地方会出现一些新的独特视角。但同时区块链安全问题有意思的地方在于,因为区块链有相对的隐私性,那些勒索软件就会利用这一特性来让自己变得无法被追踪,这个问题随着区块链的普及也会产生新的攻防。但这以前是不存在的,以后会越来越多。[2019/1/23]
那么,静态分析的可行性源自哪里呢?答案藏于以下的观察:没错,没有一个算法能够准确地给出是或否,但可以有一个算法在程序有安全漏洞时总是会回答「是」,在程序没有安全漏洞时算法有时可能也会回答「是」。换句话说,只要我们愿意容忍一些误报,我们就可以绕过赖斯定理和不可判定性。
分析 | 54%的加密货币交易所存在安全问题:据bitcoin.com报道,ICO Rating的一份新报告显示,54%的加密货币交易所至少在一个区域存在安全性较差问题,使交易所及其用户容易受到攻击。据悉,ICO Rating分析了100个每日交易量超过100万美元的交易所,揭示了许多交易所的安全措施普遍宽松,包括一些据称顶级的交易所。其中,Coinbase和Kraken的安全评分最高,分别为89和80分,Okcoin最低仅为15分(满分为100分)。[2018/10/3]
静态分析原理
让我们以高一维度的视角来看看静态分析是如何运作的。静态分析的基本原理是将程序所处的状态集合进行过近似「over-approximate」。我们将程序状态视为从变量到值的映射。一般来说,不存在一个算法能够明确也许是执行某一程序引起的确切程序状态集。但可以近似该集合,如下图所示:
此处,蓝色的不规则形状对应在执行某些程序时可能出现的实际状态集,红色区域对应预示错误或安全漏洞的「坏状态」。由于不可判定性,永远没有一个算法能够准确表明蓝色区域到底是什么,但是我们能设计一个算法以系统性的方式过近似这个蓝色区域,如上面常规绿色区域所示。只要绿色和红色的交集为空,我们就有证据证明程序没有做坏事。然而,如果我们的过近似不够不准确,可能会使得红色区域重叠,即使蓝色和红色区域的交集依旧为空,如下图所示:
这种情况会导致所谓的「误报」,由于分析与真实问题不相应而报告的虚假错误。一般而言,静态分析的圣杯是构造过近似,即过近似足够准确因此我们在实际中不会获得很误报过近似的计算足够有效率,因此分析可扩展到我们所关心的现实世界的程序。
附带说明一下,还可以设计静态分析算法来近似如下所示的程序行为:
在此情况下,绿色区域包含在蓝色区域内,和另一种方式正好相反。这种分析是不可靠的,意味着可能会漏掉真正的程序错误:正如我们在上图所看到的那样,绿色和红色的交集为空,因此即使程序真的存在漏洞,分析也不会报告问题。这会导致所谓的假阴性,真正的漏洞被静态分析给遗漏了。
大体来说,如果我们想获得可证明的安全性,我们会想要可靠的从来不会有误报的静态分析器,同时还需要足够精确,在实践时不会报告太多误报。然而,好消息是,几十年的正统研究表明设计这样的静态分析器有可能的。下篇博文,我们会更详细地介绍静态分析器具体是如何运作的!
总结
程序分析是一种有效的能够捕捉各种程序中安全漏洞的技术,包括区块链应用程序。此外,可靠的静态分析器的过近似程序行为能确保整个类别中不存在漏洞。
今年的前三个月是非常乏味的。在加密市场下跌和全球危机之间,用户很难看出Web3.0在今年剩余的时间里会走向何方。然而,市场一如既往地充满可能性.
跨链桥不是一个新话题,市面上的文章从桥的基本要素、跨链技术等对跨链桥进行了全面的分类和解读。但是目前文章对于跨链桥的分类使人眼花缭乱,阻碍了人们对跨链桥性能的宏观理解.
据相关媒体4月28日报道,哔哩哔哩为海外用户授权发布“CheersUP”系列NFT,该系列包含在以太坊上发布的10000枚头像类NFT,这或是国内互联网大厂的第一批以太坊版本NFT.
点击上方“蓝色字”可关注我们!暴走时评:美国政府表示观察到朝鲜的网络黑客正在针对加密货币和区块链公司,包括交易所、DeFi协议和游戏,利用漏洞来从中牟利.
原作者:AnneSraders、DeclanHarty原标题:《HowAnatolyYakovenko’scryptostartupSolanaLabsisbuildingwhatinvesto.
作者:Skye 本文来自微信公众号:老雅痞1970年代末美国大幅加息压通胀,令美元展开大升浪,到了1995年至2001年间,美国科技业兴起,美元在1995年后一路走强.