Cointime

Download App
iOS & Android

SharkTeam: MIM_SPELL 공격 원리 분석

2024년 1월 30일 MIM_SPELL은 플래시 대출 공격을 받았고 정밀 계산 취약점으로 인해 프로젝트에서 650만 달러의 손실을 입었습니다.

SharkTeam은 이번 사건에 대해 즉시 기술적 분석을 실시하고 보안 예방 조치를 요약했으며, 후속 프로젝트가 이를 통해 교훈을 얻고 블록체인 업계의 보안 방어선을 공동으로 구축할 수 있기를 바랍니다.

공격자 주소:

0x87F585809Ce79aE39A5fa0C7C96d0d159eb678C9

공격 계약:

0xe1091d17473b049cccd65c54f71677da85b77a45

0x13AF445F81B0DEcA5dCb2Be6A4C691F545c95912

0xe59b54a9e37ab69f6e9312a9b3f72539ee184e5a

공격받은 계약:

0x7259e152103756e1616A77Ae982353c3751A6a90

공격 트랜잭션:

0x26a83db7e28838dd9fee6fb7314ae58dcc6aee9a20bf224c386ff5e80f7e4cf2

0xdb4616b89ad82062787a4e924d520639791302476484b9a6eca5126f79b6d877

공격 프로세스:

1. 공격자(0x87F58580)는 플래시론을 통해 MIM 토큰 30만개를 빌렸습니다.

2. 이후 사용자의 대출 상환을 위한 다음 단계를 위해 공격받은 계약(0x7259e1520)으로 240,000개의 MIM 토큰이 전송되었습니다.

2. 이후 사용자의 대출 상환을 위한 다음 단계를 위해 공격받은 계약(0x7259e1520)으로 240,000개의 MIM 토큰이 전송되었습니다.

3. 이후 공격자(0x87F58580)는 repayForAll 함수를 호출하여 다른 사용자의 대출금을 상환하고, 이후 repay 함수를 호출하여 다른 사용자의 대출금을 상환함으로써 탄력적 변수를 0으로 줄입니다.

4. Elastic 변수가 0으로 감소한 후 공격자(0x87F58580)는 새로운 공격 계약(0xe59b54a9)을 생성하고 elastic = 0, base = 120080183810681886665215049728이 될 때까지 차용 및 상환 함수를 계속 호출합니다.

5. 이후 공격자(0x87F58580)는 DegenBox 컨트랙트의 대출 기능과 출금 기능을 호출하여 5,000,047개의 MIM 토큰을 대출해 주었습니다.

5. 이후 공격자(0x87F58580)는 DegenBox 컨트랙트의 대출 기능과 출금 기능을 호출하여 5,000,047개의 MIM 토큰을 대출해 주었습니다.

6. 공격자(0x87F58580)는 플래시론 기능을 반환하여 4,400,000 MIM 토큰을 1,807 ETH로 교환했으며, 이 거래를 통해 얻은 수익은 약 450W였습니다.

공격의 본질은 대출 변수 계산 시 정확성 문제가 있어 핵심 변수 탄력성과 기준값이 조작되고 비율이 불균형해 담보 및 대출 금액 계산 시 문제가 발생한다는 점이다. 궁극적으로 MIM 토큰의 과도한 대출.

공격받은 컨트랙트(0x7259e1520)의 차용 기능과 상환 기능 모두 탄력적 변수와 기본 변수 계산 시 상향 반올림 방식을 사용합니다.

공격자(0x87F58580)는 먼저 다른 사용자의 대출금을 상환하여 탄력적 변수와 기본 변수를 각각 0과 97로 설정했습니다.

그러면 빌림 함수와 상환 함수가 계속 호출되고 매개변수 금액은 모두 1이 됩니다. 빌림 함수가 처음 호출되면 elastic=0이므로 위의 if 로직이 실행되어 add 함수로 반환됩니다. 결과적으로 탄성 = 1, 기본 = 98이 됩니다.

그런 다음 공격자(0x87F58580)는 빌림 함수를 호출하고 1을 전달합니다. elastic=1이므로 else 로직이 실행되고 계산된 반환 값은 98입니다. 이렇게 add 함수로 반환하면 elastic=2이고 기본 변수는 196입니다.

하지만 이때 공격자(0x87F58580)는 repay 함수를 호출하여 1을 전달한다. elastic=2이므로 else 로직이 실행된다.계산된 elastic 변수는 원래 1*2/98 =0이었는데, 다음과 같은 단계로 인해 반올림하면 계산된 반환 값이 1이 되므로 하위 함수로 반환할 때 탄성 변수는 다시 1로 변경되고 기본 변수는 195가 됩니다.

차입-상환 루프 후에 탄력적 변수는 변하지 않고 기본 변수는 거의 두 배로 증가하는 것을 볼 수 있는데, 이 취약점을 이용하여 해커는 자주 차입-상환 기능을 루프하고 마지막으로 다시 상환을 호출하여 궁극적으로 탄력적=0이 됩니다. 기본 = 120080183810681886665215049728.

Elastic 변수와 Base 변수의 비율이 심각하게 불균형한 경우 공격자(0x87F58580)는 Solvent Modifier의 제한 사항을 통과하기 위해 약간의 담보를 추가하여 대량의 MIM 토큰을 빌려줄 수 있습니다.

이 공격에 대응하여 우리는 개발 과정에서 다음과 같은 예방 조치를 따라야 합니다.

1. 정밀도 계산과 관련된 논리를 개발할 때 정밀도와 반올림을 신중하게 고려하십시오.

2. 프로젝트가 온라인으로 진행되기 전에 전문적인 제3자 감사팀이 스마트 계약 감사를 실시해야 합니다.

SharkTeam의 비전은 Web3 세계를 보호하는 것입니다. 이 팀은 블록체인 및 스마트 계약의 기본 이론에 능숙한 전 세계의 숙련된 보안 전문가와 수석 연구원으로 구성되어 있습니다. 온체인 빅데이터 분석, 온체인 위험 경고, KYT/AML, 스마트 계약 감사, 암호화된 자산 복구 및 기타 서비스를 포함한 서비스를 제공하고 온체인 지능형 위험 식별 플랫폼 ChainAegis를 만들었습니다. 플랫폼은 무제한 수준을 지원합니다. 심층적인 그래프 분석을 통해 Web3 세계의 지능형 지속 위협(APT)에 효과적으로 대처할 수 있습니다. Polkadot, Moonbeam, Polygon, Sui, OKX, imToken, Collab.Land 등 Web3 생태계의 다양한 분야의 주요 플레이어와 장기적인 협력 관계를 구축했습니다.

공식 홈페이지: https://www.sharkteam.org

트위터: https://twitter.com/sharkteamorg

디스코드: https://discord.gg/jGH9xXCjDZ

텔레그램: https://t.me/sharkteamorg

댓글

모든 댓글

Recommended for you

  • 미국 상원 은행위원회 위원장은 스테이블코인 수익률 관련 새로운 조항 초안이 이르면 이번 주에 공개될 수 있다고 밝혔습니다.

    코인타임(Cointime) 보도에 따르면, 상원 은행위원회 위원장인 팀 스콧(Tim Scott) 상원의원은 DC 블록체인 서밋에서 의원들이 이번 주 초에 최소한 스테이블코인 관련 조항을 포함한 새로운 법안 초안을 볼 수 있을 것이라고 밝혔습니다. 스콧 의원은 스테이블코인 수익률이 법안에서 가장 많이 논의된 사안이지만, 의원들은 계속해서 이 문제를 논의하고 있다고 언급했습니다. 그는 "이번 주 안에 검토할 첫 번째 초안을 받을 수 있을 것으로 생각합니다. 이번 주말까지 그렇게 된다면, 적어도 법안의 기본 틀이 마련되고 있는지 알 수 있을 것입니다. 그렇게 된다면, 우리는 더 나은 상황에 놓일 수 있을 것입니다."라고 말했습니다. 그는 또한 스테이블코인 수익률 문제에 대한 진전은 민주당 소속 앤젤라 올스브룩스(Angela Alsobrooks) 상원의원, 공화당 소속 톰 틸리스(Thom Tillis) 상원의원, 그리고 백악관 관계자인 패트릭 위트(Patrick Witt)의 노력 덕분이라고 덧붙였습니다. 그는 지난 한 달간 진행된 협상에서 도널드 트럼프 대통령과 그의 가족이 추진하는 암호화폐 사업에 대한 의원들의 우려, 주요 규제 기관의 초당적 대표성 부족, 그리고 고객확인제도(KYC) 규정 등 해결되지 않았던 다른 쟁점들도 논의되었다고 밝혔습니다. 스콧 의원은 또한 "윤리적 문제와 정족수 문제에 대한 합의에 거의 도달했다고 생각합니다. 상대방에게도 중요한 문제라는 것을 알고 있기 때문에 우리도 이 부분을 다루고 있습니다. 몇몇 인사 지명에 대해서도 진전이 있어 다행입니다. 디파이(DeFi)는 마크 워너 상원의원이 집중적으로 관심을 기울여 온 분야이며, 자금세탁방지(AML)는 매우 중요한 부분입니다. 따라서 이러한 문제들에 대해 진전이 있다고 생각합니다."라고 말했습니다.

  • 골든 모닝 브리핑 | 3월 18일 밤 주요 변동 사항

    21:00-7:00 주요 키워드: 팬텀, 스트라이프, 오토노머스, 이란 1. 이란은 미국과 이스라엘이 자국 영토를 이용하는 것을 허용하는 국가에 대해 합법적으로 공격할 수 있다고 주장했습니다. 2. 미국 상품선물거래위원회(CFTC): 팬텀 지갑은 브로커 등록이 필요하지 않습니다. 3. 애리조나 주 법무장관, 예측 마케팅 업체 칼시(Kalshi)에 대해 형사 고발 조치를 취했습니다. 4. 미국 국무부는 전 세계 모든 대사관에 "즉시" 보안 평가를 실시하도록 지시했습니다. 5. 로빈후드 벤처 캐피털, 스트라이프와 일레븐랩스에 약 3,500만 달러 투자. 6. GSR, 오토노머스와 아키텍을 5,700만 달러에 인수하여 암호화폐 펀드 운용 플랫폼 구축. 7. 미국 증권거래위원회(SEC)와 상품선물거래위원회(CFTC), 대부분의 디지털 자산은 증권이 아니라는 새로운 암호화폐 가이드라인 발표.

  • 미국 증권거래위원회(SEC)와 상품선물거래위원회(CFTC)는 암호화폐에 대한 새로운 의견을 발표하며, 대부분의 디지털 자산은 증권 범주에 속하지 않는다고 밝혔습니다.

    코인타임은 3월 18일 미국 증권거래위원회(SEC)와 상품선물거래위원회(CFTC)가 암호화폐에 대한 68페이지 분량의 가이드라인 문서를 발표했으며, 대부분의 디지털 자산은 증권이 아니라고 밝혔다고 보도했습니다. 이 새로운 설명은 스테이블코인, 디지털 상품, 그리고 "디지털 상품" 토큰의 분류를 자세히 설명하며, SEC는 이 모든 것들이 증권이 아니라고 명시했습니다. 또한 "비증권 암호화 자산"이 어떻게 증권이 될 수 있는지 설명하고, 채굴, 프로토콜 스테이킹, 에어드롭에 연방 증권법이 어떻게 적용되는지 명확히 했습니다. SEC는 또한 비증권 디지털 자산이 어떻게 투자 계약의 대상이 될 수 있는지에 대해서도 설명했습니다. SEC는 설명에서 "발행자가 투자자를 공동 사업에 투자하도록 유도하고 필요한 경영 업무를 수행하겠다는 약속이나 진술을 하며, 구매자가 그로부터 수익을 기대할 만한 이유가 있을 때, 비증권 암호화 자산은 투자 계약의 대상이 된다"고 밝혔습니다.

  • 마스터카드는 스테이블코인 회사인 BVNK를 최대 18억 달러에 인수할 계획입니다.

    코인타임(Cointime) 보도에 따르면 마스터카드(Mastercard)는 스테이블코인 인프라 스타트업인 BVNK를 최대 18억 달러(조건부 대가 3억 달러 포함)에 인수할 계획입니다. 이번 인수는 BVNK와 코인베이스(Coinbase)의 약 20억 달러 규모의 합병 협상이 결렬된 지 불과 4개월 만에 이루어졌습니다. 양사는 화요일 공동 성명을 통해 이번 거래를 공식적으로 확인했습니다.

  • 비트코인이 7만 5천 달러를 돌파했습니다.

    시장 데이터에 따르면 비트코인(BTC)이 75,000달러를 돌파하여 현재 75,033.01달러에 거래되고 있으며, 24시간 동안 2.83% 상승했습니다. 시장 변동성이 매우 크므로 투자 시 위험 관리에 유의하시기 바랍니다.

  • FusnChain 메인넷이 곧 출시됩니다. 이는 세계 최초의 금융 거래용 퍼블릭 블록체인으로, PayFi 시대의 온체인 금융 거래 인프라를 열어갈 것입니다.

    글로벌 웹3 인프라 환경에 역사적인 패러다임 전환이 임박했습니다. 암호화폐 세계와 실물 현금 흐름을 연결하는 데 전념하는 공식 네트워크인 FusnChain이 메인넷 출시를 공식 발표했습니다.

  • 비트코인이 71,500달러를 돌파했습니다.

    시장 데이터에 따르면 비트코인(BTC)이 71,500달러를 돌파하여 현재 71,510.19달러에 거래되고 있으며, 24시간 동안 1.06% 상승했습니다. 시장 변동성이 매우 크므로 투자 시 위험 관리에 유의하시기 바랍니다.