CertiK: 누구나 DeFi에서 해커 공격을 피할 수 있습니까?——xToken 공격 사건에 대한 간략한 분석
CertiK
2021-05-14 06:39
本文约2008字,阅读全文需要约8分钟
베이징 시간으로 5월 13일, CertiK 보안 기술 팀은 DeFi 서약 및 유동성 전략 플랫폼 xToken이 공격을 받았다는 사실을 발견했습니다.

베이징 시간으로 5월 13일, CertiK 보안 기술 팀은 DeFi 서약 및 유동성 전략 플랫폼인 xToken이 공격을 받고 xBNTaBancor 풀과 xSNXaBalancer 풀이 즉시 고갈되어 거의 2,500만 달러의 손실을 입었다는 사실을 발견했습니다.

공격은 어떻게 일어났습니까?
공격은 어떻게 일어났습니까?
2020년 CertiK 보안 팀이 발견한 주요 버그는 논리 오류, 플래시 론 및 프로젝트 당사자 사기의 세 가지 범주로 나뉩니다.
자금이 제때 반환되지 않으면 거래가 취소되어 예비 풀을 안전하게 유지합니다.
플래시론은 담보를 제공하지 않고 대출에 사용할 수 있습니다.물론 모든 작업은 트랜잭션 블록 내에서 완료되어야 합니다.
개발자는 트랜잭션이 종료되기 전에 유동성이 풀로 반환된다는 조건으로 Aave 또는 dYdX와 같은 프로토콜에서 빌리고 빌릴 수 있습니다.
자금이 제때 반환되지 않으면 거래가 취소되어 예비 풀을 안전하게 유지합니다.
플래시론은 여러 기능과 사용 사례가 있지만 지금까지 본 플래시론의 대부분은 차익 거래에 사용됩니다.
악의적인 사용 방법은 다른 DeFi 프로토콜을 공격하거나 가격 오라클 머신의 가격을 조작하는 것입니다. 이것이 바로 이번에 xToken에 일어난 일입니다.
보조 제목

상세한 분석

  • xSNXa에 대한 공격

  • 1. 해커들은 dYdX에서 약 61,800 ETH를 빌려주기 위해 플래시론을 사용했습니다.
    2. Aave에 10,000 ETH를 예치하여 564,000 SNX를 빌려준 다음 SushiSwap을 통해 5,500 ETH를 약 700,000 SNX로 교환합니다.
    이후 Uniswap v2에서 120만 개의 SNX가 판매되었고 818ETH를 획득하여 SNX의 가격을 크게 낮췄습니다.
    3. 가격이 인하된 후 공격자는 단 0.12 ETH로 12억 xSNXa를 발행했습니다.
    이는 프로토콜이 Uniswap v2 가격을 참조하는 Kyber 가격 오라클을 통해 SNX를 구매하고 xSNXa를 발행하기 때문입니다.
    4. 그러나 Balancer 프로토콜에서 xSNXa의 가격은 여전히 ​​원래 가격이므로 공격자는 105백만 xSNX를 414 ETH로 교환할 수 있습니다.
    보조 제목
  • xBTa에 대한 공격

xBNTa 계약은 ETH를 사용하여 xBNTa를 발행합니다.

원칙은 스마트 컨트랙트 내 Bancor 프로토콜에서 ETH를 BNT로 교환하고, 교환된 BNT 수량을 사용하여 발행된 xBNTa 수량을 계산하는 것입니다.
다만, 계약서에"mint"ETH로 교환한 통화가 BNT인지 여부를 검증하지 않는 방식으로 공격자는 BNT를 총액이 큰 토큰 SPD로 교체하고, xBNTa를 무한정 발행할 수 있도록 BNT 수량을 위조했다.
공격자는 "민트" 방식을 4번 호출했고, 매번 0.03ETH를 사용해 대량의 xBNTa를 채굴했고, 최종적으로 39억 xBNTa를 획득했고, 획득한 xBNTa의 절반을 약 78만 BNT로 교환했다.
그런데 이 해킹이 이전의 플래시 론 공격과 다른 이유는 무엇입니까?
공격자의 트랜잭션은 트랜잭션의 프라이버시를 보장하고 AMM과 상호 작용할 때 다른 사용자가 트랜잭션을 "샌드위치"하는 것을 방지하는 Flashbots MEV를 사용하여 구현되기 때문입니다.
■ 상세 용어
①Flashbots는 원래 의도가"채굴자 추출 가치(MEV)"스마트 계약 플랫폼 블록체인에 부정적인 영향과 생존 위험이 있습니다.
그들은 이더리움의 아이디어를 방어하기 위해 MEV를 위한 무허가형, 투명하고 공정한 생태계를 설계할 것을 제안합니다.
② MEV(Miner Extractable Value)는 합의 보안을 연구하기 위해 고안된 표준으로 채굴자(또는 노드 유효성 검사기)가 생성하는 블록에 트랜잭션을 임의로 포함, 제거 또는 재정렬하여 수익을 시뮬레이션합니다.
예를 들어, 공격자는 수익성 있는 거래를 보고 더 높은 거래 수수료를 지불하여 거래를 선행 실행함으로써 이익을 얻으려고 시도할 수 있습니다. 또는 AMM 트랜잭션을 끼워 넣습니다.
③샌드위치 공격: 거래 풀에서 자산 X가 자산 Y로 교환되는 거래를 공격자가 목격하면 공격자는 자산 Y를 미리 구매한 후 피해자가 거래를 실행하게 하여 자산 Y의 가격을 상승시킨 후 자산을 Y로 교환 가격이 상승한 후 이전에 구입한 자산 Y를 매도하여 수익을 냅니다.
따라서 공격자라도 어두운 숲에 숨어 있는 모든 약탈자를 경계해야 합니다.
Flashbot은 사용자가 개인 API 키를 사용해야 하며 공격자는 Flashbot을 사용할 때 자신의 흔적을 남길 가능성이 큽니다.
마지막에 쓰기

마지막에 쓰기

대규모 보안 회사의 감사를 받은 우수한 DeFi 프로젝트인 xToken이 이러한 공격을 받는 것은 사실 흔하지 않습니다.

이것은 또한 정적 보안 감사가 100% 보안을 보장할 수 없다는 사실을 다시 한 번 보여주었습니다.
보안은 일회성이 아니라 지속적인 프로세스입니다.
블록체인 기술은 날이 갈수록 변화하고 있으며 새로운 공격 방법도 끊임없이 등장하고 있습니다.
현재까지 CertiK는 700회 이상의 감사를 수행하여 300억 달러 이상의 디지털 자산 및 소프트웨어 시스템을 보안 손실로부터 보호했습니다.
현재까지 CertiK는 700회 이상의 감사를 수행하여 300억 달러 이상의 디지털 자산 및 소프트웨어 시스템을 보안 손실로부터 보호했습니다.
  • CertiK 공개 계정 하단의 대화 상자를 클릭하신 것을 환영합니다. 무료 상담 및 견적을 받으려면 메시지를 남겨주세요!

CertiK
作者文库