Verichains 주간 보안 다이제스트 | 2023년 7월 3주차

이 기사는 기계로 번역되었습니다
원문 표시

지난주 DeFi 시장은 6건의 주요 사건으로 인해 2,000,000달러가 넘는 큰 손실을 입었습니다. 영향을 받은 프로젝트 중에서 Rodeo Finance가 가장 큰 영향을 미쳤으며 약 $888,000에 달하는 손실을 입었습니다.


지난주 사건

🚨 프로젝트: 로데오 파이낸스
⛓️ 체인: Arbitrum
품목: TWAP 오라클 조작
💸 손실 금액: ~$888,000

지난주 Rodeo Finance 프로토콜은 익스플로잇의 희생양이 되었으며 공격자는 약 888,000달러를 탈취했습니다. 그들은 여러 거래를 통해 TWAP Oracle의 가격을 조작하고 추가로 상당량의 WETH를 unshETH로 교환하여 계획을 실행했습니다.

이후 공격자는 Investor.earn() 함수를 활용하여 USDC 풀에서 빌린 자금을 사용하여 롱 포지션을 시작했습니다. 이 조치로 인해 400,000 USDC가 WETH로 스왑된 후 Camelot 풀에서 unshETH가 실행되어 WETH와 unshETH의 가격이 효과적으로 조작되었습니다. unshETH 가격 오라클의 결함으로 인해 미끄러짐 제어가 효과적이지 않아 공격자의 성공에 기여했습니다.

이후 공격자는 unshETH와 Balancer가 빌린 WETH를 Camelot 풀을 사용하여 USDC를 획득하도록 전환했습니다. 그런 다음 Uniswap v3 풀을 사용하여 역스왑을 실행하여 USDC를 다시 WETH로 변환하고 궁극적으로 Balancer의 플래시론을 상환했습니다.

요약하자면, 공격자는 여러 거래를 전략적으로 탐색하여 시스템의 취약점을 유리하게 활용하고 계획을 성공적으로 실행하여 Rodeo Finance 프로토콜에 상당한 재정적 손실을 입혔습니다.

Rodeo Finance는 이후 이 취약점을 인정하고 수정 계획과 함께 사후 분석을 발표했으며 올 7월 말에 다시 출시될 것으로 예상됩니다.


🚨 프로젝트: 리버티파이
⛓️ 체인: 이더리움, 폴리곤
품목: 재진입
💸 손실 금액: ~$452,000

Libertify라는 DeFi 프로젝트는 재진입 문제로 인해 거의 50만 명이 악용되었습니다. 입금 프로세스 중에 해커는 userSwap 기능을 이용하고 재진입을 사용하여 입금 흐름을 조작하여 총 공급량을 변경하고 추가 주식을 발행할 수 있습니다.

프로젝트를 통해 사용자 자금 중 232달러만 손실되었으며 나머지는 내부/회사 자금인 것으로 확인되었습니다.


🚨 프로젝트: $LUSD
⛓️ 체인: BSC
품목: 가격조작 공격
💸 손실 금액: $9,464

$LUSD이라는 토큰이 $9,464에 해킹당했습니다. 공격자는 플래시 대출을 실행하여 PancakeSwap의 온체인 가격에 대한 대출 계약의 의존성을 이용했습니다. 이러한 조작을 통해 그들은 상당량의 저평가된 LUSD 토큰을 획득할 수 있었고, 이를 즉시 USDT로 전환하여 가격 조작으로 이익을 얻었습니다.


🚨 프로젝트: CivFund
⛓️ 체인: 이더리움
품목: 승인 문제
💸 손실 금액: ~$180,000

CivFund 프로젝트 내에는 주소 0x7caec5e4a3906d0919895d113f7ed9b3a0cbf826으로 식별되는 스마트 계약이 있습니다. 계약의 의도된 목적은 사용자가 0x5ffe72b7 기능을 활용하여 풀에 유동성을 추가할 수 있도록 하는 것입니다. 이 함수에는 풀 토큰의 주소를 나타내는 매개변수가 필요합니다. 풀 토큰 주소로 이 함수를 호출하면 컨트랙트는 해당 풀 컨트랙트의 mint 함수를 호출하여 LP 토큰을 생성합니다. 그러나 풀 토큰 주소 매개변수에 대한 사용자의 제어로 인해 잠재적인 악용 가능성이 열리는 심각한 취약점이 존재합니다.

공격자는 mint()와 token1()이라는 두 가지 함수를 정의하여 취약점을 이용합니다. token1() 함수는 피해자가 이 계약에 대해 승인한 토큰을 검색하여 피해자가 계약에서 자신을 대신하여 관리하도록 허용한 토큰을 나타냅니다. mint() 함수는 사용자가 0x5ffe72b7 함수를 통해 풀에 유동성을 추가할 때 호출됩니다. 공격자는 mint() 내부에 "uniswapV3MintCallback"이라는 콜백 함수를 도입하고 transferFrom 함수를 조작하여 피해자(발신자)의 토큰을 공격자 주소(수신자)로 전달합니다. 결과적으로 공격자는 발행 프로세스를 악의적으로 제어하고 의심하지 않는 사용자로부터 자신의 주소로 토큰을 사이펀할 수 있습니다.

이 글을 쓰는 시점에서 프로젝트는 익스플로잇을 인정하고 사후 분석을 발표했습니다.


🚨 프로젝트: 오리너구리
⛓️ 체인: 눈사태
품: 논리 오류
💸 손실 금액: ~$51,000

오리너구리는 올해 두 번째로 $51,000에 악용되었습니다. 계약 내의 _deposit 메소드를 사용하면 사용자가 USDC 토큰을 전송할 수 있습니다. 그러나 사용자가 자금을 인출하기 위해 _withdrawFrom 메소드를 호출하면 사용자가 받은 토큰의 수가 예치된 토큰의 수보다 많습니다. 이러한 불일치는 환율 계산의 논리적 오류로 인해 발생합니다.

글을 쓰는 시점에 팀은 문제를 인정하고 풀 운영을 일시 중지했습니다.

올해 초, USP 지불 능력 확인 메커니즘의 결함으로 인해 프로토콜이 $8,000,000 이상 해킹당하여 공격자가 논리 오류를 악용하고 자금을 훔칠 수 있었습니다. 그러나 공격자는 훔친 자금을 수집하는 방법을 코딩하는 것을 잊어버렸습니다. Platypusdefi는 공격자의 실수로 인해 240만 USDC를 회수했습니다.


🚨 프로젝트: Arcadia Finance
⛓️ 체인: 이더리움, 낙천주의
품: 논리 오류
💸 손실 금액: ~$455,000

Arcadia Finance는 Vault 청산 과정에서 재진입 확인이 누락되어 약 $455,000의 공격을 받았습니다. 공격자는 새로운 Vault 생성, 자금 예치, 유동성 풀에서 상당한 금액 차입 등 일련의 단계를 수행하여 이 취약점을 악용했습니다. 재진입 문제를 이용하여 공격자는 자산을 낙관적으로 조작하여 부채가 제거되는 청산에 성공하고 Vault에 자산과 부채가 모두 0이 되어 최종 상태 점검을 통과할 수 있습니다. 이 허점을 통해 공격자는 유동성 풀을 고갈시키고 악용을 실행할 수 있었습니다. 향후 유사한 공격을 방지하려면 개발자가 재진입 검사를 철저히 구현하고 엄격한 보안 감사를 수행하여 스마트 계약의 잠재적 취약성을 식별하고 해결하는 것이 중요합니다.

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
즐겨찾기에 추가
코멘트