跳至主要内容

强烈建议你:关注本网站,有重要信息!

重大疑问:在加密领域如何保护你的资产安全?

 对区块链技术感兴趣的话,或许听说过很多进犯者利用程序代码中的缝隙而导致的大量资金被盗事情。例如,2016 年臭名昭著的 DAO 进犯事情,进犯者利用一个名叫「重入」的缝隙超量提取了他们本来所能提取的资金。另一个更近期的事情是闪电贷进犯,发生于 2022 年 4 月 17 日,形成 1.82 亿美元的资金损失。虽然一切进犯都源于底层源代码的安全缝隙,但好消息是现在已经有可以检测此类缝隙的程序剖析技术。在接下去的几篇博文中,咱们会解释程序剖析是什么,以及它怎么协助在布置前捕获安全缝隙。

程序剖析简介

程序剖析指的是一类用于检测程序中安全缝隙的技术。程序剖析有两种首要方式,动态和静态。动态程序剖析的目标是经过执行程序来检测问题,而静态程序剖析则无需运转程序自身就可以对源代码进行剖析。但是,在这些技术之中,只要静态剖析可以保证程序中不存在缝隙。相反,不同于静态剖析,动态剖析能证明问题的存在,它并不可以证明缝隙并不存在。

乍一看,静态剖析听起来好像很神秘:外表看来,静态剖析好像违反了一个被总结为莱斯定理「Rice's theorem」的基本原则,该定理声称程序的每一个非普通性质都是不可判定的。在此,语义特点是关于程序行为的特点(与语法特点不同),而非普通性质是指只要某些程序具有而其他程序没有的性质。与咱们手头论题更相关的是,安全缝隙的存在是非普通性质的一个典型比如。因而,关于「这个程序是否存在安全缝隙」这一问题,莱斯定理告诉咱们没有一个算法可以完结并精确答复这一问题。 

那么,静态剖析的可行性源自哪里呢?答案藏于以下的调查:没错,没有一个算法可以精确地给出是或否,但可以有一个算法在程序有安全缝隙时总是会答复「是」,在程序没有安全缝隙时算法有时或许也会答复「是」。换句话说,只要咱们愿意容忍一些误报,咱们就可以绕过赖斯定理和不可判定性。

静态剖析原理

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


算法


此处,蓝色的不规则形状对应在执行某些程序时或许出现的实践状况集,赤色区域对应预示过错或安全缝隙的「坏状况」。因为不可判定性,永远没有一个算法可以精确标明蓝色区域究竟是什么,但是咱们能规划一个算法以系统性的方式过近似这个蓝色区域,如上面常规绿色区域所示。只要绿色和赤色的交集为空,咱们就有依据证明程序没有做坏事。但是,如果咱们的过近似不够不精确,或许会使得赤色区域堆叠,即使蓝色和赤色区域的交集依旧为空,如下图所示:


算法


这种状况会导致所谓的「误报」,因为剖析与真实问题不相应而陈述的虚伪过错。一般来说,静态剖析的圣杯是构造过近似,即 (1)过近似满足精确因而咱们在实践中不会取得很误报 (2)过近似的核算满足有用率,因而剖析可扩展到咱们所关心的现实世界的程序。

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


算法


在此状况下,绿色区域(经过静态剖析核算)包含在蓝色区域内(表示实践状况),和另一种方式正好相反。这种剖析是不牢靠的,意味着或许会漏掉真实的程序过错:正如咱们在上图所看到的那样,绿色和赤色的交集为空,因而即使程序真的存在缝隙,剖析也不会陈述问题。这会导致所谓的假阴性,真实的缝隙被静态剖析给遗漏了。

大体来说,如果咱们想取得可证明的安全性,咱们会想要牢靠的从来不会有误报的静态剖析器,一起还需要满足精确,在实践时不会陈述太多误报。但是,好消息是,几十年的正统研讨标明规划这样的静态剖析器有或许的。下篇博文,咱们会更具体地介绍静态剖析器具体是怎么运作的!

总结

程序剖析是一种有用的可以捕捉各种程序中安全缝隙的技术,包括区块链应用程序。此外,牢靠的静态剖析器的过近似程序行为能保证整个类别中不存在缝隙。

评论

此博客中的热门博文

坐拥12.9万枚比特币的大户如何看待比特币

  微策略(Microstrategy)的创始人和首席执行官Michael Saylor承受Washingtonian的CEO Cathy Merrill的视频采访对话,议论他对比特币的看法和观念。其间有一些比较精彩的问答,摘编、点评如下,以飨读者。 截至采访时,Microstrategy现已购买了12.9万枚大饼(比特币),算得上是单一实体具有大饼数量最多的实体之一。 Cathy问,大饼是一种商品仍是钱银?Saylor答复说,他以为最好是把大饼看作是数字工业。别的,也能够看成是世界上第一个数字商品。 他介绍说:「比特币背面的想法是发明完美的钱银,或许另一种思考办法是发明完美的黄金。假如我能够把一切的黄金供应量削减到 2100 万枚金币,然后假如我能够把它们非物质化,使它们没有分量,并且神奇的是我能够以光速移动它们,组成和分化它们。假如我能把它们分红 1 亿个小元素,咱们称之为“聪”,然后我就能把它们贮存在网络空间。假如我能找到一个牢靠的软件程序来跟踪谁具有这 2100 万枚虚拟钱银,那么你就有了比特币。比特币的概念是咱们把钱放在网络空间,咱们让电脑担任,让软件程序担任,然后咱们分发软件程序,让它在成千上万台不同的电脑上运行,每台电脑都有相同程序和相同的账本,这样就没有人能够诈骗任何人,任何被损坏的节点都将被从网络中移除。所以它是一个分布在网络空间的生物。目的是创立一个共享的、不行更改的账本,记录谁具有什么。」 「你不能再开采这种黄金了,它的上限是 2100 万,你不必担心一些中央银行或托管人把你的黄金卖给别人,而你却不知道,没人能拿走它。而比特币的一切权是通过具有私钥完成的。理论上你能够持有恣意数量的比特币。假如你将私钥转交给网络上的其他人,那么一切权就会从你身上转移到他们身上。因而,咱们第一次得到了能够以光速移动的永存钱银,并且能够在电脑上编程。这是一个巨大的想法。」 Saylor对切割为“聪”的说法仍然是一种比方,其实比特币切割的一个个实体是电子硬币,每一枚硬币上有一个面值。面值是整数,最小是1亿分之一比特币,也便是1聪。 聪还能不能切割?对比特币主网而言,需求晋级代码。不过咱们能够当即转到二层闪电网络上去,在那里能够持续细分到比聪更小的单位。 从理论上讲,比特币能够无限细分。 无限细分而不影响其作为钱银使用的性质,就不会出现所谓钱银不够用的通缩问题。...

Web3革命:逃离、信仰、大迁徙

  唯一一个还在快速增长且存在很大时机的互联网大厂,字节跳动不少职工却挑选了自动抛弃“跳动”,开端探究新的职业。他们有的是负责飞书的技能职工、有的是视觉设计师、有的负责TikTok事务、有的是2014年就参加字节的“技能大佬”......都是90后,大部分是95后,他们享受着字节的18薪、坐拥巨大增值潜力的期权、吃着变着把戏的免费三餐以及管饱的零食饮料。 可是,这一系列国内乃至全球企业的顶配待遇,却留不住他们转行的决心。 和章北海不同,腾讯的高档产品经理Plato连年终奖都不乐意等。“我现已不小了,不想过一眼看到头的日子。”2021年年底,Plato从腾讯总部辞去职务,选中了最近大火的创造者经济赛道,正式敞开了自己的Web3创业之路。 虎嗅观察到,阿里、蚂蚁、腾讯、字节、网易、美团,至少六家互联网大厂有“高P”(高档办理者或高档技能人才),抛弃了安稳的高薪和可观的期权,自动探究Web3国际。 参加Web3赛道的前大厂“高P”正在变得更多,其间便包含:美团联合创始人王慧文、蚂蚁技能总监赵峰、2014年参加字节2020年便拿到近亿期权退休的90后程序员郭宇等。 王慧文本年4月将立刻App签名改为:正在学习Crypto。同为美团的创始者,他比王兴重视Crypto要迟许久,早在2013年,王兴就现已看好比特币并进行了出资。可是“闻DAO无先后”,王慧文对Web3有一些新的认知,他认为区块链撕裂了我国互联网,我国互联网的主要对立从巨子与创业公司的对立转变成古典互联网与区块链之间的对立。2020年他从美团退休,开端新的赛道。 郭宇则是最早一批Web3从业者,从2011年入职支付宝时就现已重视到Web3并在支付宝体验技能部周末分享会上分享经历,2020年他从字节跳动离职后,就很少再研讨古典互联网,而开端专心研讨区块链的技能和运用。赵峰则和郭宇相同 all in Web3。作为前腾讯手机QQ架构师、支付宝产品总监,他2018年便已入局,并拉上不少蚂蚁、腾讯的搭档。 从大厂高管,到大厂年轻人,Web3职业正在源源不断地招引互联网的人才。而在21世纪前20年,互联网或许是对绝大部分我国年轻人最友好的职业,尽管人们现在更多的是抱怨它的各种问题。 Web3是指基于区块链技能的去中心化在线生态体系,许多人认为它代表了互联网的下一个阶段。一名传统出资安排合伙人向虎嗅表明:“现...

比特币带领市场阴跌,5W触发逃顶计划,当你们在往里杀的时候我已经开始往外撤了

  01 比特币冲高回落带崩币市 昨天文章说了现在市场的隐忧,虽然比特币目前的估值水平没有达到顶峰,泡沫非常大的程度。但行情也有隐忧,那就是涨速过快的比特币。 昨天和今天凌晨的行情也验证了这点。 比特币昨天吸血上涨,再次创下了历史新高,达到了5万美元。 但很快就冲高回落了,50000美元就是浅尝辄止,完全没站稳,直接就下来了。 这个冲高回落就带着整个市场阴跌。 这是今天凌晨的行情表现,大部分币都因为比特币的下跌而失血,连续阴跌,前天大反弹也被侵蚀掉了不少。也就是波卡系表现比较强势,昨天波卡生态好几个币都大爆发,KSM和DOT继续刷新着新高,尤其是KSM,蹭蹭地涨。 其实最近市场一直都在这种怪圈里,比特币上涨时吸血,其他币都阴跌。而比特币冲高必回落,比特币一但回落,整个市场就跟着走低,而且幅度还不小。幅度之所以大,主要还是之前涨幅太高了。 可以发现,前期那些暴涨的DeFi币,大部分最近都回调了不少。 现在的山寨币(包括一些主流币)正在接受着比特币的双重煎熬,吸血跌,冲高回落继续跌,被摧残得挺惨。 雷神觉得根本原因还是在于涨速过快,价格和资金还有市场情绪上并不匹配,比特币之所以总是吸血,和市场资金不充沛是有莫大的关系。市场无法维持比特币在已经50000美元左右的价格下,还能让山寨币暴涨的状态。还是要怪马斯克,这家伙不喊单,比特币维持在30000多美元,啥事没有,一切好好的。他这一嗓子喊出来,无脑的散户都冲向了比特币,之前节奏就被破坏了。 但也不需要害怕,形势比人强,情绪始终拗不过收益,市场还是会重新回到正轨的。山寨季的环境还在,等待比特币的企稳吧,或者是比特币回调后的企稳。洗一洗也不是没可能,洗一洗更健康。 只不过5万美元的比特币,带来了雷神的另一个问题。 02 5万美元的比特币,逃顶计划要启动了 比特币已经5万美元了,触发了雷神1年多之前就制定的逃顶计划。2019年觉得比特币顶点应该达到10万美元,觉得5万美元的时候比特币应该是要到末期了,那时候涨得比较快,5万美元到10万美元应该类似于2017年年末那种速度,可能几个周就完成了。 因此当时制定的逃顶计划就是以5万美元开始的。 5万美元开始卖,然后比特币每涨1万美元卖一些。越高卖得越多,5万美元卖一点。2019年想的是10万美元卖光,没办法,那时候是2019年下半年,比特币还只有7000多美元,还是相当煎熬的时...