오리온

느린 안개: 오리온 프로토콜이 공격받은 것은 계약 교환 기능의 함수가 재진입 보호를 하지 않았기 때문입니다

ChainCatcher 메시지, 오늘 아침 Orion Protocol 프로젝트의 ETH 및 BSC 체인上的 계약이 공격을 받았으며, 공격자는 약 302.7만 달러를 획득했습니다. 이번 공격 과정과 원인에 대해 느슨한 보안 팀이 분석한 내용은 다음과 같습니다:공격자는 먼저 ExchangeWithAtomic 계약의 depositAsset 함수를 호출하여 0.5개의 USDC 토큰을 예치하여 아래의 공격을 준비했습니다;공격자는 284.47만 개의 USDT 토큰을 플래시 론으로 대출한 후, ExchangeWithAtomic 계약의 doSwapThroughOrionPool 함수를 호출하여 토큰을 교환했습니다. 교환 경로는 [USDC -> ATK(공격자가 생성한 악성 토큰) -> USDT]입니다;교환 결과는 교환 후 ExchangeWithAtomic 계약의 USDT 토큰 잔액에서 교환 전 해당 계약의 USDT 토큰 잔액(284.47만 개)을 뺀 값이지만, 문제는 USDC -> ATK를 교환한 후 ATK 토큰의 전송 함수를 호출하게 되며, 이 함수는 공격자가 악의적으로 구성하여 공격 계약을 통해 ExchangeWithAtomic 계약의 depositAsset 함수를 호출하여 플래시 론으로 대출받은 284.4만 USDT 토큰을 ExchangeWithAtomic 계약에 예치하게 됩니다. 이때 공격 계약의 ExchangeWithAtomic 계약 내 예치금이 284.47만 개로 성공적으로 기록되며, ExchangeWithAtomic 계약의 USDT 토큰 잔액은 568.9만 개가 되어 공격자가 교환한 USDT 토큰의 수량이 교환 후 568.9만에서 교환 전 284.47만을 뺀 값인 284.47만으로 계산됩니다;이후 교환된 USDT 토큰은 라이브러리 함수 creditUserAssets를 호출하여 공격 계약이 ExchangeWithAtomic 계약에서 사용하는 장부를 업데이트하게 되어, 공격 계약의 ExchangeWithAtomic 계약 내 USDT 토큰 예치금이 568.9만 개로 기록됩니다;마지막으로 공격자는 ExchangeWithAtomic 계약의 withdraw 함수를 호출하여 USDT를 인출하고 플래시 론을 상환한 후 남은 283.6만 개의 USDT 토큰을 WETH로 교환하여 이익을 얻습니다. 공격자는 동일한 방법으로 BSC 체인에서도 공격을 감행하여 19.1만 달러를 획득했습니다;이번 공격의 근본 원인은 계약의 교환 기능 함수에 재진입 보호가 없으며, 교환 후 다시 장부의 예치금 수치를 업데이트하는 것이 교환 전후 계약 내 토큰 잔액 차이에 따라 계산되기 때문에 공격자가 가짜 토큰을 이용해 예치 함수에 재진입하여 예상보다 많은 토큰을 획득하게 된 것입니다.

유동성 집합 프로토콜 오리온 프로토콜이 해킹당해 약 300만 달러의 손실을 입었다

ChainCatcher 메시지에 따르면, MistTrack 모니터링 결과 유동성 집계 프로토콜 Orion Protocol이 해킹당해 약 300만 달러의 손실을 입었습니다. 자금은 여러 거래소와 크로스 체인 브리지를 통해 ETH로 전환되었습니다. 현재까지 1100개의 ETH가 Tornado Cash로 전송되었으며, 657 ETH(약 110만 달러) 이상이 여전히 해커 주소에 남아 있습니다.이에 대해 Orion Protocol CEO Alexey Koloskov는 모든 사용자의 자금이 안전하다고 밝혔습니다. 여기에는 스테이킹, Orion Pool, 브리지 및 유동성 제공자가 포함됩니다. 이 문제는 핵심 프로토콜 코드의 결함으로 인한 것이 아니라, 실험적이고 개인 중개인이 사용하는 스마트 계약에서 제3자 라이브러리가 혼합된 취약점으로 인해 발생했을 가능성이 있습니다.Alexey Koloskov는 또한 사용자에게 "이번 사건에서 어떤 사용자도 손실을 입지 않았으며, 위험에 처한 자산은 Orion 팀이 운영하는 내부 중개인 계좌에 위치해 있어 분산된 접근을 통해 집중된 유동성을 실현하고 있습니다. Orion Protocol은 공격 활동에 대한 조사를 지속하고 있으며, 취약점이 수정되고 감사되기 전까지는 입금 기능을 재개하지 않을 것입니다. 사용자는 현재 Orion Exchange 계약에서 자금을 인출할 수 있습니다."라고 보장했습니다.(출처 링크)
체인캐처 혁신가들과 함께하는 Web3 세상 구축