7월 21일, 저희의 DeFiRanger 시스템이 몇 가지 의심스러운 트랜잭션을 보고했습니다. 수동 분석 후, 저희는 이 트랜잭션들이 Sanshu Inu에 대한 공격임을 확인했습니다. 구체적으로, Sanshu Inu의 Memstake 컨트랙트가 deflation 메커니즘을 악용하는 공격을 받았습니다.
아래에서는 여러 공격 트랜잭션을 사용하여 공격 과정을 설명하겠습니다.
공격 흐름
다음 그림은 공격자 (0x333)가 실행한 트랜잭션 중 일부를 나열합니다.

공격은 네 단계로 구성됩니다. 핵심은 두 번째 단계로, ERC20 토큰의 디플레이션 메커니즘을 활용하여 Memstake 스마트 컨트랙트의 보상 계산을 조작합니다.


-
1단계 (준비): 공격자는 두 개의 공격 컨트랙트를 생성합니다. 첫 번째는 2,049B KEANU를 예치하는 컨트랙트입니다. 두 번째는 공격 컨트랙트입니다.
-
2단계 (조작): 공격자는 먼저 uniswapV2에서 플래시 론(플래시 론 및 DeFi 생태계에서의 응용 이해를 위한 첫 번째 단계 (SBC 2021))을 사용하여 대량의 KEANU 토큰을 빌린 후, 1단계에서 생성된 두 번째 스마트 컨트랙트를 사용하여 Memestake에 토큰을 예치/인출합니다. KEANU는 각 트랜잭션마다 2% 토큰을 소각하는 디플레이션 메커니즘을 가지고 있으므로, Memestake에 실제로 예치된 토큰 수는 Memestake 컨트랙트가 유지하는 값(
user.amount)보다 작습니다. 공격자는 이 과정을 반복하여 Memestake 내부의 KEANU 토큰 수를 작은 값(1e-07)으로 감소시킵니다. 트랜잭션 0x00ed 및 다음 그림을 참조하십시오.

- 3단계 (이익 실현): 공격자는
Memestake.updatePool()을 호출하여accMfundPerShare를 업데이트합니다. 이 값은 2단계에서 조작된 KEANU 토큰 수에 의존합니다. 그런 다음 공격자는 대량의 Mfund(~61M)를 획득합니다. 자세한 내용은 트랜잭션 0xa945를 참조하십시오.

- 4단계 (WETH로 교환): 공격자는 MFund와 KEANU를 WETH로 교환하고 Tornado.Cash를 통해 자금을 세탁합니다. 공격자는 55.9484578158357 ETH의 수익을 얻었습니다.
기타
흥미롭게도, 공격의 두 번째/세 번째 단계는 Flashbots와 관련이 있습니다. 두 번째 단계에서는 38 ETH로 KEANU를 구매합니다(0x00ed). 이 트랜잭션은 샌드위치 공격(Flashbots를 통해)을 받게 되어 -- 공격자 자신이 샌드위치 공격의 피해자가 되는 상황이 발생합니다. 세 번째 단계(0xa945)에서는 uniswap에서 MFund를 판매하여 Flashbots 서처에 의해 포착된 차익 거래 기회를 만들어냅니다.
BlockSec 소개
BlockSec은 2021년 세계적으로 著名한 보안 전문가 그룹에 의해 설립된 선구적인 블록체인 보안 회사입니다. 이 회사는 대중적인 채택을 촉진하기 위해 새롭게 부상하는 Web3 세계의 보안과 사용성을 향상시키는 데 전념하고 있습니다. 이를 위해 BlockSec은 스마트 컨트랙트 및 EVM 체인 보안 감사 서비스, 보안 개발 및 위협 사전 차단을 위한 Phalcon 플랫폼, 자금 추적 및 조사를 위한 MetaSleuth 플랫폼, 그리고 크립토 세계를 효율적으로 탐색하는 web3 빌더를 위한 MetaDock 확장 프로그램을 제공합니다.
현재까지 이 회사는 MetaMask, Uniswap Foundation, Compound, Forta, PancakeSwap 등 300개 이상의 저명한 고객사에 서비스를 제공했으며, Matrix Partners, Vitalbridge Capital, Fenbushi Capital을 포함한 저명한 투자자들로부터 두 차례의 투자 라운드를 통해 수천만 달러를 유치했습니다.
공식 웹사이트: https://blocksec.com/
공식 트위터 계정: https://twitter.com/BlockSecTeam



