Lendf.Me 해킹에서 우리는 무엇을 보았습니까?
Winkrypto
2020-04-21 03:55
本文约6579字,阅读全文需要约26分钟
가치에 대해 이야기하지 말고 우리가 본 사실만을 요약하십시오, 앞서 간 사람과 이후에 오는 사람을 위해 우리는 시간의 흐름을 막으려 고 노력합니다.

편집자 주: 이 기사의 출처는체인뉴스 ChainNews(ID: chainnewscom), LeftOfCenter에서 작성하고 허가를 받아 게시했습니다.

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

체인뉴스 ChainNews(ID: chainnewscom)

체인뉴스 ChainNews(ID: chainnewscom)

, LeftOfCenter에서 작성하고 허가를 받아 게시했습니다.

저자는 특히 이 기사 작성에 도움을 준 SlowMist Technology의 설립자인 Yu Xian에게 감사를 표합니다.

DeFi 투자자들에게는 불안한 주말이었습니다. 잘 알려진 DeFi 대출 계약인 Lendf.Me 플랫폼에서 약 2,500만 달러 상당의 자산이 해커들에 의해 약탈당했지만 단 한 시간 만에 이루어졌습니다.

베이징 시간으로 4월 19일 일요일 오전 9시경 DeBank의 Xu Yong은 WeChat 그룹에서 스크린샷을 찍어 Lendf.Me 플랫폼의 자금 사용률이 비정상임을 나타냈습니다. 그 당시 플랫폼의 거의 모든 대출 가능 자산은 대출 금리가 매우 높았으며 많은 자산의 활용률이 99%에 달했고 imBTC의 활용률은 100%였습니다. DeFi Pulse의 데이터는 또한 Lendf.Me 플랫폼에 고정된 자산이 빠르게 하락했음을 보여줍니다.

  • WETH: 55159.02134,

  • WBTC: 9.01152,

  • CHAI: 77930.93433,

  • HBTC: 320.27714,

  • HUSD: 432162.90569,

  • BUSD: 480787.88767,

  • PAX: 587014.60367,

  • TUSD: 459794.38763,

  • USDC: 698916.40348,

  • USDT: 7180525.08156,

  • USDx: 510868.16067,

  • imBTC: 291.3471

곧 Tokenlon은 imBTC 거래 중단을 알리는 발표를 발표했습니다.

Lendf.Me 팀은 나중에 베이징 시간으로 8시 45분에 블록 높이 9899681에서 해킹되었음을 확인했습니다. 팀은 웹 사이트가 폐쇄되고 조사가 시작되었다고 밝혔으며 기술 팀은 문제를 발견하고 웹 페이지의 모든 사용자에게 대출 계약에 자산을 예치하지 말라고 조언했습니다.

지금까지 해커는 Lendf.Me 플랫폼의 모든 사용자 스토리지 자산을 비웠습니다. 온체인 데이터에 따르면 공격 후 Lendf의 잠긴 자산의 USD 가치는 즉시 100% 하락하여 USD 6으로 떨어졌으며 이전의 총 잠긴 가치는 USD 2490만을 초과했습니다. 체인에 대한 관찰에 따르면 공격자는 1inch.exchange, ParaSwap 및 Tokenlon과 같은 DEX 플랫폼을 통해 도난당한 자산을 ETH 및 기타 토큰으로 계속 교환했습니다.

당시 블록체인 보안업체 슬로미스트 테크놀로지가 발표한 통계에 따르면 Lendf.Me가 공격을 받아 누적 손실액은 약 24,696,616달러로, 구체적인 도난 통화와 금액은 다음과 같다.

이때 우리는 얼마 전 플래시론 공격을 당한 bzx를 쉽게 떠올릴 수 있는데 그 공격 역시 1월 어느 토요일에 발생하여 두 번의 공격으로 총 90만 달러가 도난당했습니다. 그 당시 많은 DeFi 애호가들은 호황을 누리고 있는 DeFi가 상상만큼 안전하지 않다는 것을 갑자기 깨달았습니다.

일요일 밤 해커가 일부 자산을 Lendf.Me에 반환하기 시작하면서 상황이 더욱 극적으로 바뀌었습니다.

이 조치는 이후 팀이 발표한 공식 성명에서도 확인됐다. Lendf.Me 플랫폼의 창시자인 dForce의 설립자 Yang Mindao는 나중에 게시된 기사에서 "해커들이 우리에게 연락을 시도했고 우리는 그들과 논의할 생각입니다."라고 말했습니다. Lendf.Me 플랫폼의 관리자 계정은 메모를 통해 공격자에게 대응했습니다. Yang Mindao는 거래소 및 법 집행 기관과 협력하여 해커를 추적하고 도난당한 자금을 구하기 위해 최선을 다하고 있다고 말했습니다.

동시에 Lendf.Me 플랫폼의 많은 피해자들은 송금을 통해 해커들에게 상대방에게 힘들게 번 돈을 돌려달라고 애원하는 메시지를 남겼습니다. 지금까지 해커 절도는 대규모 집단 사건으로 진화했다.

팀은 또한 사고를 해결하기 위한 몇 가지 후속 조치를 발표했습니다. 3. 우리는 주요 거래소, OTC 거래자 및 법 집행 기관과 협력하여 상황을 조사하고 도난당한 자금을 압수하고 해커를 추적하고 있습니다.

현재 도난 자금에 대한 조사 및 차단이 진행 중입니다.

보조 제목Etherscan공격 프로세스 복원

현재 알려진 상황은 공격자가 imBTC가 채택한 ERC-777 표준의 "기능"을 이용하여 "재진입 공격"(reentrancy attack)을 실행하여 약 2,500만 달러의 시장 가치를 지닌 자산이 Lendf.Me 계약에서 도난당했습니다.

SlowMist는 이 공격에 대한 세부 정보를 상세하게 복원했습니다. Lendf.Me를 공격한 공격자의 주소는 0xa9bf70a420d364e923c74448d9d817d3f2a77822이며, 이번에는 공격자가 계약 0x538359785a8d5ab1a741a0ba94f26a800759d91을 배포하여 이를 구현했습니다. 디.

  • 보기로

  • 마지막으로 발견된 트랜잭션 중 하나:

  • 공격자는 처음에 0.00021593 imBTC를 입금했지만 Lendf.Me에서 0.00043188 imBTC를 성공적으로 인출했습니다. 즉 인출 금액은 입금 금액의 거의 두 배였습니다.

그렇다면 공격자는 짧은 거래에서 어떻게 두 배의 잔액을 얻었습니까? 다음으로 SlowMist는 트랜잭션의 모든 작업을 심층 분석했습니다.

  • 공격자는 Lendf.Me에서 supply() 함수를 두 번 호출했지만 이 두 호출은 독립적이며 이전 supply() 함수에서 다시 supply() 함수를 호출하지 않습니다.

  • 그 직후, supply() 함수의 두 번째 호출 중에 공격자는 자신의 계약에서 Lendf.Me의 withdraw() 함수에 대한 호출을 시작하고 최종적으로 철회합니다.

  • 공격자의 인출() 호출은 transferFrom 함수에서 발생합니다. 즉, Lendf.Me가 transferFrom을 통해 사용자의 tokensToSend() 후크 함수를 호출할 때 발생합니다. 분명히 공격자는 supply() 함수를 통해 Lendf.Me 계약에 재진입하여 재진입 공격을 일으켰습니다.

  • Xiaobai가 위의 기술 세부 사항을 이해하기 쉽지 않은 경우 다음 비유를 사용하여 재진입 공격이 무엇인지 이해할 수 있습니다.

출납원 B는 A의 계좌 금액을 문의했고, 해당 금액을 '출금예정계좌'에 입금했다. 그러나 출납원 B가 '출금예정계좌'에서 돈을 인출하고 A의 계좌금액을 갱신하고 A의 '출금예정계좌'를 재설정하기 전에 A는 사라졌다.

A는 빛의 속도로 다른 지점에 와서 그 지점의 창구 C에게 돈을 인출해야 한다고 말했고 창구 C는 이전 창구 B의 작업을 다시 수행했다. 다시 "출금예정계좌"로 금액을 입금하고, "출금예정계좌"에서 자금을 인출하여 A의 계좌금액을 갱신하고 A의 "출금예정계좌"를 재설정한다.

결국 이로 인해 A는 자신의 금액의 두 배를 인출하는 등 은행의 자금이 모두 없어질 때까지 인출했습니다.

Lendf.Me 해킹의 경우 A는 해커에 해당하고 은행은 Lendf.Me입니다.

보조 제목

재난은 어디에서 오는가?

이는 DeFi 분야의 획기적인 해킹 사건으로 업계의 광범위한 논의를 불러일으켰으며, 그 범위는 해킹된 금액과 프로젝트 자체에 국한되지 않고 보안의 중요성, 개방형 금융의 의미, 포용성 등을 포함합니다. 서구 블록체인 커뮤니티의 오해와 편견까지.

우선, 2,500만 달러는 작은 손실이 아니라 플랫폼의 일반 사용자가 절약한 모든 비용일 수 있습니다. DeFi 분야의 초기 탐험가들에게 중앙 집중식 플랫폼에 대한 회의감은 개방형 금융을 수용하도록 이끌었습니다. 이번에는 이러한 높은 가격이 DeFi에 대한 확신에 큰 타격을 입혔습니다.

프로젝트 측면에서 이는 다시 시작하는 것을 의미할 수 있습니다. Lendf.Me는 DeFi의 리더 중 하나로서 중국에서 시작된 스타 블록체인 프로젝트이자 떠오르는 유망주입니다. 이미 최대 규모의 법정화폐 스테이블 코인 대출 계약으로 발전했습니다. 공격 전에는 거의 3천만 달러의 자산과 약 1천만 달러의 미결제 대출이 있었습니다. 불과 며칠 전 Lendf.Me는 Multicoin Capital, Huobi Capital 및 CMB International로부터 미화 150만 달러의 전략적 투자를 받았습니다.

디포스(dForce) 창업자 양 민다오(Yang Mindao)도 이번 해킹 공격으로 개인적으로 심각한 금전적 손실을 입었다고 진술했다.

설상가상으로 직접적인 피해자에 더해 이번 사건으로 인한 간접적인 피해는 더 클 수 있다. 올해 2월 DeFi는 이정표 이벤트(잠긴 자산이 미화 10억 달러를 초과함)를 막 시작했으며, 이더리움의 중요한 실제 사용 사례로서 이더리움과 전체 퍼블릭 체인에 대한 신뢰를 잃을 수 있습니다.

이 공격에 대응하여 일부 커뮤니티 구성원은 플랫폼에 피할 수 없는 책임이 있다고 믿습니다. 운영자인 Lendf.Me 자체가 인터페이스 측면에서 계약 보안을 충분히 검토하지 않아 사고가 발생했습니다. 이와 관련해 팀은 Lendf.Me에 대한 보다 포괄적인 보안 평가를 위해 상위 보안 업체들과 접촉했으며, 향후 이 부분을 강화할 예정이라고 밝혔다.

imBTC의 자산 발행사인 Tokenlon에 책임이 있다고 보는 목소리도 있는데 Uniswap 사고로 전날 밤 imBTC의 계약 이체가 중단된 후 imBTC의 계약 이체 기능을 다시 열어 해커에게 기회를 주는 기계입니다.

그러나 Tokenlon이 공개한 정보에 따르면 imBTC의 전송 기능이 4월 18일 17:00에 다시 시작되기 전에 Lendf.Me 및 기타 imBTC 협력 플랫폼과 통신했으며 Lendf.Me 및 기타 협력 플랫폼에서 보안이 위험 평가가 되지 않았습니다. 문제가 발생한 후 전송 기능이 다시 시작됩니다.

imBTC는 BTC와 1:1로 고정된 ERC-777 토큰(ERC-20과 호환)입니다.Tokenlon에서 발행 및 감독합니다.imBTC는 ERC-777 토큰 표준 사양을 채택합니다.

보안상의 이유로 많은 투자자들이 ERC-777 표준 토큰이 포함된 플랫폼을 확인하기 시작했으며 ERC-777 표준은 한동안 색상이 변경되었습니다.

프로토콜 자체는 괜찮은데 개발사에서 호환성 문제를 고려하지 않고 사용하면서 프로토콜 규격에 불만을 토로하는 사람들도 있다.

예를 들어 일부 개발자는 Bitcoin이 Ethereum과 마찬가지로 ERC20이 ERC777이라고 생각합니다.ERC20이 더 안전하지만 기능에는 제한이 있습니다.

2015년에 탄생한 ERC20 표준은 기능이 매우 단순하여 인기도 매우 높습니다. 그러나 "프로그래밍 가능한 화폐"를 생성하려는 시스템의 경우 ERC 20 토큰 표준은 매우 제한적이며 그 한계로 인해 많은 이더리움 사용자 경험 문제가 발생했습니다.

ERC 777 표준은 ERC 20 표준의 업그레이드 버전이라고 할 수 있습니다. 원치 않는 토큰을 거부합니다.

하지만 ERC 777이 해결할 수 있는 가장 큰 문제는 이더리움 토큰 이외의 토큰에 대한 결제 기능을 제공하는 "후크"를 추가함으로써 Uniswap에서 Dai를 ETH로 변환하는 트랜잭션을 한 번에 완료할 수 있다는 것입니다.

ERC20 토큰 표준에 익숙하지 않은 학생들을 위해 간단한 과학 대중화를 소개합니다: ERC20 토큰 표준에는 "결제 기능"이 없기 때문에 토큰 거래를 수행할 때 여러 트랜잭션이 필요합니다. ETH를 Dai로 전환하기, 기본적으로 ETH를 보내면 Dai를 받을 수 있지만, Dai를 ETH로 전환하면 Dai를 승인하는 거래를 해야 ETH로 교환할 수 있습니다.

이 문제의 원인은 ERC20 표준에 "결제 기능"이 없기 때문에 계약에서 ETH를 받을 때는 코드를 실행할 수 있지만 ETH 이외의 토큰을 받을 때는 코드를 실행할 수 없습니다. ERC 777은 "후크"를 추가하여 이 문제를 해결하여 Dai를 ETH로 전환하는 거래를 한 번에 완료할 수 있도록 합니다.

그러나 재진입 공격은 새로운 것이 아닙니다. 2017년 이더리움 분할로 이어진 "The DAO 사건"은 재진입 공격에 의해 발생했습니다. 개발자에게는 재진입 공격이 ETH 이외의 토큰에도 영향을 미칠 수 있다는 새로운 사실이 있을 수 있습니다. 이전에 개발자는 다음을 이해했을 수 있습니다. . 안전합니다.

이 사건은 또한 전체 DeFi 생태계에 대한 반성을 촉발시켰습니다.

레고 화폐로 알려진 DeFi는 결합성과 상호운용성의 특성을 가지고 있어 우리에게 무수한 가능성을 가져다줍니다. 그러나 동전의 이면도 DeFi의 가장 큰 문제입니다: 복잡한 시스템으로서 DeFi의 위험은 무한히 확대될 것이며 시스템의 보안은 가장 짧은 나무 조각에 달려 있습니다. 이것은 고전적인 배럴 원리입니다.

이 때문에 보안팀 SlowMist가 제시한 방어적 제안 중 하나는 "여러 계약을 연결할 때 다자간 계약의 코드 보안과 비즈니스 보안을 확인하고 다양한 비즈니스 시나리오의 조합을 충분히 고려해야 한다. 보안 질문."

  • 보조 제목

  • 재고

  • 보안 위험에 대한 우려로 중앙 집중식 플랫폼에서 DeFi로 전환한 초기 탐험가들은 탈중앙화의 보안 문제가 훨씬 더 커 보인다는 것을 갑자기 발견했습니다.

  • 특히 지난 1년 동안 DeFi 분야에서 많은 사고가 발생했습니다.

  • 2019년 6월 Synthetix는 오라클 머신의 공격을 받아 3,700만 개 이상의 sETH 합성 토큰을 잃었습니다.

올해 1월 bZx는 두 차례 공격을 받아 90만 달러의 손실을 입었다.

올해 3월 새로운 DeFi 스타 프로젝트인 iearn.finance에서 제공하는 Zap 스마트 컨트랙트가 슬리피지를 확인하지 않아 스테이블 통화 거래 플랫폼인 Curve에서 비정상적인 거래가 발생했으며, 이후 패자는 인적 피해를 거의 입지 않았습니다. 그러나 설립자 Andre Cronje는 사회적 압력을 견딜 수 없으며 프로젝트가 자체적으로 작동하도록 내버려 둘 것이라고 말했습니다.

3월 12일에 발생한 검은 백조 사건으로 인해 일부 청산인이 입찰가 0으로 이더리움 담보 청산 절차의 경매에서 낙찰되어 MakerDAO가 약 500만 달러의 미결제 부채를 담보로 받지 못한 채 다수의 모기지를 갖게 되었습니다. 시장 매도.

Lendf.Me 해킹 전날, 해커들은 Uniswap의 ERC777 호환성 문제를 이용하여 $300,000 이상의 imBTC를 훔쳤습니다.

분명히, Lendf.Me의 이번 사건은 처음도 아니고 마지막도 아닐 것입니다.

해킹 사건은 전체 업계에 경종을 울렸고 다양한 프로젝트에서 자체 보안 취약성을 검토하기 시작했습니다.

Lendf.Me 사건이 있은 지 하루 만에 시장 조성을 위해 본딩 커브를 사용하는 분산형 스테이블 코인 거래 플랫폼인 Curve는 sUSD 펀드 풀 계약에 허점이 있다고 발표했습니다. 손실은 발생하지 않았습니다." Curve는 사용자에게 자금을 인출하고 새 계약이 배포될 때까지 기다리도록 요청합니다. 새 계약에 대한 변경 사항은 감사됩니다.

  • 지금까지 ERC-777 표준을 준수하는 플랫폼이 조치를 취하기 시작했습니다. 이더리움 "무손실 복권" 플랫폼인 PoolTogether는 이전에 약 480 plDai만 포함된 제3자 개발자를 위한 소규모 자금 풀이었던 ERC-777 표준 토큰 plDai를 제거했다고 발표했습니다. 그러나 SlowMist의 설립자인 Yu Xian은 "plDai를 제거하는 것이 완전한 해결책은 아닙니다. 자체 코드도 ERC-777과 호환되므로 자체 코드를 강화해야 합니다."라고 말했습니다.

  • 또 다른 블록체인 보안 팀인 PeckShield는 개발자가 이러한 재진입 공격을 방지하기 위해 "Checks-Effects-Interactions" 접근 방식을 채택할 것을 제안하면서 효과적인 솔루션을 제안했습니다. 예를 들어 Lendf.Me의 supply()에서 토큰 잔액이 먼저 업데이트되면 doTransferIn()이 호출됩니다. 이렇게 하면 공격이withdrawal() 후에 잔액을 재설정하는 것이 불가능해집니다.

  • 이는 요약 및 숙고를 위한 훌륭한 기회이며, 프로젝트와 사용자 스스로 보안의 중요성을 검토하기 시작할 수 있습니다. 장기적으로 이것은 전체 산업의 발전에 유익합니다.

  • 프로젝트 당사자에게 앞으로 가장 중요한 것은 시간의 흐름을 막고 "플랫폼 자금의 보안을 극대화하는 방법"입니다. / 이러한 이유로 SlowMist는 일련의 방어 제안을 제시했습니다.

  • 다음과 같은 주요 비즈니스 운영 방법에 잠금 메커니즘을 추가합니다. OpenZeppelin의 ReentrancyGuard;

  • 컨트랙트 작성 시 이 컨트랙트의 변수를 먼저 변경한 후 외부 호출을 하는 방식으로 작성

프로젝트가 시작되기 전에 우수한 제3자 보안 팀을 초대하여 포괄적인 보안 감사를 수행하여 잠재적인 보안 문제를 최대한 발견합니다.

여러 계약이 연결된 경우 다자간 계약의 코드 보안 및 비즈니스 보안도 확인하고 다양한 비즈니스 시나리오의 조합에 따른 보안 문제를 충분히 고려해야 합니다.

계약은 가능한 한 일시 중지 스위치를 설정하여 "블랙 스완" 이벤트가 발생하면 적시에 감지하고 손실을 막을 수 있도록 해야 합니다.

보안은 역동적이며 각 프로젝트 당사자는 적시에 자체 프로젝트와 관련될 수 있는 위협 인텔리전스를 캡처하고 잠재적인 보안 위험을 신속하게 조사해야 합니다.

사용자 수준에서 각각의 공격은 DeFi에 대한 사용자의 신뢰도를 몇 포인트 감소시킬 것이며, 사전 대책이 없다면 사용자는 DeFi에 대한 신뢰를 잃게 될 것입니다. DeFi는 자신감이 매우 중요하며 자신감이 없으면 DeFi의 미래는 없습니다.

인용하다:

대규모 중앙 집중식 거래소는 여전히 복구 조치가 있으며, 자산 손실이 발생할 경우 자금이 풍부한 중앙 집중식 기관은 일반적으로 사용자에게 손실을 보상하고 보험 풀을 설정합니다. 탈중앙화 금융 구제책은 어떻게 진행되어야 할까요? 분산 보험 또는 공동 수익? 중앙 집중식 기관의 승인 없이 본질적으로 공공 토지 거버넌스를 위한 효과적인 메커니즘을 찾고 있습니다.

다른 산업과 달리 DeFi는 개방적이고 무허가 공공 금융 분야로서 전신의 무결성을 가지고 있습니다.프로젝트의 손실은 더 이상 프로젝트 자체의 손실이 아니라 다른 DeFi 참여자의 신뢰를 약화시킬 것입니다. 현재 퍼블릭 체인의 유일한 유용한 내러티브로서 이러한 비극적인 사건은 경쟁 제품의 개발과 전체 산업에도 영향을 미칠 수 있습니다.

이때 경쟁으로 인한 공격과 도발, 심지어 민족주의적 발언은 더욱 아이러니하다. 사건 이후 중국 DeFi 커뮤니티와 Lendf.Me 커뮤니티 구성원 모두 Lendf.Me에 전폭적인 지원과 신뢰를 주었습니다. 지금까지 패자에 관계없이 사용자, 프로젝트 당사자, DeFi, Ethereum 및 블록체인은 운명의 공동체가 되었습니다.

Winkrypto
作者文库