DeFi 프로토콜 bZx가 다시 공격을 받아 800만 달러 이상의 손실을 입었습니다.
巴比特
2020-09-14 04:07
本文约1407字,阅读全文需要约6分钟
"이것은 오라클 조작 공격으로 보입니다."

편집자 주: 이 기사의 출처는배빗 정보 (ID: bitcoin8btc), 편집: 하룻밤 죽, 허가를 받아 출시됨.

편집자 주: 이 기사의 출처는

배빗 정보 (ID: bitcoin8btc)썼다

, 편집: 하룻밤 죽, 허가를 받아 출시됨.

베이징 시간으로 9월 14일 DeFi 대출 프로토콜 bZx가 다시 공격을 받았고 이 공격으로 인해 총 약 800만 달러의 손실이 발생했습니다. ."

공격이 발견된 직후 bZx 팀은 어드민 키를 사용한 계약을 중단했으며, 공격 거래는 플래시론과 Synthetix를 사용했지만 "sUSD가 관련되어 있지만 Synthetix 시스템에는 영향을 미치지 않을 것"이라고 bZx on 트위터

  1. 썼다

  2. 최신 보안 보고서에서 bZx 관계자는 다음과 같이 언급했습니다.

  3. "토큰 중복 이벤트로 인해 프로토콜 보험 기금에 일시적으로 부채가 발생했습니다. 프로토콜 현금 흐름 외에도 보험 기금은 토큰 풀에서 뒷받침될 것입니다."

  4. 보안 사고의 타임라인은 다음과 같습니다.

  5. bZx 팀은 프로토콜 잠금 값(TVL)에서 비정상적인 변화를 발견했습니다.

  6. 수정 사항이 결정되면 iToken의 발행 및 소각이 중단됩니다(대출 및 거래는 영향을 받지 않음).

영향을 받는 iToken 계약의 새 버전이 배포되고 잔액이 수정됩니다.

팀은 검토를 위해 Peckshield 및 Certik에 패치 코드를 보냅니다.

iToken 캐스팅 및 소각 복구;

  1. 보조 제목

  2. 공격 기술 세부 정보

  3. 모든 ERC20 토큰에는 토큰 전송을 담당하는 transferFrom() 함수가 있습니다. 이 함수를 호출하여 iToken을 생성하고 자신에게 전달하여 인위적으로 잔액을 늘릴 수 있습니다.

전송 함수는 동일한 _from 및 _to 주소로 호출되었습니다.

그래서

동일한 매개변수를 사용하여 즉시 _internalTransferFrom을 호출하십시오.

다음 코드 줄이 잘못되었습니다.

그래서

위의 문제는 _balancesFrom의 잔고를 줄이고 _balancesTo의 잔고를 늘리는 결과를 초래하며 마지막으로 가장 중요한 부분은 _balancesFromNew와 _balancesToNew를 저장하는 것입니다. 그런 다음 공격자는 효과적으로 자신의 균형을 인위적으로 높일 수 있습니다.

그런 다음 패치 코드는 다음과 같습니다.

  1. 219,199.66 LINK

  2. 4,502.70 ETH

  3. 1,756,351.27 USDT

  4. 1,412,048.48 USDC

  5. 667,988.62 DAI

보조 제목

보안 사고로 약 800만 달러의 부채 발생

bZx 코드 취약점은 신속하게 해결되었지만 이 보안 사고는 프로토콜에 많은 손실을 초래했으며 공식 정보에 따르면 이 사건으로 인해 다음과 같은 부채가 발생했습니다.

현재 시장 가격에서 이러한 손실된 토큰의 가치는 800만 달러입니다.

보조 제목

감사는 만병통치약이 아니다

巴比特
作者文库