Cointime

Download App
iOS & Android

9,700만 달러 규모의 블래스트 체인(Blast Chain) 전투에서 특정 국가 출신의 해커들은 낯설다.

Validated Project

배경

Blast는 Blur의 창립자인 Pacman(Tieshun Roquerre, 일명 Tieshun)이 출시한 이더리움 레이어 2 네트워크로, 지난 2월 29일 메인넷을 출시했으며, 현재 Blast 메인넷에는 약 19,500 ETH와 640,000 stETH가 약속되어 있습니다.

공격을 받은 프로젝트 Munchables는 Blast가 주최한 빅뱅 대회에서 우승한 수준 높은 프로젝트였습니다.

Blast 관계자는 Blast 메인넷에서 ETH를 약속한 사용자에게 일반 포인트를 발급합니다.

사용자가 Blast 생태계의 DeFi 프로젝트에 참여하도록 장려하기 위해 Blast 관계자는 추천을 위해 고품질 프로젝트를 선택하고 사용자가 더 빠른 포인트 증가 및 골드 포인트를 얻기 위해 DeFi에 두 번째로 ETH를 약속하도록 권장할 것입니다. 몇몇 사용자는 Blast 메인 네트워크에서 약속된 ETH를 새로 생성된 DeFi 프로젝트에 약속했습니다.

이러한 DeFi 프로젝트의 성숙도와 보안은 아직 조사되지 않았으며 이러한 계약에 사용자의 수천만 달러, 심지어 수억 달러를 보호할 수 있는 충분한 보안 고려 사항이 있는지 여부도 조사되지 않았습니다.

이벤트 개요

Blast 메인넷이 온라인에 접속한 지 한 달도 채 되지 않아 2024년 3월 21일 SSS 토큰(Super Sushi Samurai)에 대한 공격이 발생했습니다. 토큰 계약에 전송 논리 오류가 있어 공격자가 SSS 토큰을 늘릴 수 있었습니다. 특정 계정의 잔액이 부족해 프로젝트는 결국 1,310 ETH(약 460만 달러) 이상을 잃었습니다.

SSS 토큰 공격이 발생한 지 일주일도 채 되지 않아 Blast에서 또 다른 대규모 공격이 발생했는데, Munchables 프로젝트는 17413.96 ETH, 총 약 6250만 달러에 달하는 공격자들에 의해 휩쓸려갔습니다.

공격 거래가 발생한 지 30분 만에 프로젝트 계약의 73.49 WETH도 해킹당한 다른 주소로 도난당했습니다.

현재 프로젝트 당사자의 컨트랙트 주소에는 여전히 7,276 WETH, 7,758,267 USDB, 4 ETH가 저장되어 있어 언제든지 해커의 손에 넘어갈 수 있으며, 해커는 프로젝트 당사자의 모든 자금을 탈취할 수 있는 권한을 가지고 있습니다. 전체 프로젝트 규모는 약 9,700만 달러에 이르며 위험에 노출되어 있습니다.

사건 직후 X(트위터)의 유명 온체인 탐정 zachXBT는 이번 공격의 근본 원인이 특정 국가 출신의 해커를 고용한 것이라고 지적했다.

"특정 국가의 해커"가 어떻게 1억 달러에 가까운 공격을 완료했는지 자세히 살펴보겠습니다.

현장 복원

  • 피해자들이 목소리를 내고 있다

[UTC+0] 2024년 3월 26일 21시 37분(공격 후 5분), Munchables는 공식적으로 X(트위터)에 공격을 받고 있음을 게시했습니다.

온체인 형사 Zach의 조사에 따르면 공격자는 게임 개발 작업을 하러 왔습니다. 그는 매우 거칠고 정말 중국 해커처럼 보였습니다. 우리는 그를 한 달 만에 해고했습니다. 그는 또한 우리에게 자신의 직원을 고용하려고 했습니다. 아마 해커이기도 했던 친구들. 해커."

이번 공격으로 인해 커뮤니티 내 사용자들에게 큰 손실이 발생했기 때문에 우리는 즉시 온체인 조사에 착수했습니다.이 “특정 국가의 해커”의 공격 세부 내용을 심층적으로 살펴보겠습니다.

  • 첫 번째 장면

[UTC+0] 2024년 3월 26일 21시 32분에 17413.96 ETH와 관련된 공격이 발생했습니다.

Blastscan을 통해 이 공격 트랜잭션을 볼 수 있습니다: https://blastscan.io/tx/0x9a7e4d16ed15b0367b8ad677eaf1db6a2a54663610696d69e1b4aa1a08f55c95

손상된 컨트랙트(0x29..1F)는 사용자가 담보한 자금을 저장하는 대리 컨트랙트이며, 공격자가 담보 컨트랙트의 Unlock 기능을 호출하고 모든 권한 확인을 통과한 후 컨트랙트 내 자금을 이체한 것을 확인할 수 있습니다. 모든 ETH는 공격자 주소 1(0x6E..c5)로 보내집니다.

공격자는 출금 동작과 유사한 잠금 해제 기능을 호출해 손상된 계약(0x29..1F)의 ETH를 대부분 빼앗은 것으로 보입니다.

프로젝트 당사자가 금고를 잠그는 것을 잊었나요?

손상된 컨트랙트(0x29..1F)에는 Unlock 관련 체크가 2개 있는데, 하나씩 살펴보겠습니다.

먼저, 권한 확인 과정에서 현재 msg.sender, 즉 해커 주소 1(0x6E..c5)이 등록되었는지 확인하기 위해 컨트랙트(0x16..A0)의 isRegistered 메소드를 호출한 것을 확인했습니다. :

대답은 다음과 같습니다. 검증을 통과했습니다.

여기에는 계약(0x16..A0) 및 해당 최신 논리 계약(0xe7..f1)이 포함됩니다.

[UTC+0] 2024년 3월 24일 08:39(공격 2일 전)에 컨트랙트(0x16..A0)에 해당하는 논리적 컨트랙트가 업그레이드되었습니다.

논리적 계약 업그레이드 트랜잭션:

https://blastscan.io/tx/0x9c431e09a80d2942319853ccfdaae24c5de23cedfcef0022815fdae42a7e2ab6

논리 계약이 0xe7..f1로 업데이트되었습니다.

원래 논리 계약 주소는 0x9e..CD인 여기에서 볼 수 있습니다.

https://blastscan.io/tx/0x7ad050d84c89833aa1398fb8e5d179ddfae6d48e8ce964f6d5b71484cc06d003

이때 해커가 에이전트 계약의 논리 구현 계약을 업데이트하고 0x9e..CD를 악성 0xe7..f1로 변경하여 검증 권한 우회를 완료한 것으로 의심됩니다.

진짜야?

Web3.0에서는 다른 사람의 말을 추측하거나 들을 필요가 없으며 기술을 익히기만 하면 스스로 답을 얻을 수 있습니다.

두 계약(오픈 소스 계약 아님)을 비교하여 원래 0x9e..CD 계약과 업데이트된 0xe7..f1 계약 간에 몇 가지 명백한 차이점이 있음을 발견했습니다.

0xe7..f1의 초기화 기능 부분은 다음과 같이 구현됩니다.

0x9e..CD의 초기화 기능 부분은 다음과 같이 구현됩니다.

공격자는 원래 논리 계약(0x9e..CD)에 레지스터로 공격자 주소(0x6e..c5)를 설정한 것을 볼 수 있으며, 다른 두 공격자 주소 0xc5..0d와 0xbf..87도 있음을 알 수 있습니다. 등록되어 있으며 field0은 초기화 시 블록 시간으로 설정됩니다. field0의 사용법은 나중에 설명합니다.

사실 우리가 추측한 것과는 달리 백도어를 이용한 실제 로직 컨트랙트는 처음부터 존재했고, 이후의 업데이트도 정상이었습니다!

잠깐, 이 업데이트는 2024년 3월 24일 [UTC+0] 08:39 (공격 2일 전)에 나타났습니다. 즉, 이번 사건 이전에는 논리 계약이 백도어 없는 계약이 되어 있었습니다. 왜일까요? 공격자는 완료할 수 있습니까? 공격은 나중에?

이는 델리게이트 콜 때문이므로 실제 상태 저장 업데이트는 컨트랙트(0x16..A0)에 있고, 이로 인해 나중에 로직 컨트랙트가 백도어 없이 로직 컨트랙트 0xe7..f1로 업데이트 되더라도, 계약(0x16..A0)은 여전히 ​​복원되지 않습니다.

확인해 봅시다:

컨트랙트의 해당 슬롯(0x16....A0)에 숫자값이 있음을 알 수 있습니다.

이를 통해 공격자는 isRegistered 메소드 검사를 통과할 수 있습니다.

공격자는 나중에 백도어가 이미 설치되어 있다는 사실을 숨기기 위해 백도어 계약을 일반 계약으로 변경합니다.

또한 잠금 해제 프로세스에는 두 번째 확인도 포함됩니다.

잠금 시간 확인과 관련하여, 이 부분은 잠긴 자산이 만료되기 전에 이동되지 않도록 하기 위한 것입니다.

공격자는 잠금 해제가 호출될 때 차단 시간이 필요한 잠금 만료 시간(필드3)보다 큰지 확인해야 합니다.

이 확인 부분에는 손상된 계약(0x29..1F)과 해당 논리적 계약 0xf5..cd가 포함됩니다.

2024년 3월 21일 [UTC+0](공격 5일 전) 11시 54분의 거래에서,

https://blastscan.io/tx/0x3d08f2fcfe51cf5758f4e9ba057c51543b0ff386ba53e0b4f267850871b88170

손상된 계약(0x29..1F) 계약의 원래 논리적 계약은 0x91..11이었고 불과 4분 후인 것을 알 수 있습니다.

https://blastscan.io/tx/0xea1d9c0d8de4280b538b6fe6dbc3636602075184651dfeb837cb03f8a19ffc4f

0xf5..cd로 업그레이드되었습니다.

또한 두 계약을 비교한 결과 공격자가 이전과 마찬가지로 초기화 기능에도 트릭을 적용한 것을 확인할 수 있습니다.

0xf5..cd의 초기화 기능 부분 구현:

0xf5..cd로 업그레이드되었습니다.

또한 두 계약을 비교한 결과 공격자가 이전과 마찬가지로 초기화 기능에도 트릭을 적용한 것을 확인할 수 있습니다.

0xf5..cd의 초기화 기능 부분 구현:

0x91..11의 초기화 기능 부분 구현:

동일한 수법으로 다시 ETH 수량과 잠금 해제 시간을 조작한 후, 이를 일반 계약으로 대체하여 타인을 속이는 것을 볼 수 있습니다. 보이는 논리적 계약은 모두 정상이며, 해당 계약은 모두 오픈소스가 아닌 계약이기 때문에 문제의 핵심을 명확하게 보기는 더욱 어렵습니다.

지금까지 우리는 17413 ETH가 관련된 이 거래와 공격자가 어떻게 했는지 이해하고 있는데, 이 사건의 배후에는 이 정도의 정보만이 있는 걸까요?

위의 분석에서 실제로 해커가 계약서에 3개의 주소를 구축한 것을 확인했습니다.

0x6e..c5(공격자 주소 1)

0xc5..0d(공격자 주소 2)

0xbf..87(공격자 주소 3)

그런데 위에서 찾은 공격 트랜잭션에서는 0x6e..c5만 보았는데, 나머지 두 주소는 무슨 역할을 하였나요? 그리고 address(0), _dodoApproveAddress 및 _uniswapV3Factorty에는 어떤 비밀이 숨겨져 있나요?

  • 두 번째 장면

먼저 동일한 방법으로 73.49 WETH를 훔친 공격자 주소 3(0xbf..87)을 살펴보겠습니다.

https://blastscan.io/tx/0xfc7bfbc38662b659bf6af032bf20ef224de0ef20a4fd8418db87f78f9370f233

그리고 가스의 소스 주소(0x97..de)를 공격하고, 0xc5..0d(공격자 주소 2)와 0xbf..87(공격자 주소 3) 모두에 처리 수수료를 제공합니다.

가스 소스 주소(0x97..de)를 공격하는 0.1 ETH의 소스는 owlto.finance(크로스체인 브리지)에서 나옵니다.

0xc5..0d(공격자 주소 2)는 처리 수수료를 받은 후 어떠한 공격도 수행하지 않았지만 실제로는 숨겨진 계획을 가지고 있었습니다. 계속해서 살펴보겠습니다.

실제로 구조 후 공식 거래에 따르면 손상된 계약의 원래 주소(0x29..1F)는 73.49 WETH만이 아니라 공격이 끝날 때까지 여전히 7276.5 WETH 및 7758267 USDB가 남아 있었습니다.

실제로 구조 후 공식 거래에 따르면 손상된 계약의 원래 주소(0x29..1F)는 73.49 WETH만이 아니라 공격이 끝날 때까지 여전히 7276.5 WETH 및 7758267 USDB가 남아 있었습니다.

구출 거래:

https://blastscan.io/tx/0x1969f10af9d0d8f80ee3e3c88d358a6f668a7bf4da6e598e5be7a3407dc6d5bb

원래 공격자는 이러한 자산을 훔칠 계획이었으며, 주소 0xc5..0d(공격자 주소 2)가 원래 USDB를 훔치는 데 사용되었음을 알 수 있습니다.

여기의 _dodoApproveAddress는 0x0000000000000000000000004300000000000000000000000000000000000003입니다.

usdb 주소입니다

0xbf..87(공격자 주소 3) 이 주소는 Weth를 훔치는 데 사용됩니다.

0xbf..87(공격자 주소 3) 이 주소는 Weth를 훔치는 데 사용됩니다.

여기서 _uniswapV3Factory는 0x000000000000000000000004300000000000000000000000000000000000004입니다.

웨스 주소예요

그리고 0x6e..c5(공격자 주소 1)는 네이티브 자산인 ETH인 주소(0)를 훔치는 역할을 담당합니다.

field0을 설정하면 공격자는 다음 논리를 통해 해당 자산을 훔칠 수 있습니다.

질문

  • 공격자가 모든 자산을 훔치지 않은 이유는 무엇입니까?

이론적으로 그는 나머지 WETH와 USDB 등 모든 자산을 훔칠 수 있습니다.

0xbf..87(공격자 주소 3)은 73.49 WETH만 훔쳤습니다. 0xbf..87(공격자 주소 3)은 실제로 7350 WETH를 모두 가져갈 수 있습니다. 또한 0xc5..0d(공격자 주소 2)를 사용하여 7758267 USDB를 모두 가져갈 수도 있습니다. , 왜 약간의 WETH만 취하고 중지했는지는 알 수 없으며, 심층적인 내부 조사를 수행하려면 잘 알려진 연쇄 형사가 필요할 수도 있습니다.

0xbf..87(공격자 주소 3)은 73.49 WETH만 훔쳤습니다. 0xbf..87(공격자 주소 3)은 실제로 7350 WETH를 모두 가져갈 수 있습니다. 또한 0xc5..0d(공격자 주소 2)를 사용하여 7758267 USDB를 모두 가져갈 수도 있습니다. , 왜 약간의 WETH만 취하고 중지했는지는 알 수 없으며, 심층적인 내부 조사를 수행하려면 잘 알려진 연쇄 형사가 필요할 수도 있습니다.

https://blastscan.io/tx/0xfc7bfbc38662b659bf6af032bf20ef224de0ef20a4fd8418db87f78f9370f233

  • 공격자는 왜 17413ETH를 이더리움 메인넷으로 전송하지 않았나요?

우리 모두 알고 있듯이 Blast 메인 네트워크는 중앙 집중식 방법을 통해 이러한 ETH를 가로채어 사용자에게 큰 손실을 입히지 않고 영구적으로 여기에 머물게 하는 것이 가능합니다. 그러나 이러한 ETH가 이더리움 메인 네트워크에 들어가면 가로챌 수 있는 방법이 없습니다. 그것.

현재 Blast 교차교를 평가했는데, 공식 교차교량 수에는 제한이 없으나, 빠져나오는 데 14일이 소요되며, 이는 Blast 관계자가 차단 계획을 준비하는 데 충분합니다.

제3자 크로스체인 브리지는 공격자의 수수료 소스와 마찬가지로 거의 실시간으로 적립될 수 있으며 신속하게 크로스체인을 완료할 수 있습니다. 공격자는 왜 즉시 크로스체인을 수행하지 않았습니까?

실제로 공격자는 첫 순간(공격 후 2분 이내)에 크로스체인을 수행했습니다.

https://blastscan.io/tx/0x10cf2f2b884549979a3a1dd912287256229458ef40d56df61738d6ea7d9d198f

게다가 자금이 이더리움 메인 네트워크에 도착하는 데 20초가 걸렸습니다. 이론적으로 공격자는 크로스체인 브리지가 수동으로 개입하기 전에 계속해서 크로스체인을 수행하고 체인 간에 대량의 ETH를 전송할 수 있습니다.

한 번에 3 ETH만 가능한 이유는 Blast에서 ETH까지 크로스체인 브리지의 유동성 제한 때문입니다.

한 번에 3 ETH만 가능한 이유는 Blast에서 ETH까지 크로스체인 브리지의 유동성 제한 때문입니다.

Blast를 지원하는 또 다른 크로스체인 브리지는 다음보다 더 적은 지원도 지원합니다.

이번 크로스체인 거래 이후, 공격자는 다른 크로스체인 작업을 계속하지 않았으며, 그 이유는 알려지지 않았으며, '특정 국가의 해커'가 Blast 자금 인출에 대한 적절한 준비를 하지 않은 것으로 보입니다.

공격 후에 무슨 일이 일어났는가

커뮤니티 사용자 Nearisbuilding의 피드백을 바탕으로 그는 공격자의 더 많은 신원 정보를 발견하고 공격자가 자금을 반환하도록 유도하는 방법을 찾았습니다.

https://twitter.com/Nearisbuilding/status/1772812190673756548

결국 암호화 커뮤니티의 관심과 노력으로 '특정 국가의 해커'는 자신의 신원이 노출될까 두려워 위 3개의 공격자 주소의 개인 키를 프로젝트 팀에 제공하고 모두 반환했습니다. 프로젝트 팀은 구제 거래도 진행했으며 손상된 계약서의 모든 자금을 다중 서명 계약서로 이체하여 보관했습니다.

댓글

모든 댓글

Recommended for you

  • 수리남 대통령 후보 마야 파르보: 대통령으로 당선되면 비트코인이 법정화폐로 지정될 것

    남미 수리남의 대통령 후보인 마야 파르보(Maya Parbhoe)는 엘살바도르보다 암호화폐에 더 깊이 뿌리를 둔 비트코인 ​​국가를 만들겠다는 야심찬 비전을 가지고 있습니다. 비트코인 및 NOSTR 기반 서비스 회사인 Daedalus Labs의 CEO이기도 한 Parbhoe는 다가오는 2025년 선거에서 승리할 경우 부패에 맞서 비트코인 ​​표준을 채택하여 시민들에게 실질적인 혜택을 제공하겠다는 대담한 계획을 세웠습니다. 그녀의 최우선 과제는 취임 후 비트코인(BTC)을 법정화폐로 확립하는 것입니다. 그녀는 첫 해 안에 수리남 달러를 비트코인의 가장 작은 단위인 사토시로 점진적으로 대체하고 모든 급여를 BTC로 지급할 계획입니다.

  • OpenTrade는 AlbionVC가 주도하는 400만 달러 규모의 시드 확장 라운드 완료를 발표했습니다.

    OpenTrade는 RWA 지원 대출 및 스테이블코인 수익률 상품을 구축하기 위한 400만 달러 규모의 시드 확장 라운드를 마감했다고 발표했습니다. 이번 자금 조달 라운드는 a16z Crypto 및 CMCC Global의 참여로 AlbionVC가 주도했습니다. OpenTrade는 자금을 사용하여 운영을 확장하고 제품 기능을 향상시킬 계획입니다.

  • VanEck, 2026년 1월까지 HODL 수수료 제로 연장

    VanEck은 VanEck Bitcoin ETF(HODL)에 대한 수수료 제로 기간을 2026년 1월까지 연장한다고 발표했습니다.

  • DEXX 설립자: 해커가 주도적으로 48시간 이내에 연락을 취하더라도 그는 여전히 의사소통을 할 의향이 있고, 그렇지 않으면 끝까지 연락할 것입니다.

    11월 25일 뉴스에 따르면, DEXX의 창립자 로이는 DEXX가 현재까지 팀원을 한 명도 해고하지 않았으며 매일 초고액의 운영 비용을 유지하고 있다고 소셜 미디어에 게시했습니다. , 팀의 비용은 물론 다양한 노드 서비스 제공업체의 비용, 자본 비용 구성도 실제로 엄청납니다. 우리는 해커의 자금을 회수하기 위해 이번 주에 엄청난 자본 비용을 지불했습니다. 우리는 끝까지 책임을 지고 말과 행동이 일관되도록 하겠으며 계속해서 DEXX를 열반으로 이끌기를 희망합니다. 1. 우리는 법 집행 기관 및 여러 보안 회사와 협력하여 해커를 조사하고 대상으로 삼고 있으며 도난당한 자금을 회수하기로 결정했습니다. 2. 가장 어려운 시기에 동고동락하며 DEXX를 떠나지 않은 파트너들에게 매우 감사드립니다. 지금까지 플랫폼은 여전히 ​​거래와 수익을 창출하고 있습니다. 지난 주 동안 약 200만 달러에 가까운 거래량이 발생했으며, 약 20,000달러의 수익이 발생했습니다. 3. 팀은 이미 다수의 보안 전문가와 협력하여 사용자의 후속 자산의 보안을 보장하기 위해 자산 보안 솔루션을 재구성하고 업그레이드하고 있습니다. 4. 현재 팀에서는 피해를 입은 사용자에 대한 보상 계획을 수립 중이며 모든 주소와 모든 이체 자금을 신중하게 확인할 것입니다. 48시간 이내에 해커가 적극적으로 연락할 경우, 해결하겠다는 자세로 소통하고, 그렇지 않을 경우 끝까지 추적하겠습니다.

  • 모건스탠리 "달러화, 연말 전 정점에 달해 2025년 '약세장 패턴' 진입할 것"

    모건스탠리는 달러 강세는 연말 이전에 최고조에 달한 뒤 '약세장 패턴'에 돌입해 2025년에는 서서히 하락할 것으로 내다봤다. 은행은 일본은행이 금리를 인상하고 호주중앙은행의 완화 조치가 점진적일 것이라는 점을 고려할 때 일본 엔화와 호주 달러가 내년에 상승할 가능성이 가장 크다고 믿고 있습니다.

  • Equation News는 바이낸스를 "쥐 창고"라고 부릅니다. 귀하는 거래 시장 정서를 파괴하고 있습니다.

    25일 뉴스에 따르면 이퀘이션 뉴스는 바이낸스 무기한 계약 상장에 참여한 내부 트레이더들에게 다음번에는 칩을 천천히 팔아달라는 기사를 냈다. 귀하가 야기한 WHY 및 CHEEMS의 붕괴는 거래에 관련된 모든 사람에게 100% 부정적인 영향을 미쳤으며 귀하는 거래 정서를 파괴하고 있습니다. 오늘 오전, 바이낸스는 1000WHYUSDT와 1000CHEEMSUSDT 무기한 계약을 출시할 것이라고 발표했는데, 이로 인해 WHY와 CHEEMS의 단기 급락이 촉발되어 커뮤니티에서 열띤 토론이 촉발되었습니다.

  • 트럼프 상무장관의 회사가 테더 주식을 인수하고 20억 달러 규모의 BTC 대출 프로그램을 시작할 예정입니다.

    내년 루트닉이 트럼프 행정부에 합류하면서 테더는 상당한 정치적 지지를 얻을 것으로 예상된다.

  • PANews ·

    솔라나 ETF 승인 전망: "거의 절망적"부터 "2025년 말 이전에 예상됨"까지, 현재의 과제는 무엇입니까?

    솔라나는 성숙한 선물 시장의 지원이 부족하고 증권으로 판단되는 데 잠재적인 장애물에 직면해 있지만, 새로운 규제 환경을 예상하여 ETF 신청 프로세스가 꾸준히 진행되고 있습니다.

  • Pantera 파트너: 선거 후 암호화폐 시장에서 우리는 무엇을 기대할 수 있습니까?

    암호화폐 시장 정서는 미국 선거 이후 일주일 후에도 여전히 강세를 유지하고 있습니다. 폴리마켓, 비트코인, 그리고 잠재적으로 더 효율적이고 암호화폐 친화적인 정부는 모두 기대할 가치가 있습니다.

  • Haotian ·

    비트코인이 100,000달러를 돌파한 후 어떤 트랙이 먼저 폭발할까요?

    시장 회복 Pump에 힘입어 비트코인이 100,000달러를 돌파한 후, 우리는 언제든지 폭발할 수 있는 상위 10가지 인기 이야기를 살펴봅니다.