Back to Blog

BlockSec가 도난된 DeFi 자금을 구출한 방법: 3가지 사례 연구

Phalcon
February 20, 2023
3 min read

DeFi 해킹은 여전히 발생하고 있습니다. DeFi 프로젝트의 탈취된 자금은 대개 복구하기가 매우 어렵습니다. 일부 프로젝트는 해커와 협상하여 바운티를 제공하고 법적 조치를 취하지 않겠다고 약속하기도 합니다. 이 방법이 효과를 보는 경우도 있지만, 나쁜 선례를 남기게 됩니다. 책임 있는 공개 대신 바운티를 받기 위해 해킹을 조장하는 것과 같기 때문입니다.

BlockSec은 여러 프로젝트의 탈취된 자금을 복구하기 위해 다른 접근 방식을 취했습니다. 자금 흐름을 추적하고 거래소와 같은 중앙화된 기관과 협력하는 일반적인 방법 외에도, 최근의 Platypus Finance, TransitSwap, 그리고 Saddle Finance를 포함한 순수하게 기술적인 방법으로 탈취된 자금을 복구한 세 가지 성공 사례를 공유하고자 합니다.

Platypus Finance: 240만 달러 복구

The Block에는 BlockSec이 Platypusdefi의 자금을 어떻게 복구했는지에 대한 훌륭한 기사가 있습니다. 기본적으로, 공격자는 공격 컨트랙트에서 자금을 이동할 방법이 없다는 실수를 저질렀습니다. 공격자가 공격 컨트랙트에서 토큰을 전송하는 코드 로직을 작성하는 것을 잊었기 때문입니다.

그러나 저희 팀은 공격 컨트랙트의 기존 코드를 활용하여 컨트랙트에서 프로젝트의 컨트랙트로 USDC를 이동할 수 있는 방법을 발견했습니다. 기본적으로 공격자 컨트랙트에는 호출될 경우 프로젝트의 컨트랙트에 고정된 수량의 USDC를 승인하는 함수가 있었습니다. 이 코드는 공격 목적으로 사용되었지만, 저희는 이 코드 로직을 재활용하여 프로젝트의 컨트랙트에 USDC를 승인하고, 이후 프로젝트의 컨트랙트(프록시 컨트랙트)를 업그레이드하여 공격자 컨트랙트에서 USDC를 이동할 수 있었습니다.

저희는 PoC로 이 아이디어를 검증하고 Platypusdefi와 정보를 공유했습니다. 긴밀한 협력 끝에 이 방법이 효과를 발휘했으며, 다음 트랜잭션을 통해 240만 USDC가 복구되었습니다.

TransitSwap: 246,000 달러 복구

BSC의 TransitSwap은 2022년 10월 1일에 공격을 받았습니다. 일부 공격 트랜잭션은 Bot에 의해 프론트런되었습니다.

그러나 저희는 이 봇이 profanity 도구 취약점에 취약한 것으로 의심된다는 사실을 발견했습니다. 이 취약점은 개인 키 생성 시 불충분한 무작위성으로 인해 발생합니다. 저희는 이러한 취약한 주소의 개인 키를 복구할 수 있는 도구를 개발했습니다.

저희는 봇의 개인 키를 성공적으로 복구했습니다. 그러나 자금은 EoA가 아닌 Bot 컨트랙트에 있었습니다. 저희는 컨트랙트를 디컴파일하여 자금을 전송하는 데 사용할 수 있는 함수를 찾아냈습니다.

저희는 자금을 공식 TransitFinance 자금 수신 주소로 이전했습니다.

더 읽기: TransitSwap(및 BabySwap)의 탈취된 자금을 복구한 방법

Saddle Finance: 380만 달러 복구

Saddle Finance의 경우, 저희는 다른 방식으로 자금 구제를 수행했습니다. 기본적인 아이디어는 이더리움의 펜딩 풀을 모니터링하고, 트랜잭션 사전 실행 시스템 Mopsus를 통해 공격 트랜잭션을 감지한 후, 취약한 자산을 저희의 안전한 계정으로 이동하는 구제 트랜잭션을 자동으로 생성하고 FlashBot을 통해 공격 트랜잭션을 프론트런하여 공격을 차단하는 것입니다. 아래 그림은 그 아키텍처를 보여줍니다.

다음 타임라인은 2022년 4월 말 저희 시스템이 Saddle Finance를 위해 380만 달러를 구제한 방법을 보여줍니다. 특히, 저희 시스템은 공격 트랜잭션을 감지하고 구제 트랜잭션을 자동으로 생성하는 전체 과정을 1초 이내에 완료했습니다. 저희는 복구된 모든 자금을 Saddle Finance에 반환했습니다. 원본 해킹 트랜잭션저희의 구제 트랜잭션 링크를 클릭하세요.

더 읽기: 사전 위협 방지를 통한 Web3 보안

요약

위의 세 가지 사례는 대표적인 예시에 불과합니다. 실제로 저희는 더 많은 자금 구제 성공 사례를 보유하고 있습니다.

저희는 DeFi 보안이 단일 방법론으로 해결될 수 없다고 항상 생각합니다. 만능 해결책은 없습니다. BlockSec은 전체 생태계를 안전하게 보호하기 위한 몇 가지 도구(및 개발 중인 더 많은 도구)와 서비스를 개발했습니다. 저희는 Phalcon, 블록체인을 위한 트랜잭션 탐색기, 보안 코드 감사 서비스(Solidity, Rust, Go 및 Move 지원), 그리고 선제적 공격 완화 서비스를 보유하고 있습니다. 피싱 공격에 대응하기 위한 크립토 사용자용 도구도 개발했으며, 여기에는 크립토 자금 분석 도구인 MetaSleuth와 블록체인 브라우저용 브라우저 확장 프로그램인 MetaSuites가 포함됩니다. 저희는 MetaMask와 Etherscan에 피싱 URL 및 주소를 지속적으로 보고하고 있습니다. BlockSec은 Cronos, Forta, Tokenlon, KeyStone, Goplus 등의 파트너와 협력하여 전체 크립토 생태계를 보호하고 있습니다.

궁금한 점이 있으시면 언제든지 문의해 주세요.

BlockSec에 대해 더 알아보기: 웹사이트 | 문서 | 트위터 | 블로그 | 텔레그램 그룹