$160,000 자산 절도는 우롱 사건이었다? Yeld.finance "플래시 론 공격" 이벤트에 대한 간략한 분석
成都链安
2021-02-28 08:36
本文约1576字,阅读全文需要约6分钟
$160,000 자산 도난? 허위 경보.

1. 이벤트 개요

1. 이벤트 개요

https://yeldf.medium.com/the-yeld-dai-earn-vault-has-been-hacked-93f27d475b1b 

2021년 2월 27일 베이징 시간, [Chain Bi'an-Blockchain Security Situational Awareness Platform (Beosin-OSINT)]의 여론 모니터링, 잘 알려진 DeFi 프로젝트인 Yeld.finance는 프로젝트의 DAI 풀은 번개 대출 공격에 맞았습니다. 원본 링크는 다음과 같습니다.

2. 이벤트 분석

2. 이벤트 분석

이미지 설명

그림 1에서 볼 수 있듯이 트랜잭션은 0xe780cab7ca8014543f194fc431e6bf7dc5c16762 컨트랙트의 입금 기능을 호출한 0xf0f225e0이라는 사용자를 위한 것입니다. 0xef80cab7 컨트랙트는 프로젝트 당사자의 DAI 풀인 것으로 확인되었습니다. 이 트랜잭션은 각각 T1에서 T6으로 표시된 총 6개의 토큰 전송을 생성했습니다. 그렇다면 이러한 토큰 전송의 원인은 정확히 무엇입니까? 아래 코드를 분석하십시오.

이미지 설명

△그림 2 입금 기능 소스 코드

분명히 538번째 코드 라인은 토큰(즉, DAI)을 yDAI 계약으로 전송하는 시퀀스 번호 T1의 토큰 전송을 생성합니다. 이는 사용자가 9,377 DAI를 yDAI 컨트랙트에 입금했음을 나타내는 일반적인 토큰 전송입니다.

그런 다음 555행에 재조정 함수를 입력하여 함수의 논리를 분석합니다.

△그림 3 리밸런싱 함수 소스 코드

이미지 설명

코드의 732행은 추천 기능을 호출하는 newProvider를 계산하고(그림 4 참조) 추천 기능은 IEarnAPRWithPool 계약을 호출하여 4개의 Defi 프로젝트 중 연이율(APR)이 가장 높은 프로젝트를 쿼리합니다. DYDX, COMPOUND, AAVE 및 FULCRUM, 쿼리 결과는 그림 5에 나와 있습니다.

이미지 설명

그 중 dYdX pool이 APR이 가장 높고 newProvider는 dYdX pool로 설정되어 있습니다. 현재 풀은 AAVE 풀이고, 736행에 if 코드 블록을 입력하고 내부 함수 _withdrawAll을 호출합니다.

이미지 설명

△그림 6 _withdrawAll 함수 소스 코드

코드의 778번째 줄은 AAVE 풀의 모든 DAI를 제안하여 일련 번호 T3-T5로 토큰 전송이 이루어집니다. , 여기에서 자세히 설명하지 않습니다.

마지막 줄은 코드의 741번째 줄로 AAVE에서 dYdX 계약으로 166,000 DAI 이상을 예치하고 일련 번호 T6으로 토큰 전송을 생성합니다. 이는 166,000 DAI를 dYdX 풀에 예치한다는 의미입니다.

dYdX는 이번 사건에서 '양심상인' 역할을 했으며, 이전 플래시론 공격의 공범은 아니었다는 점은 주목할 만하다.

3. 보안 권장 사항

3. 보안 권장 사항

이 사건은 Chengdu Chain Security(Beosin)의 보안 팀에서 분석한 결과 거짓으로 판단되었지만 여전히 일상적인 보안 보호에서 플래시 론 공격에 대한 조기 경고 및 보호를 제공하는 것이 여전히 필요하다는 것을 모든 프로젝트 당사자에게 상기시킬 필요가 있습니다. 예방 조치를 취하십시오.

成都链安
作者文库