뱃저(Badger) - REKT



로드킬이 발생했습니다.

뱃저(오소리)가 죽었습니다.

1억2000만 달러 가 wBTC 그리고 ERC20의 다양한 형태로 도난당했습니다.

이번 프론트엔드 공격으로 뱃저 다오(Badger DAO)는 리더보드 4위에 안착하게 되었습니다.

rekt.news는 거듭 말씀드립니다:

무한한 승인은 제한 없는 신뢰를 의미합니다 - 이미 알고 있듯이, DeFi에서 우리가 절대 하지 말아야할 것이죠.

그러나 프론트엔드가 공격당해서 조작된 상황에서, 일반적인 유저가 지갑 승인에서 불법적인 컨트랙트가 있는지 파악하는 것을 기대할 수 있을까요?

알려지지 않은 그룹이, 유저들의 토큰들을 그들의 주소로 보낼 수 있도록 승인을 요청하는 추가 승인을 몰래 삽입해두었습니다. 2021년 2월 12일 00:00:23 UTC에서부터, 공격자들은 이 도난당한 신탁을 사용하여 자신들의 지갑을 채우기 시작했습니다.

뱃저 팀이 새로운 유저들의 주소에서 자금이 빠져나가는 것을 깨닫자, 팀은 그들의 스마트 컨트랙트를 일시정지하고, 악의적인 트랜잭션은 시간한지 2시간 20분 만에 종료되었습니다.

뱃저다오의 목적은 비트코인을 DeFi로 가져오는 것입니다. 프로젝트는 유저가 이더리움 체인에서 다양한 종류의 wrapped BTC로 수익을 볼 수 있도록하는 다양한 볼트가 마련되어있습니다.

도난당한 자금의 대부분은, 볼트에 입금된 비트코인 네트워크에 담보된 토큰과 이더리움에 남아있는 ERC20 토큰들이었습니다.

도난당한 자금들의 현 위치는 이곳에 정리되어있습니다.

프로젝트의 Cloudflare 계정이 해킹 당했다거나, 아니면 다른 보안 취약점들이 있었다는 소문이 돌고 있습니다.

해커들은 유저가 동의한 무한 승인을 바탕으로, 유저들이 합법적으로 입금을 하거나 보상 클레임 트랜잭션을 생성할 때 BTC에 연관된 토큰들이 유저들의 지갑에서 해커의 지갑으로 전송되도록 만들었습니다.

펙쉴드(Peckshield)에 따르면 해커 주소로의 첫 번째 승인은 2주 전이었습니다. 그 이후로 플랫폼과 상호 작용했던 그 누구든, 공격자가 자금을 빼낼 수 있는 승인을 무심코 시행했을 수 있습니다.

500개가 넘는 주소가 해커의 주소를 승인했습니다: 0x1fcdb04d0c5364fbd92c73ca8af9baa72c269107

이곳에서 승인과 거절 내역을 확인해보세요: etherscan.io/tokenapprovalchecker

예시 트랜잭션: 5000만 달러가 넘는 가치의 ~900 byvWBTC가 빠져나갔습니다. 피해자는 6시간 전쯤 increaseAllowance() 기능을 통해서 공격자의 주소가 자산을 제한 없이 사용할 수 있도록 승인했습니다.

결과적으로 뱃저의 transferFrom() 기능의 “unusual” 특성 덕분에, 팀은 모든 활동을 일시 정지 시킬 수 있었고, 추가로 자금을 도난당하는 것을 막을 수 있었습니다.

오랫동안 운영된 평판이 좋았던 뱃저같은 프로젝트가 이렇게 rekt될 수 있다는 것과, 또 다른 큰 플레이어가 일촉즉발의 상황에 놓여있다는 것은, DeFi 유저들이 자신들의 자산이 안전할 것이라는 생각을 할 여유가 없게 만듭니다. 살아남기 위해서는 다각화가 필수입니다.

일반적으로 URL을 확인하고 적절한 채널과 상호 작용하는지 확인하는 데 신경을 씀에도 불구하고, 이번 경우는 도움이 되지 못했을 것입니다.

프론트엔드가 적어도 12일 전에 조작되었었으니까요.

뱃저는 왜 알아차리지 못했을까요?

디스코드에서 한 유저가 의심스러운 increaseAllowance() 승인에 대해서 알려주시기는 했습니다.

왜 뱃저 개발자들은 이를 확인하지 않았을까요?

경험이 많은 유저들은 어떤 컨트랙트든 트랜잭션을 승인하기 전에 이더스캔에 해당 컨트랙트 주소를 복사/붙여넣기 함으로써 이러한 가짜 승인들을 쉽게 알아차릴 수 있습니다.

그러나 DeFi가 "대중적으로" 받아들여지기 위해서는, 이렇게 추가로 조심해야하는 부분들이 간소화되어야 합니다.

그때까지는, 좋은 지갑과 승인 위생으로 연습해볼 수밖에 없습니다.


기사 공유하기

REKT는 익명 작성자들에 의한 공공 플랫폼이며, REKT에 작성된 관점이나 내용에 대해서 그 어떤 책임도 지지 않습니다.

기부 (ETH / ERC20): 0x3C5c2F4bCeC51a36494682f91Dbc6cA7c63B514C

disclaimer:

REKT는 당사 웹 사이트의 익명의 작성자 또는 REKT에 의해 게시되거나 관련된 서비스에서 게시되는 콘텐츠에 대해 어떠한 책임도 지지 않습니다. 당사는 익명 작성자들의 행동 및 게시물에 대한 규칙을 제공하지만, 익명의 작성자가 웹 사이트 또는 서비스에 게시, 전송 혹은 공유한 내용을 통제하거나 책임지지 않으며, 귀하가 웹 사이트 또는 서비스에서 직면할 수 있는 불쾌함, 부적절함, 음란함, 불법 또는 기타 해로운 콘텐츠에 대해서도 책임을 지지 않습니다. REKT는 당사 웹 사이트 또는 서비스 사용자의 온라인 또는 오프라인 행위에 대한 책임을 지지 않습니다.