back

검색

디파이 피클 파이낸스, 해킹으로 2000만달러 손실

디파이(DeFi, 탈중앙화 금융) 프로토콜 피클 파이낸스(Pickle Finance)가 해커 공격을 받아 2000만 달러를 도난 당했다. 사건 직후 Rekt, Stake Capital 팀원, samczsun 등의 화이트햇 해커들로 구성된 팀이 사용자 자금 5000만 달러를 안전한 곳으로 옮겼다. #피클 파이낸스, 2000만달러 도난 11월 21일 피클 파이낸스는 가짜 피클 계정을 만든 해커에게 2000만 달러 상당의 1970만 DAI를 강탈당했다. 사건 직후 Rekt는 Stake Capital 팀에 연락을 취해 코드를 검사한 결과 피클 프로토콜의 다른 계정에도 위험이 있을 수 있음을 발견했다. 그 후 이들은 신속히 피클 파이낸스에 연락을 해서 Sketch Capital(@bneiluj, @vasa_developer) 구성원과 개발자 @samczsun, @emilianobonassi과 함께 전략팀을 꾸려 본격적인 조사에 착수했다. #한 달 전 와이언 내 발견된 허점과 유사 조사 결과, 이번 해킹은 최근 몇 주 동안 발생한 디파이 해킹 사건과는 매우 다른 것으로 밝혀졌다. 무엇보다 이번 해킹은 차익 거래가 아니었다. 공격자는 솔리디티(Solidity)와 이더리움가상머신(EVM)을 잘 이해하고 있을 뿐만 아니라 한동안 와이언(Yearn)의 코드를 매우 주목해오고 있었던 것 같다는 분석이다. 이번 허점이 한 달 전 와이언에서 발견된 허점과 유사했기 때문이다. 피클 계정(Pickle Jar)은 Yearn yVaults의 포크 버전이다. 이들 계정(Jar)은 사용자가 계정(Jar) 간에 자산을 거래할 수 있도록 하는 컨트롤러(Controller)라는 계약에 의해 제어된다. 불행히도 피클은 어떤 계정이 이 스왑 기능을 사용할 수 있도록 할지 화이트 리스트(허용 목록)을 설정하지 않았다. 해커는 가짜 피클 계정을 만들고 원래 계정의 자금과 교환했다. 이는 swapExactJarForJar이 '화이트 리스트에 있는' 계정을 검사하지 않기 때문에 가능했다. 피클 파이낸스는 도움이 필요하다는 것을 알았고 추가 피해 방지를 위해 다른 팀과의 협력이 필요했다. 피클이 'withdrawAll' 함수를 호출하려고 했지만 트랜잭션에 실패했다. 이 인출 요청은 DAO 거버넌스를 거쳐야 하고 12시간의 타임락이 걸린다. 피클 다중서명 그룹의 한 구성원만 타임락을 우회할 수 있었는데, 당시 그들은 모두 잠자고 있었다. 이는 관리자가 피클 계정(Pickle Jar)을 비울 수 없기 때문에 또 다른 해커의 2차, 3차 공격으로부터 안전하지 않음을 의미한다. 피클 파이낸스와 커브(Curve)는 사용자에게 피클에서 즉시 자금을 인출하도록 경고를 발령했지만 잠재적으로 취약한 피클 계정에는 여전히 5000만 달러가 남아 있었다. 화이트햇 팀은 취약점을 조사하고 남은 자금의 안전을 확보했다. 전략팀은 잠자는 관리자를 깨우는 한편, 이 계정에 있던 자금을 빼냈다. #"감사 받는다고 100% 안전한 것 아냐" Rekt 측은 "감사를 받는다고 보안이 보장된다는 생각을 버려야 한다"고 경고한다. MixBytes(10월 3일)와 Haechi(10월 20일)의 감사는 ControllerV4 (10 월 23 일)가 추가되기 전에 완료되었는데 이번 공격의 핵심 중 하나가 바로 ControllerV4에서 발생했기 때문이다. Rekt 측은 "미래 금융세계에서 가장 위대한 팀은 신속함과 안전성의 균형을 맞출 수 있는 팀이 될 것이며, 지속적인 감사와 엄격한 테스트를 정기적으로 수행할 수 있어야 한다"며 "감사는 메인넷 구동 전의 점검에 그쳐서는 안되고 정기적이고 지속적인 프로세스여야만 하고, 새로운 디파이 프로토콜은 계속해서 변경되고 적용될 수 있으므로 보안 감사는 이를 반영해야 한다"고 강조했다.

조인디 logo
j o i n
d

Article Title

  • J loading image
  • O loading image
  • I loading image
  • N loading image
  • D loading image

RE:CENT