11월 1일, MetaScout는 이더리움의 대출 프로토콜인 Onyx Protocol이 플래시 대출 공격을 받아 210만 달러의 손실을 입었다는 사실을 발견했습니다. 근본 원인은 해커들이 새로운 시장을 먼저 추가하겠다는 제안을 표적으로 삼아 실행한 것과 컴파운드 포크 프로토콜의 ID 정확도 손실 문제 때문이다.
MetaTrust Labs는 사건에 대한 심층적인 연구와 분석을 수행하여 해커가 어떻게 거버넌스 제안과 프로토콜 취약점을 사용하여 Onyx 프로토콜에 대한 공격을 시작했는지 밝혔습니다.
Onyx 프로토콜 정보
Onyx 프로토콜(https://docs.onyx.org/)은 Ethereum 네트워크 사용자에게 안전하고 신뢰할 수 없는 신용 및 대출 서비스를 제공하도록 설계된 대출 시장입니다.
2023년 10월 29일, Onyx 프로토콜(https://x.com/OnyxProtocol/status/1718348637158137858?s=20)은 $PEPE를 시장에 추가하기 위한 제안 OIP-22를 출시했습니다. 안타깝게도 해당 제안은 해커의 표적이 되어 공격을 받았습니다.
동시에 Onyx 체인에 배포된 계약으로 판단하면 이는 복합 파생 프로토콜이며 공격으로 인해 TVL이 286만 달러에서 550,000달러로 떨어졌습니다.
공격적인 작전

공격 손실
두 번의 공격 거래로 인한 총 손실은 약 214만 달러였습니다.

공격자
0xdec2F31C3984F3440540DC78Ef21b1369d4eF767 0x5083956303a145f70ba9f3d80c5e6cb5ac842706
공격 계약
0x052ad2f779c1b557d9637227036ccaad623fceaa
공격받는 계약
에이전시 계약:https://etherscan.io/address/0x5fdbcd61bc9bd4b6d3fd1f49a5d253165ea11750
계약을 구현합니다.https://etherscan.io/address/0x9dcb6bc351ab416f35aeab1351776e2ad295abc4#code
거버넌스 계약
https://etherscan.io/address/0xdec2f31c3984f3440540dc78ef21b1369d4ef767
공격 단계
TL;DR
공격 트랜잭션 0x f 7 c 216을 예로 들어 보겠습니다.
1. 해커(0x 085 bDf)는 먼저 OIP-22 제안을 구현하여 oPEPE(0x 5 fdbcd)라는 새로운 시장을 추가합니다.
2. AAVE에서 플래시 대출을 시작하고 새로운 시장이 추가된 지 1분 이내에 4,000 $WETH를 획득했습니다.
4,000 $WETH를 2, 520, 870, 348, 093 $PEPE로 교환하세요
모든 $PEPE를 주소 0x f 8 e 153으로 이동합니다.

위 주소 0x f 8 e 153에서 계약을 생성하고 1 $PEPE를 사용하여 50, 000, 000, 000, 000, 000, 000 $oPEPE를 발행하고 $oPEPE의 대부분을 상환하고 2 wei만 oPEPE Market에 제공합니다.
2, 520, 870, 348, 093 $PEPE를 oPEPE로 전송하고 $oPEPE로 시장에 진입하세요.
334 $ETH 빌리기
정확도 손실로 인해 $oPEPE 중 1wei만 2,520,870,348,093 $PEPE와 교환되었습니다.
위의 b단계부터 f단계까지 반복하고 $USDC, $USDT, $PAXG, $DAI, $WBTC 및 $LINK를 빌려 $ETH로 교환합니다.
환율 = (총 현금 + 총 대출 - 총 준비금) / 총 공급 = 2, 520, 870, 348, 093, 423, 681, 390, 050, 791, 472 / 2 = 1, 260, 435, 174, 046 , 711, 840, 695, 025, 395, 736
상환금액 = 2, 520, 870, 348, 093, 423, 681, 390, 050, 791, 470
거래 잘림으로 인해 환매토큰 = 환매금액 / 환율 = 1
881, 647, 840 wei 청산 차용인의 $PEPE (0x f 8 e 153)
856, 961, 701 wei $PEPE 상환
3. 4,002 $WETH를 사용하여 AAVE의 플래시 대출을 상환하고 1156.9 $ETH의 수익을 얻었습니다.
근본 원인
한편, 해커들은 컴파운드 프로토콜의 정확도 손실 문제에 대해 매우 잘 알고 있으며, Onyx 프로토콜의 취약점을 미리 인지하고 있었기 때문에 해커들은 OIP-22 제안서의 문제점을 조기에 인지했을 수도 있습니다. 활성화되고 실행 준비가 완료되면 해커가 가장 먼저 제안을 실행하고 불과 1분 후에 공격을 시작합니다.
반면, 정밀도 손실 취약점은 공격의 근본 원인입니다. 해커는 exchangeRate를 증폭시키기 위해 totalSupply를 매우 작은 값인 2로 조작하고 totalCash를 매우 큰 값인 2520870348093423681390050791471로 증가시켰으며 결과적으로 상환 시 계산이 잘렸습니다.
보안 조언
특히 초기화 시나리오 및 기타 극단적 사례에서 스마트 계약에 국한되지 않고 거버넌스 제안에 대한 자세한 감사를 수행합니다.
특히 컴파운드 프로토콜의 경우 조작을 방지하기 위해 시장이 초기화될 때 소량의 주식을 추가하는 것을 고려하십시오.
긴급 상황 발생 시 프로토콜을 일시 중단하기 위한 모니터링 시스템을 권장합니다. Onyx가 이미 모니터링 시스템을 갖추고 있다면 두 번째 공격 트랜잭션은 손실을 줄이기 위해 발생 후 30분 이상 후에 차단되었을 수 있습니다. 또한 메모리 풀 차단 시스템을 통합하면 매우 유용할 것입니다. 이 시스템은 공격자가 공격을 실행하는 동안 멤풀에서 공격 트랜잭션을 효과적으로 탐지할 수 있어 손실을 방지하기 위한 예방적 차단이 가능합니다.
자본 흐름
이 글을 쓰는 시점에서 공격자(0x 085 bDf)는 또 다른 통제된 주소(0x 4 c 9 c 86)를 사용하여 1140 $ETH를 통화 혼합 플랫폼 Tornado.Cash로 전송했습니다.
또 다른 공격자는 여전히 훔친 코인을 지갑에 보관하고 있습니다. (0x 508395)
유사한 공격 사례
이 취약점은 2023년 4월 15일 Hundred Finance가 겪은 해커 공격과 유사하며 이로 인해 약 700만 달러의 손실이 발생했습니다. 거래 링크: 0x6e9ebcdebbabda04fa9f2e3bc21ea8b2e4fb4bf4f4670cb8483e2f0b2604f451
MetaTrust Labs 소개
MetaTrust Labs는 싱가포르 난양기술대학교에서 인큐베이팅한 Web3 인공 지능 보안 도구 및 코드 감사 서비스를 제공하는 선도적인 업체입니다. 우리는 개발자와 프로젝트 이해관계자가 Web3 애플리케이션과 스마트 계약을 보호할 수 있도록 지원하는 고급 AI 솔루션을 제공합니다. 당사의 포괄적인 서비스에는 AI 보안 스캐닝, 코드 감사, 스마트 계약 모니터링 및 거래 모니터링이 포함됩니다. MetaTrust Labs에서는 개발자가 자신감과 신뢰성을 가지고 혁신할 수 있도록 Web3 환경을 보호하기 위해 최선을 다하고 있습니다.
Website: metatrust.io
Twitter: @MetatrustLabs


