
편집자 주: 이 기사의 출처는PeckShield(ID:PeckShield), 승인을 받아 Odaily에서 재인쇄했습니다.
편집자 주: 이 기사의 출처는
, 승인을 받아 Odaily에서 재인쇄했습니다.
베이징 시간 6월 29일 02:03, 최근 "차입-채굴" 모델로 많은 관심을 받고 있는 DeFi 플랫폼 Balancer의 ERC20 디플레이션 토큰 풀 STA와 STONK 2개가 해킹되어 총 $500,000 이상의 손실을 입었습니다.
PeckShield 보안 담당자가 분석에 개입한 후 문제의 본질을 빠르게 찾았습니다.Balancer의 디플레이션 토큰과 스마트 계약은 일부 특정 시나리오에서 호환되지 않아 공격자가 가격 편차가 있는 STA/STONK 순환 풀을 생성하고 이익을 얻을 수 있습니다. .
해커의 공격은 구체적으로 네 단계로 나뉩니다.
1) 공격자는 플래시론을 통해 dYdX 플랫폼에서 104,331 WETH를 빌려주었습니다.
2) 공격자는 Balancer가 소유한 대부분의 STA 토큰이 소진될 때까지 swapexactMountin() 호출을 반복 실행한 후 다음 공격을 시작합니다. 결국 Balancer에는 0.000000000000000001 STA만 남게 됩니다.
3) 공격자는 STA 토큰과 Balancer 스마트 계약 간의 비호환성, 즉 장부와 잔액의 불일치를 악용하여 공격을 수행하고 자금 풀의 다른 자산을 소진하여 최종적으로 총 $523,616.52 상당의 디지털 자산.4) 공격자는 dYdX에서 빌려준 플래시론을 상환하고 공격으로 얻은 디지털 자산을 빼앗는다.플래시 대출 거래
보조 제목
밸런서는 해킹 당했고 기술적 해체의 전 과정
이미지 설명
(해킹의 전 과정을 설명)
1단계: 플래시 대출
dYdX 플래시론 104,331 WETH부터 DeFi 렌딩 모델에 익숙한 독자들은 이 부분에 대해 비교적 명확해야 하므로 여기서는 반복하지 않겠습니다.
2단계: Balancer의 STA 자산 지우기
공격자는 다음 공격에 대비하기 위해 swapExactAmountIn()에 대한 여러 호출을 통해 Balancer의 STA 자산을 비웠습니다. 컨트랙트 코드에서 실제로 매번 교환할 수 있는 자산의 상한선이 있는 것을 발견했는데 교활한 공격자가 교환할 수 있는 WETH의 최대 금액을 미리 계산해 놓고 교묘하게 0.000000000000000001 STA로 밸런서를 떠났습니다.
3단계: 이익을 위한 공격
처음 두 단계의 준비 단계가 끝나면 공격자가 자신의 실제 기술을 보여줄 때입니다!
(3단계: 공격 수익 아이콘에서)
위의 내용을 바탕으로 공격자는 swapExactAmountIn() 함수를 통해 BPool에 0.0000000000000000001 STA를 보내고 즉시 30,347 WETH를 매우 높은 가치 차이로 교환하여 수익을 실현했습니다. 이때 BPool의 내부 계정 메커니즘 _records[STA]는 BPool이 실제로 0.000000000000000001 STA를 수신하기 전에 1을 추가합니다(참고: 이후 공격자는 gulp()를 사용하여 값을 재설정합니다).
이미지 설명
(3단계: 공격 수익 아이콘 아래)
또한 swapExactAmountIn() 하단에서 _pullUnderlying()이 공격자 측에서 해당 소비 STA를 수집하려고 시도하는 것을 발견했습니다. 그러나 STA도 송금 시 수수료의 1%를 소각하기 때문에 실제 BPool은 STA를 받지 않습니다. 이로 인해 BPool의 실제 STA 잔액과 내부 부기가 일치하지 않습니다.
결국 위 그림과 같이 공격자는 플래시론에서 빌린 104,331 WETH를 상환했습니다.
제안
보조 제목
제안
물론 보안 사고가 발생한 후에 조치를 취한다고 해서 이미 발생한 손실을 보상할 수는 없으므로 사전에 예방하는 것이 최선의 해결책이라고 생각합니다. DeFi 프로젝트 개발자는 가능한 한 좋은 코드 사양을 사용해야 하며 가능한 한 모든 잠재적 허점을 찾기 위해 온라인에 접속하기 전에 포괄적인 공격 및 방어 테스트를 수행하기 위해 제3자 보안 회사의 지원을 요청할 수 있습니다. 마지막으로 가능한 한 ERC20, ERC777 및 기타 DeFi 프로젝트의 모든 조합을 철저히 조사하십시오.
후속 조치
보조 제목
후속 조치