DODO 공동 창립자 레이더 곰, 크라우드 펀딩 풀 공격 사건 회고
이 글은 DODO에서 작성한 레이더 곰의 글입니다.
널리 퍼진 글 《이더리움: 어두운 숲》이 있습니다. 이 글에서는 「범용 거래 로봇」에 대해 소개합니다. 이 로봇은 이미 방송되었지만 블록체인에 올라가지 않은 거래를 청취합니다. 원 거래가 수익성이 있다고 판단되면, 더 높은 가스 요금을 지불하여 동일한 거래를 보내 원 거래보다 먼저 체결됩니다.
이더리움 세계는 마치 어두운 숲과 같아서, 이러한 로봇이 가득하고 당신의 모든 행동이 은밀하게 관찰되고 있습니다. 이것은 차가운 무자비한 이야기처럼 들리지만, 우리가 다음에 이야기할 것은 따뜻함과 의협심으로 가득 차 있습니다.
우리가 실수를 저질렀습니다
중국 표준시 3월 9일 오전 8시.
커뮤니티 매니저의 전화를 받았습니다. 그가 말하길, 우리의 계약이 오전 5시에 공격을 받았다고 합니다. 즉시 기술 팀에 전화를 걸어 구체적인 상황을 확인했습니다.
그 후 우리는 자금 풀의 초기화 함수에 취약점이 있어 반복 호출이 가능하다는 것을 발견했습니다. 공격자는 플래시 론을 이용해 진짜 코인을 빌린 후, 계약을 재초기화하여 자금 풀의 토큰 쌍을 공격자가 만든 가짜 코인으로 교체함으로써 플래시 론 자금 반환 검사를 우회했습니다.
이것은 감사 책임을 맡고 있는 Peckshield의 문제가 아니라, 우리가 출시 전에 코드 논리를 단순화하기 위해 몇 가지 수정을 하면서 권한 제어를 놓쳤기 때문입니다. 우리는 큰 실수를 저질렀습니다.
다행히 이 문제는 우리 V2 자금 풀의 일부 비즈니스에만 영향을 미쳤고, 거래 모듈은 영향을 받지 않았습니다. 또한 프로젝트 측만 영향을 받았고 일반 사용자에게는 손실이 없었습니다.
우리는 즉시 구제 작업을 시작했습니다. 기술 팀은 15분 내에 모든 취약점이 있는 자금을 회수했습니다(약 8만 달러). 이후 제품은 자금 풀 생성 입구를 차단하고, 운영 측은 공지를 발송하여 사용자와 프로젝트 측에 사건의 진행 상황을 알렸습니다.
동시에 우리는 손실을 집계했습니다. 약 380만 달러 가치의 USDT, ETH 및 프로젝트 토큰이었습니다. 이후 우리는 즉시 추적을 시작했습니다.
samczsun으로부터의 좋은 소식
중국 표준시 3월 9일 오전 8시 30분.
사건 발생 후 반 시간 내에, 화이트 해커 samczsun으로부터 개인 메시지를 받았습니다. 그는 익명을 원한 한 신비로운 인물이, 우리가 일단 표범 씨라고 부르기로 하겠습니다, "우연히" 189만 달러 가치의 도난 자금을 확보했으며, samczsun에게 우리에게 전액을 반환하겠다고 위임했다고 전했습니다.
표범 씨는 도대체 누구이며, 어떻게 도난 자금의 일부를 확보했는지, 나머지 도난 자금의 행방이나 단서를 알고 있는지?
복잡한 사건 과정
우리는 공격 사건을 분석한 결과, 두 개의 주소가 공격을 실행했음을 발견했습니다. 우리는 각각을 하마 씨 (0x368)와 영양 씨 (0x355)라고 부르기로 했습니다.
하마 씨는 두 번의 공격을 실행했습니다. 그 중 20만 달러는 중앙화 거래소로 들어갔고, 우리는 즉시 거래소에 연락하여 동결했습니다. 다른 189만 달러는 표범 씨가 우리에게 반환하기로 한 금액과 정확히 일치했습니다. 그래서 우리는 하마 씨가 표범 씨일 가능성이 높다고 추측했습니다. 그는 아마도 화이트 해커일 것입니다.
영양 씨는 나쁜 사람이 아닌 것처럼 보입니다. 그의 공격은 "범용 거래 로봇"을 통해 이루어졌으며, 90,000gWei의 가스 요금을 지불하여 해당 거래를 보냈고, 단일 거래의 채굴 수수료는 8ETH에 달했습니다. 체인 상의 단서를 보면, 영양 씨의 로봇이 공격자 하마 씨의 거래를 자동으로 선점했을 가능성이 높으며, 영양 씨는 이를 알지 못했을 수도 있습니다!
이것은 우리에게 또 다른 좋은 소식입니다. 만약 영양 씨와 연락할 수 있다면, 이 돈도 회수될 가능성이 있습니다.
수수께끼가 더욱 커져갑니다
중국 표준시 3월 9일 오후 9시.
하루를 기다린 후, 우리는 표범 씨로부터 환불(189만 달러)을 받았고, 동시에 한 메시지를 받았습니다: 표범 씨는 자신이 하마 씨라고 인정하지 않았습니다.
이제 수수께끼는 더욱 커졌습니다. 이번 공격에는 최소한 세 개의 세력이 존재합니다! 그리고 우리는 표범 씨가 하마 씨의 자산을 어떻게 확보했는지 알지 못합니다. 당시 우리가 유일하게 연락할 수 있는 기회는 이 어두운 숲의 법칙을 잘 아는 표범 씨였습니다.
표범 씨는 익명을 유지하고 싶어했지만, 우리는 samczsun과 몇몇 친구들을 통해 표범 씨와 직접 연락하고 싶다는 의도를 전달했습니다. 몇 시간 후, 나는 텔레그램에서 개인 메시지를 받았습니다.
작은 세계
중국 표준시 3월 10일 오전 1시 30분
나는 표범 씨가 내가 아는 오랜 친구라는 것을 전혀 예상하지 못했습니다. 나는 2018년에 그를 알게 되었고, 그때 나는 DDEX에서 개발자로 일하고 있었습니다. 우리는 계약 개발에 관한 문제를 함께 논의하곤 했습니다. 내가 DDEX를 떠난 이후로 연락이 끊겼고, 그는 내가 DODO의 공동 창립자가 되었다는 것을 전혀 예상하지 못했습니다.
표범 씨는 하마 씨가 공격자라고 말했습니다. 그는 공격으로 얻은 돈을 계약으로 전송했으며, 이 계약에는 취약점이 있어 누구나 코인을 인출할 수 있었습니다. 하마 씨가 코인을 인출할 때 표범 씨의 로봇이 선점하여 "우연히" 이 자금을 확보했습니다.
그럼 나머지 도난 자금은 어떻게 되었을까요? 우리가 영양 씨와 연락할 방법을 논의하고 있을 때, 그는 자발적으로 나에게 연락했습니다.
사건의 전말
중국 표준시 3월 10일 오전 3시
영양 씨는 익명의 방식으로 나에게 이메일을 보내 자금을 반환하겠다고 밝혔습니다(약 120만 달러 가치). 나는 드디어 안도의 한숨을 내쉬었습니다. 두 주요 부분이 모두 반환되었습니다. 그리고 영양 씨는 우리가 듣지 못한 많은 사건들을 알려주어 사건의 전모를 드디어 파악할 수 있었습니다.
(여기서는 매우 구체적인 txHash를 나열하지 않았습니다. 우리의 친구가 저조한 노출을 원했기 때문입니다.)
진정한 공격자는 하마 씨입니다.
그는 두 번의 공격을 실행했지만, 모두 영양 씨의 로봇에 의해 선점되었습니다.
하마 씨는 매우 실망하여, 영양 씨의 거래 로봇을 우회하기 위해 계약을 작성하는 데 시간을 들였고, 이번에는 성공했습니다. 자금은 하마 씨의 계약으로 들어갔습니다.
하지만 하마 씨가 계약에서 코인을 인출할 때, 다시 표범 씨의 거래 로봇에 의해 가로채졌습니다! 영양 씨와 표범 씨는 가스 전쟁을 벌였고, 결국 표범 씨가 승리했습니다. 이로써 하마 씨는 3번의 공격을 실행했지만, 모두 무위로 돌아갔고, 어두운 숲의 로봇에 의해 모두 선점되었습니다!
그 후, 하마 씨는 두 번의 성공적인 공격을 실행했지만, 금액은 비교적 적어 총 약 20만 달러의 수익을 얻었습니다. 우리는 여전히 이 돈을 추적하고 있습니다.
결국, 공격 사건 발생 24시간 이내에 우리는 도난당한 380만 달러 중 310만 달러를 회수했습니다.
따뜻한 어두운 숲
어두운 숲에는 많은 사냥꾼이 있지만, 그들은 대중이 상상하는 것처럼 차갑고 무자비하지 않습니다. 일부 사냥꾼은 온화한 대형 초식동물로, 그들은 어두운 숲의 의협자이며, 해커에게서 도난 자금을 가로채어 피해자에게 반환합니다.
오늘날에도 여전히 많은 사람들이 디지털 화폐 세계가 사기꾼과 해커로 가득 차 있다고 생각하며, 불법 거래, 사기, 권리 보호와 같은 단어와 연결되어 있습니다. 하지만 사실 이 숲에는 다양한 역할이 존재합니다: DeFi 프로젝트 측, 일반 사용자, 열정적인 구경꾼, 뛰어난 기술을 가진 차익 거래 로봇, 실시간으로 경계를 유지하고 중립적인 화이트 해커, 손이 항상 정확하지 않은 아마추어 해커, 숙련된 전문 해커 …..
그들은 함께 생태계를 형성하며, 이 생태계는 자신의 공정성과 도덕성을 가지고 있습니다. 각 참여자는 어느 정도 법 집행관의 역할을 수행합니다. 정직한 개발자에게는 따뜻한 어두운 숲입니다.
감사의 말씀
한 쪽이 어려움에 처하면, 여러 쪽이 지원합니다. 공격을 받은 후 우리는 많은 친구들의 도움을 받았습니다. 나는 이더리움 커뮤니티에 이렇게 많은 좋은 사람들이 있다는 것이 매우 기쁩니다. 그들은 DODO가 가장 어려운 시기에 도움의 손길을 내밀었습니다. 우리는 이더리움 커뮤니티의 의협자들에게 가장 높은 경의를 표합니다. 여기에는 다음이 포함됩니다:
Peckshield, 느린 안개, 바이낸스 보안 팀
samczsun, Tina
1inch, Tokenlon, Binance, Huobi, Etherscan
그리고 많은 친구들의 격려와 위로가 있었습니다. 심지어 경쟁사조차도 이 위급한 순간에 우리와 함께했습니다. 이것은 우리가 차가운 코드 아래 숨겨진 많은 따뜻한 것들을 느끼게 해주었습니다. 정직에 대한 칭찬, 공정에 대한 열망, 신뢰에 대한 소중함.
외전 이야기
영양 씨가 vETH를 반환하기 전에, 그의 로봇은 그를 위해 정교하게 설계된 함정에 빠졌습니다.
https://etherscan.io/tx/0xb081e1aaf4ea7d6b819fc0ffa8230586854130e6b7313fa23a0cc4509b8c3886
이 함정은 0.05ETH를 미끼로 하여 324개의 vETH를 속여 빼앗았습니다. 이는 약 50만 달러의 가치입니다. 우리는 이 함정을 누가 설계했는지 알지 못합니다. 아마도 하마 씨일 수도 있고, 또는 구경하는 관객일 수도 있습니다.
결국 영양 씨는 이 손실을 우리와 함께 부담하기로 관대하게 결정했습니다.
다른 한편으로, 일부 연구자들은 어두운 숲에서 "전송 문"을 구축하고 있습니다. 예를 들어 MEV 연구 기관 Flashbots의 MEV-geth 인프라, 스타트 마이닝 풀의 태극 등이 있습니다. 이러한 "전송 문"은 거래 송신자와 마이닝 풀을 직접 연결하여, 프라이버시 거래 설계 및 거래 정렬 규칙 최적화를 기반으로 거래가 선점되는 것을 방지할 수 있습니다.