区块见闻 区块见闻
Ctrl+D收藏区块见闻

PIC:以Kadena智能合约为例 简析如何规避重入攻击和跨函数攻击_CGA

作者:

时间:

在这篇文章中,我们将简要地解释重入和跨函数重入之间的区别,以及图灵不完备性如何能够防止一些这样的攻击。

其中我们将提供一个跨函数重入利用的案例,该案例中Kadena区块链使用的是编程语言Pact,但图灵不完备性并未防止该恶意利用的发生。

事件简介

Kadena区块链旨在实现比其他L1链更高的可扩展性、安全性和可用性。其开发了一种新的语言用以编写智能合约:Pact。

这种语言是人类可读的,且易于形式化验证,并具备可提高安全性的图灵不完备性。

这里提到的图灵不完备性意味着Pact无法做到图灵完备编程语言所能做到的那些事——看起来好像是个劣势,但其实智能合约编程,哪怕是最复杂的DeFi协议也很少会需要用到图灵完备性。

图灵不完备性最重要的一点是没有无界递归。虽然这确实大大减少了攻击面,但一些「经典」攻击是无法被100%避免的,接下来我们就会讲述跨函数重入的问题。

马克·库班:“肯定不会从加密货币跳船”,暗示SBF会坐牢:11月26日消息,NBA达拉斯独行侠队老板、亿万富豪马克·库班表示自己肯定不会从加密货币“跳船”,尽管FTX破产引发交易所危机,但数字货币仍有大量价值,“有人犯了很多错误,但没有改变加密货币潜在价值。”在谈到SBF时,马克·库班说“我不知道所有细节,我和SBF交流过,觉得他很聪明,但不知道会把别人的钱占为己有,如果我是他,会害怕坐很长时间的牢。”

此前报道,11月21日,达拉斯小牛队老板、亿万富翁马克·库班取消对MetaMask、The Block、Solana、Treum、Mirror Protocol、Polkadot、DeFi Pulse、Flow、Dapper Labs、Uniswap Labs等加密项目的推特关注。其中诸多项目被所马克·库班投资,包括Mintable、Dapper Labs等。(TMZ)[2022/11/26 20:48:25]

经典重入攻击

印度财长:印度从加密货币交易所追回了9.58亿卢比:3月28日消息,印度财长表示,印度从加密货币交易所追回了9.58亿卢比,其中包括罚款。印度对逃税规模达8.15亿卢比的11家加密交易所进行了调查。(金十)[2022/3/28 14:22:21]

重入攻击是非常常见的安全问题。这个问题不仅很难被开发者发现,也很难被审计师审查出其会导致的所有潜在后果。

重入攻击取决于函数在进行外部调用之前和之后执行的特定任务的顺序。

如果一个合约调用了一个不受信任的外部合约,攻击者可以让它一次又一次地重复这个函数调用,形成一个递归调用。而如果重新输入的函数执行重要的任务,那这可能就会导致灾难性的后果。

下方是一个简化的例子。

我们把易受攻击的合约称为unsafe合约,把恶意的合约称为Attack合约。

1.攻击者调用unsafe合约,以将资金转移到Attack合约中。

Uphold CEO:拉丁美洲将是从加密货币采用中受益最大的地区:10月27日消息,多币种投资平台Uphold首席执行官JP Thieriot强调,拉丁美洲的生活本质要求基于比特币的使用案例,并将该地区列为随着加密货币采用的持续增长而受益最大的地区。Thieriot表示,比特币将首先被无银行账户的人、汇款发送方和接收方所接受。然而,对于商家来说,CBDC将比BTC更受欢迎。“许多企业可能更喜欢稳定的交易方式,这是可以理解的,但比特币将使投资组合受益更多。有了适当的渠道在比特币、美元和任何潜在的CBDC之间进行转换,用户实际上可以使用最适合其使用情况的货币形式。”(Cointelegraph)[2021/10/27 6:15:39]

2.收到调用之后,unsafe合约首先检查攻击者是否有资金,然后将资金转移到Attack合约。

3.收到资金后,Attack合约执行回退函数,在它能够更新余额之前回调到不安全的合约,从而重新启动该过程。

兴业研究宏观:资金从加密货币流入黄金:2021年5月,黄金延续4月开始的反弹。美债收益率整体维持震荡,通胀预期月初回升后,下旬有所回落。美元指数的回落以及资金流出加密货币流入黄金是促使黄金延续反弹的主要动力。美债收益率短期未有大幅上行驱动、实际通胀短期仍有回升空间以及后续中美主动补库周期共振结束后商品价格整体并不会马上向下反转,是金价短期的支撑因素。同时加密货币监管趋严或使得其短期或难有趋势性攀升行情,资金对其青睐度低迷利好黄金。中期黄金仍需先后面临实际收益率攀升和通胀预期筑底的利空影响,当前位置不建议追多。(金十)[2021/5/29 22:55:28]

因为这种攻击是通过无界递归调用进行的,所以如果语言不是图灵完备的,攻击就不可能进行。

ZebPay推出加密借贷平台,允许用户从加密资产中赚取利息:加密公司ZebPay推出加密借贷平台,允许用户从加密资产中赚取利息。平台目前仅支持BTC、ETH、USDT和DAI,提供活期和定期贷款。(Business Insider)[2021/5/27 22:50:00]

跨函数重入

跨函数重入类似于经典的重入攻击,除了重入的函数与进行外部调用的函数功能不同。这种重入攻击通常更难被发现——因为在复杂的协议中,组合的可能性太多,无法手动测试每个可能的结果。

这就引出了我们的概念证明:使用Pact语言进行简单的跨函数重入攻击。

Pact模块中的简单跨函数重入

正如我们在下方代码片段中看到的,合约中的函数对另一个实现特定接口的合约进行外部调用。这允许重入一个设计好的攻击合约。Pact中的功能是内置函数,可授予用户权限来执行敏感任务。以下代码仅供说明之用,并非取自真实案例合约。

我们将使用的代码例子包含三个部分:

1.?合约接口

用以使主合约与一个恶意的外部模块进行交互

2.主要模块

被攻击的模拟示例合约

首先,数据库被定义为一个表,其中字符串存储在具有关联十进制数的行中。

然后定义了一个能力:CREDIT。这个条件将是credit函数所需要的,但只被with_capability语句中的bad_function内部授予。这意味着直接调用credit会失败。

现在,函数credit被定义如下:它增加了作为输入的字符串的余额。如果该地址不在表中,它还会创建该条目。

最后,函数bad_function增加了legit_address的余额,但也执行了对符合之前定义的接口的合约的调用,该合约可以作为一个输入参数提供。函数get-balance允许我们读取该表格。

3.用于触发重入的模块:

重新进入主模块,调用credit函数

大致流程如下:

a.以攻击合约为参数调用bad_function

b.?CREDIT功能被授予

c.“legit_address”的余额增加了10

d.?调用恶意模块的external_function:因为它仍然具有CREDIT功能,它可以重新进入合约并直接调用credit函数,给"attacker_address"一个100的余额。

之后,返回10,返回100。

重入成功。

现在,如果我们不重入调用credit,而是尝试重入再次调用bad_function,会发生什么?即使第一次调用credit成功,由于重入是在bad_function中,这将是一个递归调用且执行将会失败。

现在,如果我们尝试直接调用external_function,这将不起作用,因为所需的功能CREDIT没有被授予。

写在最后

通过移除无界递归,图灵不完备性可以防止一些重入攻击的载体。

然而,由于跨函数重入可以在没有递归调用的情况下进行,图灵不完备性并不能阻止所有此类攻击载体,因此用户在与这种语言交互时不应该假设重入不会造成恶劣影响。

重入和跨函数重入是非常常见的安全问题,Web3.0领域也因此发生了一系列规模巨大的攻击事件。

Pact作为一种智能合约编程语言,极具潜力。

它采取的方法与其他语言如Solidity或Haskell有些不同。Pact并不完全依靠图灵不完备性来提高安全性;该语言被设计地更容易阅读、理解和正式验证。

然而,没有哪种编程语言能对所有的攻击载体免疫。因此开发者必须了解他们所使用的语言的独特功能,并且在部署前对所有项目进行彻底审计。

目前,CertiK的审计及端到端解决方案已覆盖目前市面上大部分生态系统,并支持几乎所有主流编程语言,就区块链平台、数字资产交易平台、智能合约的安全性等领域为各个生态链提供安全技术支持。

标签:PICCGACALMYTHICepic币有潜力吗CGAZ币EverscaleMYTHIC币

莱特币最新价格热门资讯
NFT:海南发布数藏监管通知 如何解读NFT新年第一“管”?_FIL

据悉,南方某省市场监督管理局、宣传部、网信办、工信厅、文旅厅、商务厅、厅、金融局、税务局、通信局联合发布:《关于加强数字藏品风险监管工作的通知》对省内数字藏品风险加强监管.

MAS:USDC跨链传输协议 (CCTP)将于2023年Q1上线以太坊和Avalanche主网_WEBOO价格

金色财经报道,据官方公告,Circle的USDC跨链传输协议(CCTP)将于2023年第一季度上线以太坊和Avalanche主网.

DPT:从加密中心到加密节点 看新加坡的 Web3 监管框架_EMO

新加坡是全球对虚拟资产最为友好的司法辖区之一,一度被称为“全球加密中心”。在经历了2022年算法稳定币TerraUSD的崩溃、对冲基金三箭资本的爆仓、借贷机构VoyagerDigital、Cel.

MYTHIC:2022最值得关注的元宇宙独角兽_MYTHIC币

元宇宙在近几年受到极大关注,许多资金涌入这一领域,促使新的独角兽不断产生。这些备受关注的元宇宙独角兽包括了MythicalGames、AnimocaBrands、小冰公司和EpicGames等.

GENE:DCG回应全部潜在雷点(全文):与Genesis、三箭、FTX、LUNA的关系_DCG价格

原文标题:《DCGShareholderLetterfromBarrySilbert,Founder&CEO》原文编译:czgsws&Leo.

GENE:加密矿业演化简史_SIS

在加密行业中,矿工是一个特殊的群体,他们是区块链底层安全保障,是加密行业中最富有的和最具话语权的一群人,代表着加密市场的晴雨表;同时,在反对者眼中,其所处的行业是吞噬能源的巨兽.