>웹3.0 >헤지 공격 사건 분석: 수천만 달러의 토큰 승인 손실

헤지 공격 사건 분석: 수천만 달러의 토큰 승인 손실

WBOY
WBOY앞으로
2024-04-24 14:43:22864검색

2024년 4월 19일, 이더리움, Arbitrum 등 여러 체인에서 Hedgey Token Claim 계약이 공격을 받아 수천만 달러의 손실을 입었습니다. Hedgey 프로젝트 팀은 즉시 보안 경고를 발행하여 토큰 청구 활동을 생성한 사용자에게 공식 채널을 통해 토큰 청구 활동을 취소하도록 상기시켰습니다. (https://twitter.com/hedgeyfinance/status/1781257581488418862)

헤지 공격 사건 분석: 수천만 달러의 토큰 승인 손실

Attack Brief

Hedgey는 DAO와 온체인 조직이 온체인 및 프로그래밍 방식의 토큰 발행을 통해 토큰을 배포할 수 있도록 돕습니다. 팀, 기여자, 투자자 및 커뮤니티에 배포됩니다. 이번에 취약점이 발생한 도구는 토큰 청구(Token Claims) 제품입니다. 이 제품을 사용하면 사용자는 토큰 청구 페이지를 만들고, CSV 파일을 통해 화이트리스트에 100,000명 이상의 수신자를 추가하고, 흐름, 시간 잠금, 청구된 토큰 전달 방법을 제어할 수 있습니다. 재활용이나 기타 방법을 통해 배출될 수 있습니다.

이 공격으로 악용되는 계약 취약점은 토큰 청구 제품의 ClaimCampaigns 계약이 토큰 청구 이벤트를 생성할 때 작성자가 지정한 주소에 해당 토큰을 인증한다는 것입니다. 생성자가 이벤트 청구를 취소하는 경우, 이벤트 생성 단계에서 생성자가 전송한 토큰은 생성자가 지정한 다른 주소로 반환되지만, 토큰 승인은 취소되지 않으므로 이벤트 생성자의 주소는 계속해서 해당 정보를 사용할 수 있습니다. ClaimCampaigns 계약에 의해 승인됩니다.

공격에 관련된 주요 주소

이 공격에는 여러 트랜잭션이 포함됩니다. 공격 원리를 분석하기 위해 예시로 NOBL 토큰을 훔치는 데 다음 트랜잭션만 사용합니다. Attack Transaction :

https : //etherscan.io/tx/0x017ce959350cba65d506e1a87e52d2c20079fdfa80a89fe6fc875f2d9f9f9aTtack eOA :

0 XDED2B1A426E1B7D414 F47181DDA2

ATCATACKER (계약) :

0XD818FF3D5CFC938014B270D0C8029BA04629B549

VULNERABLE CONTARY ( 캠페인 주장):

0xbc452fdc8f851d7c5b72e1fe74dfb63bb793d511

도난된 토큰(NobleBlocks: NOBL 토큰):

0x88b9f5c6 63 42ebaf661b3e2836b807c8cb1b3195

공격 과정 분석

1.
공격 구현

공격 구현 단계에서는, 공격자는 취약한 컨트랙트의 "createLockedCampaign" 함수를 반복적으로 호출하여 캠페인을 생성한 후, "cancelCampaign" 함수를 호출하여 캠페인을 삭제했습니다. 공격자는 캠페인 생성 시 지정된 수의 NOBL 토큰을 취약점 계약으로 전송하고 취약점 계약에서 승인한 NOBL 토큰 사용 제한을 획득합니다. 캠페인이 삭제되면 취약점 계약은 공격자가 캠페인 생성 시 전송한 NOBL 토큰을 반환하지만, 이때 취약점 계약은 공격자에게 승인된 NOBL 토큰 사용 제한을 철회하지 않습니다. 따라서 공격자는 캠페인을 생성한 후 삭제함으로써 취약한 계약이 보유한 NOBL 토큰을 허공에서 사용할 수 있는 권한을 얻을 수 있습니다.

구체적인 공격 단계는 다음과 같습니다.

공격자는 취약한 컨트랙트의 "createLockedCampaign" 함수를 호출하여 캠페인을 생성하고, 매개변수에 "campaign.manager"와 "claimLockup.tokenLocker"를 모두 공격자에게 설정합니다. "campaign.token"을 NOBL 토큰으로 설정하고 "campaign.amount"를 "680000000000000000000000"으로 설정합니다(NOBL 토큰의 소수점은 18이므로 이는 680,000 NOBL 토큰을 나타냅니다). 0으로 설정됩니다. "createLockedCampaign" 함수 코드에서 공격자가 먼저 취약한 계약에 NOBL 토큰을 전송한 다음 "safeIncreaseAllowance" 함수를 사용하여 취약한 계약에 "claimLockup.tokenLocker"(공격자)에게 보유 자금을 사용하도록 권한을 부여하는 것을 볼 수 있습니다. 취약한 계약으로 인해 NOBL 토큰의 힘으로 인해 공격자에게 너무 많은 "캠페인 금액"이 부여됩니다.

  1. 공격자는 1단계에서 생성한 캠페인을 삭제하기 위해 "cancelCampaign" 함수를 호출한다. 함수코드에서 알 수 있듯이 취약한 컨트랙트는 캠페인의 데이터를 삭제하고, "withdrawTokens" 함수를 호출한다. 1단계에서 캠페인을 삭제하기 위한 TransferHelper 라이브러리입니다. 이 단계에서는 공격자가 전송한 NOBL 토큰이 "campaign.manager"(공격자)로 반환됩니다. 이 시점에서는 캠페인이 성공적으로 취소되었지만 1단계에서 공격자에게 취약점 계약을 통해 승인된 NOBL 토큰 사용 할당량이 동시에 삭제되지 않았습니다. 따라서 공격자는 이때 취약한 계약의 NOBL 토큰을 사용할 수 있는 권한도 갖게 됩니다. 헤지 공격 사건 분석: 수천만 달러의 토큰 승인 손실

    헤지 공격 사건 분석: 수천만 달러의 토큰 승인 손실

    헤지 공격 사건 분석: 수천만 달러의 토큰 승인 손실

  2. 공격자는 1단계와 2단계를 25회 반복하여 마침내 취약한 계약에서 사용 할당량 680000 * 25 = 17000000 NOBL 토큰을 획득했습니다.

2. 훔친 돈 모으기

훔친 돈 모으기 단계에서 공격자는 NOBL 토큰의 "transferFrom" 함수를 직접 호출하여 취약한 계약의 NOBL 토큰을 공격자의 EOA 주소로 전송합니다. 공격 구현 단계에서의 공격으로 인해 공격자는 취약한 컨트랙트가 보유하고 있는 NOBL 토큰에 대한 사용권을 획득하게 되므로, "transferFrom" 기능에서의 한도 검증을 원활하게 통과할 수 있었고, 결국 공격자는 NOBL 탈취에 성공하였다. 취약한 계약의 토큰.

자세한 내용은 거래를 확인하세요. https://etherscan.io/tx/0x47da1ac72d488f746865891c9196c1632ae04f018b285b762b2b564ad1d3a9e5

공격에 관련된 거래

ZAN KYT 데이터 분석을 통해 공격자는 취약한 사람들로부터 NOBL 토큰을 탈취하기 전에 contract , 계약 취약점을 사용하여 취약한 계약이 공격자에게 다음과 같이 승인 토큰 거래 해시를 제공하도록 허용합니다(Ethereum의 거래만 나열됨):

헤지 공격 사건 분석: 수천만 달러의 토큰 승인 손실

현재 공격자는 불법 이득의 일부를 다른 주소로 이전했습니다 0xd84f48b7D1AaFA7bd5905c95c5d1ffB2625AdA46, 현재 다른 작업은 없습니다. 클레임 계약 개발자(0x5a4bC2bdA1f6B9929b6efdCef4728246bEc4C635)는 Blockscan 채팅을 통해 공격자에게 연락하고 계약의 취약점을 인정했으며 공격자가 24시간 이내에 연락하기를 바라면서 그들의 행동이 화이트 햇 작전이라고 가정했습니다.

보안 권장 사항

이번 공격 사건을 분석하여 다음과 같은 제안을 했습니다.

  1. 프로젝트 내 토큰 승인 작업을 엄격하게 검토합니다. 프로젝트 개발자와 계약 감사자는 공격자가 복구되지 않은 토큰 인증이나 예상치 못한 중복 인증을 사용하는 것을 방지하기 위해 토큰 인증이 필요한 비즈니스 시나리오와 재활용 토큰 인증이 필요한 비즈니스 시나리오를 명확히 해야 합니다.

  2. 프로젝트는 긴급 중단 메커니즘을 설정해야 합니다. 자본 순환과 관련된 프로젝트는 공격이 발생할 때 손실이 적시에 중단될 수 있도록 완전한 정지 메커니즘을 구축하는 것이 좋습니다.

이 글은 ZAN팀 카라(X계정 @Cara6289)와 XiG(X계정 @SHXiGi)가 공동으로 작성했습니다.

위 내용은 헤지 공격 사건 분석: 수천만 달러의 토큰 승인 손실의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 panewslab.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제