
최근 PeckShield는 DeFi 프로토콜 오리진 프로토콜 스테이블 코인 OUSD가 공격당하는 것을 모니터링했으며 공격자는 파생 상품 플랫폼 dYdX의 플래시 론을 사용하여 재진입 공격(Re-entrancy attack)을 수행하여 ETH 및 DAI에서 770만 달러 상당의 손실을 입었습니다. .
재진입 공격(Re-entrancy attack)은 이더리움 스마트 계약에서 가장 고전적인 공격 방법 중 하나이며 DAO의 유명한 탈취는 공격자가 재진입 공격을 사용하여 이더리움의 하드포크를 유발하고 5천만 달러 상당의 ETH를 손실한 것입니다.
올해 4월부터 DeFi 프로젝트는 자주 재진입 공격에 직면했습니다. 4월 18일 해커는 Uniswap 및 ERC777 표준의 호환성 결함을 악용하여 재진입 공격을 수행했으며, 4월 19일 Lendf.Me도 유사한 재진입 공격을 겪었고, 11월 14일 해커는 Akropolis의 SavingsModule 계약을 사용했습니다. 사용자 스토리지 자산 처리의 특정 결함으로 인해 17회 연속 재진입 공격이 구현되어 203만 DAI가 손실되었습니다.
보조 제목
재진입 공격은 허공에서 2,050만 OUSD 생성을 재현합니다.
추적 및 분석을 통해 PeckShield는 먼저 공격자가 dYdX 플래시 대출에서 70,000 ETH를 빌려주었다는 사실을 발견했습니다.
그 후 UniswapV2에서 17,500 ETH가 먼저 785만 USDT로 변환된 다음 대출된 나머지 52,500 ETH가 2099만 DAI로 변환되었습니다.
다음으로 공격자는 4번의 과정을 거쳐 OUSD 스테이블코인을 발행했습니다.
공격자는 mint() 함수를 통해 OUSD를 처음으로 발행할 때 Origin 스마트 계약에 750만 USDT를 예치하고 750만 OUSD를 획득했습니다.
두 번째로 mintMultiple() 다중 스테이블 코인 기능을 통해 OUSD를 발행할 때 공격자는 Origin 스마트 계약에 2,050만 개의 DAI와 0개의 가짜 "스테이블 코인"을 예치하고 이 단계에서 재진입 공격을 통해 계약을 공격했습니다. 공격자는 2,050만 DAI와 0개의 가짜 "스테이블 코인"을 VaultCore에 예치합니다. 이때 스마트 계약은 2,050만 DAI를 받습니다. 0개의 가짜 "스테이블 코인"을 받으려고 할 때 공격자는 악의적인 계약을 사용하여 탈취합니다. 스마트 컨트랙트가 2,050만 OUSD를 발행하기 시작했고, mint() 함수가 호출되어 악의적으로 2,050만 OUSD를 발행했습니다. 이러한 악의적인 발행은 VaultCore 계약에서 rebase() 함수를 호출하여 구현되었습니다.
하이재킹을 성공적으로 구현하기 위해 공격자는 위의 mint() 함수가 호출되었을 때 실제 돈으로 2,000 USDT를 입금했으며 동시에 2,000 OUSD라는 세 번째 코인을 획득했습니다. 그런 다음 oUSD.mint() 함수를 호출하여 네 번째로 2,050만 OUSD를 발행합니다.
Rebase는 토큰 공급의 탄력적 조정 프로세스, 즉 토큰 공급을 "재설정"하는 것을 말합니다. DeFi 분야에는 탄력적 공급 메커니즘을 가진 토큰 유형이 있습니다. 즉, 각 토큰 보유 사용자의 지갑 잔액과 토큰 총액은 토큰 가격 변동에 비례하여 변경됩니다. 이 시점에서 공격자는 저당 잡힌 750만 USDT, 2050만 DAI 및 2,000 USDT를 포함하여 총 2800만 2000개의 OUSD를 획득했습니다. rebase() 함수 호출로 인해 공격자가 획득한 OUSD의 총량은 33,269,000개로 증가했습니다.
마지막으로 공격자는 획득한 33,269,000 OUSD로 1950만 DAI, 940만 USDT, 390만 USDC를 환매한 후 유니스왑에서 1045만 USDT를 22,898 ETH, 390만 USDC로 변환하여 8,305 ETH로 190만 DAI를 47,976 ETH로 교환하고, 총 79,179 ETH, 70,000 ETH를 dYdX 플래시론으로 돌려드립니다.
PeckShield 통계에 따르면 공격자는 이 공격에서 11,809 ETH와 2,249,821 DAI의 총 이익을 얻었으며 총 770만 달러에 달했습니다.
이번 공격에 대해 오리진프로토콜은 자금 회수를 위해 적극적으로 조치를 취하고 있다고 공식 입장을 밝혔다.
DeFi 생태계가 활발하게 발전함에 따라 숨겨진 보안 문제가 점차 대두되고 있으며, DeFi 관련 프로젝트는 사용자 자산과 밀접하게 연결되어 있으므로 보안 문제를 시급히 해결해야 합니다.
이와 관련해 펙쉴드 관계자는 “이러한 재진입 공격이 발생하는 주된 원인은 컨트랙트가 사용자가 보관한 토큰에 대해 화이트리스트 인증을 하지 않기 때문이다. 디파이는 '빌딩 블록'이다. 여러 스마트 계약 및 응용 프로그램으로 구성된 조합' 전체 보안이 서로 얽혀 있습니다. 플랫폼 측은 제품이 온라인 상태가 되기 전에 견고한 코드 감사 및 취약성 조사가 있는지 확인해야 할 뿐만 아니라 잠재적인 시스템 위험 제어 문제도 고려해야 합니다. 서로 다른 제품을 결합할 때 서로 다른 비즈니스 로직. .”