
지난 금요일, 저희 모니터링 시스템은 BSC 상의 coin98 스마트 컨트랙트(0x8aaf408e06feed6a6a6182ea3c464035748b9b31 — 피해 컨트랙트)에 대한 공격을 탐지했습니다. 저희는 즉시 트위터를 통해 프로젝트 소유자에게 DM을 보냈지만 응답을 받지 못했습니다. 당시 취약점이 여전히 존재했기 때문에, 저희는 이를 공개하지 않았습니다. 그로부터 몇 시간 후, 프로젝트 소유자가 해당 취약점을 수정한 새로운 컨트랙트를 배포한 것을 확인했습니다. 따라서 이제 취약점과 수정 사항을 정리하여 공유하는 것이 안전하다고 판단했습니다.
공격 트랜잭션 및 근본 원인
저희 내부 모니터링 시스템에서 감지한 해당 트랜잭션이 주목을 끌었습니다. 면밀한 조사 끝에, 아래와 같이 swapExactTokensForTokens 함수 내 route 파라미터(실제로는 라우터를 의미)에 대한 접근 제어 문제로 인한 것임을 확인했습니다:

이 컨트랙트는 route를 무조건 신뢰한 후 해당 라우터의 swapExactTokensForTokens 함수를 호출합니다. 그 이전에, 피해 컨트랙트가 보유한 모든 토큰을 route에 대해 승인(approve)합니다. 그러나 route는 공격자가 임의로 전달할 수 있습니다. 이 경우, 공격자는 피해 컨트랙트의 모든 토큰을 자신에게 전송한 뒤 WBNB로 스왑하여 이익을 취할 수 있습니다.
다음은 해당 공격 트랜잭션 중 하나입니다.

취약점의 은밀한 수정
저희는 지난 금요일 트위터를 통해 프로젝트 소유자에게 DM을 보냈지만 응답을 받지 못했습니다. 오늘 해당 컨트랙트를 다시 확인한 결과, 새로운 스마트 컨트랙트(0x83f25d16bdf91f51120032f264dad0e1ab1c8227)가 배포된 것을 발견했습니다. 이 새 컨트랙트는 route에 대한 화이트리스트를 적용하고 있습니다:

결론
스마트 컨트랙트가 전달된 파라미터를 무조건적으로 신뢰하는 사례를 많이 보아왔습니다. 이는 심각한 보안 취약점을 초래합니다.
통제 범위를 벗어난 파라미터는 절대 신뢰하지 마십시오!
BlockSec 소개
BlockSec은 2021년 전 세계적으로 著名한 보안 전문가들이 모여 설립한 선도적인 블록체인 보안 기업입니다. 이 회사는 대중적 채택을 촉진하기 위해 새롭게 부상하는 Web3 세계의 보안성과 사용성을 향상시키는 데 전념하고 있습니다. 이를 위해 BlockSec은 스마트 컨트랙트 및 EVM 체인 보안 감사 서비스, 보안 개발 및 위협을 선제적으로 차단하기 위한 Phalcon 플랫폼, 자금 추적 및 조사를 위한 MetaSleuth 플랫폼, 그리고 Web3 빌더들이 크립토 세계를 효율적으로 탐색할 수 있도록 돕는 MetaSuites 익스텐션을 제공합니다.
현재까지 MetaMask, Uniswap Foundation, Compound, Forta, PancakeSwap 등 300개 이상의 저명한 고객사에 서비스를 제공했으며, Matrix Partners, Vitalbridge Capital, Fenbushi Capital 등 著名한 투자자들로부터 두 차례의 투자 라운드를 통해 수천만 달러의 투자를 유치했습니다.
공식 웹사이트: https://blocksec.com/
공식 트위터 계정: https://twitter.com/BlockSecTeam



