当前位置:主页 > 区块链 > 资讯 > Prisma Finance被攻击事件分析

Prisma Finance被攻击事件分析吸取教训

2025-04-29 09:12:08 | 来源: | 作者:佚名
2024年3月28日,Prisma Finance遭受闪电贷攻击,项目方损失约1221万美元,SharkTeam针对此事件进行了技术分析,并总结了安全防范手段,希望后续项目可以引以为戒,共筑区块链行业的安全防线,一起来看看吧

一、攻击交易分析

攻击者1:0x7e39e3b3ff7adef2613d5cc49558eab74b9a4202(简记为0x7e39)

攻击合约1:0xd996073019c74b2fb94ead236e32032405bc027c(简记为0xd996)

攻击者2:0x7fe83f45e0f53651b3ed9650d2a2c67d8855e385

攻击合约2:0x4148310fe4544e82f176570c6c7b649290a90e17

被攻击的目标合约:0x1cc79f3f47bfc060b6f761fcd1afc6d399a968b6

攻击包含16笔交易,以第一笔攻击交易为例:

0x00c503b595946bccaea3d58025b5f9b3726177bbdc9674e634244135282116c7

攻击流程如下:

1. 读取地址0x56a201b872b50bbdee0021ed4d1bb36359d291ed(简记为0x56a2)在目标合约中的所有抵押物和债务。

返回结果如下:

地址0x56a2在目标合约中抵押物共有1,745 wstETH,总债务共有1,442,100 mkUSD。

2. 攻击者0x7e39通过攻击合约0xd996调用mkUSD债务合约中的flashLoan函数。

参数receiver设置为MigrateTroveZap,amount为上面查询到的全部债务。

然后,在flashLoan函数中会调用receiver(这里是MigrateTroveZap)中的onFlashLoan函数。

onFlashLoan函数通过闪电贷先偿还原来的所有债务,提取抵押物到receiver,然后receiver将一定数量的抵押物重新抵押,并借取一定的债务。其中主要调用了2个函数:

(1)closeTrove函数,偿还债务并将所有的抵押物(1745.08 swtETH)从troverManager提取到receiver(这里是MigrateTroveZap合约);

(2)openTrove函数,由receiver将463.18 wstETH重新抵押到troverManager中,并负债1,443,598 mkUSD。

从上面数据可以看出,flashLoan函数执行完成后,receiver中仍然保留了从troverManager中提取的属于地址0x56a2的抵押物,数量约为1745.08 – 463.18 = 1281.90 wstETH。

3. 攻击者0x7e39通过攻击合约0xd996从Balancer中通过闪电贷借取了1 wstETH。

然后,抵押1 wstETH并借取债务2000 mkUSD,加上fee,共计负债2200 mkUSD。

4. 与步骤2类似,调用mkUSD债务合约中的flashLoan函数,这里参数receiver仍然设置为MigrateTroveZap,amount为上一笔质押1 wstETH后的全部债务,即2000 mkUSD。在FflashLoan函数中会调用receiver中的onFlashLoan函数,然后调用closeTrove和openTrove函数。

只是,这里closeTrove和openTrove函数中的参数account不再是上面的地址0x56a2,而是质押了1 wstETH的攻击合约0xd996。

(1)closeTrove函数,偿还债务并将所有的抵押物(1 swtETH)从troverManager提取到receiver(这里仍然是MigrateTroveZap合约)。此时receiver中共有1281.90 +1=1282.90 wstETH.

(2)openTrove函数,由receiver将1282.80 wstETH(几乎全部)重新抵押到troverManager中,并负债2001.8 mkUSD。

实际上,这里抵押物中1281.80 wstETH是不属于攻击合约0xd996,而是属于上面的地址0x56a2。

5. 最后,攻击者0x7e39通过攻击合约0xd996单独调用closeTrove函数,将抵押的1282.80 wstETH 提取到了攻击合约0xd996中。

偿还闪电贷后,攻击者仍获利1281.80 wstETH,约2.30M USD。

二、漏洞分析

本次事件的根本原因是项目合约存在逻辑和权限校验,使得攻击者可以利用该漏洞获取其他账户地址的质押资产。

攻击者最终获得的wstETH是原本地址0x56a2在troverManager合约中的抵押物,通过mkUSD合约的flashLoan函数,自定义MigrateTroveZap合约中onFlashLoan函数的参数,利用 MigrateTroveZap将其转变为攻击合约的抵押物,然后将其提取出来。

攻击者通过mkUSD合约中的flashLoan函数以及MigrateTroveZap合约中的onFlashLoan函数操纵其他账户地址的抵押和提取。

(1)flashLoan函数中缺少对参数receiver地址的校验,因为onFlashLoan函数中receiver会接收account的所有抵押物,因此需要对receiver进行可信的校验;

(2)onFlashLoan函数中缺少对account地址的校验,因为closeTrove和openTrove函数都是操作的account的资产,因此需要对account增加权限方面的校验;

除了对这两个地址参数的校验外,可能还需要对flashLoan函数中的数量参数以及实现逻辑进行校验。

三、安全建议

针对本次攻击事件,我们在开发过程中应遵循以下注意事项:

(1)项目在设计和开发过程中,要保持逻辑的完整性和严谨性,尤其是涉及到资产的转移过程中,更要加强对函数调研权限的校验,保证调用者、调用函数、函数参数、转账逻辑等都是安全可信的。

(2)项目上线前,需要找专业的第三方审计团队进行合约审计。

关于 SharkTeam

SharkTeam的愿景是保护Web3世界的安全。团队由来自世界各地的经验丰富的安全专业人士和高级研究人员组成,精通区块链和智能合约底层理论。提供包括风险识别与阻断、智能合约审计、KYT/AML、链上分析等服务,并打造了链上智能风险识别与阻断平台ChainAegis,能有效对抗Web3世界的高级持续性威胁(Advanced Persistent Threat,APT)。已与Web3生态各领域的关键参与者,如Polkadot、Moonbeam、polygon、Sui、OKX、imToken、Collab.Land等建立长期合作关系。

免责声明:本文只为提供市场讯息,所有内容及观点仅供参考,不构成投资建议,不代表本站观点和立场。投资者应自行决策与交易,对投资者交易形成的直接或间接损失,作者及本站将不承担任何责任。!
Tag:Finance   Prisma  
更多

热门币种

  • 币名
    最新价格
    24H涨幅
  • bitcoin BTC 比特币

    BTC

    比特币

    $ 74111.76¥ 505116.11
    -0.38%
  • ethereum ETH 以太坊

    ETH

    以太坊

    $ 2315.65¥ 15782.54
    -1.34%
  • tether USDT 泰达币

    USDT

    泰达币

    $ 1.0003¥ 6.8176
    +0.01%
  • binance-coin BNB 币安币

    BNB

    币安币

    $ 614.78¥ 4190.09
    +0.05%
  • ripple XRP 瑞波币

    XRP

    瑞波币

    $ 1.3565¥ 9.2453
    -1.14%
  • usdc USDC USD Coin

    USDC

    USD Coin

    $ 0.9994¥ 6.8115
    +0%
  • solana SOL Solana

    SOL

    Solana

    $ 83.3869¥ 568.33
    -2.91%
  • tron TRX 波场

    TRX

    波场

    $ 0.3233¥ 2.2034
    +0.62%
  • dogecoin DOGE 狗狗币

    DOGE

    狗狗币

    $ 0.092787¥ 0.6323
    -1.11%
  • hyperliquid HYPE Hyperliquid

    HYPE

    Hyperliquid

    $ 43.395¥ 295.76
    -2.03%

币圈快讯

  • 美军据称暂无计划对从伊朗港口驶出的油轮实施射击

    2026-04-15 07:05
    4月15日,两名美国官员称,美军在对伊朗港口实施封锁行动期间扣押的与伊朗有关的船只,将被转移至阿拉伯海或印度洋的临时停留区域,直至确定“永久安置地点”。美国官员称,美军可能会使用无人机打击伊朗伊斯兰革命卫队的快艇,但目前没有计划对从伊朗港口驶出的油轮实施射击。其中一名官员表示,美国方面正在评估更多可能被扣押的船只。随着封锁行动的展开,多艘油轮在接近霍尔木兹海峡时已改变航向。(央视新闻)
  • 俄联邦安全会议:美以或利用谈判准备对伊地面行动

    2026-04-15 07:03
    4月15日,俄罗斯媒体14日援引俄联邦安全会议发布的消息报道,鉴于五角大楼继续增兵中东地区,美国和以色列可能利用和平谈判为对伊朗发动地面军事行动做准备。今日俄罗斯通讯社和塔斯社报道,俄联邦安全会议发布消息称,如果美伊谈判未能达成预期目标,两周内可能会爆发更高强度的敌对行为。另外,伊朗“仍然有大量武器”。消息指出,伊朗政府目前保持着对国内局势的控制,伊朗并未出现“华盛顿和特拉维夫希望看到的动乱和内部动荡”。伊朗各社会政治团体在美以干涉背景下更加团结在中央政府周围。(新华社)
  • 华尔街“免疫”美伊战局市场重心重回财报及基本面

    2026-04-15 07:02
    4月15日,对伊战争爆发已两个月之久,尽管局势仍无明朗终点,但在经历初期震荡后,华尔街似乎正逐渐屏蔽这些外界噪音。自3月27日以来,标普500指数已反弹近10%,有望创下连续第三周上涨。同期,纳斯达克100指数累计上涨约12%,并创下自2021年以来最长的十连阳纪录。在美以空袭引发连续五周的下跌后,交易员们现已开始无视中东地区的负面消息,重新大举买入股票。BCAResearch首席美国投资策略师DougPeta表示:“股市乃至整个金融市场似乎并不那么担心霍尔木兹海峡的局势。随着财报季拉开帷幕,公司基本面相较于伊朗局势的头条新闻,正更有力地驱动着股价走势。”资深策略师EdYardeni指出,市场正在学会与对伊战争“共存”,并维持标普500指数已于3月30日触底的判断。
  • 美特种军斥资5000万引入“AI副驾驶”助力决策优化与减负

    2026-04-15 07:01
    4月15日,据美媒报道,美国特种作战司令部已向航空技术公司BeaconAI授予了一份价值5000万美元的合同,作为推动军事飞行员更多地获取人工智能功能努力的一部分。这份为期四年的合同将整合BeaconAI的技术,该技术提取包括天气、航线和飞行员操作在内的大量飞机数据,并通过启用了人工智能的软件进行处理,以协助飞行员在飞行过程中做出更快速的决策。BeaconAI首席执行官MattCox表示,通过与在极其恶劣环境下执行任务的特种作战飞行员合作,该技术旨在减少工作量和复杂性,并通过降低飞行员在超负荷、疲劳或复杂环境飞行时常犯的错误来提高安全性。
  • 美国副总统称对当前美伊局势进展“感到乐观”

    2026-04-15 06:53
    4月15日,当地时间4月14日,美国副总统万斯就伊朗问题表示,对当前局势进展“感到乐观”。他同时提到,美国与伊朗之间存在大量不信任,这无法在一夜之间解决。14日获悉,美国方面有消息称,万斯预计将牵头可能举行的第二轮美伊谈判。消息人士称,特朗普特使威特科夫及其女婿库什纳也将参与。特朗普已将推动外交解决方案的任务交由三人负责,并持续与伊朗及中间方保持接触。目前美方正内部讨论第二轮会谈安排,但尚未确定是否举行或具体时间。(央视)
  • 查看更多