오라클 공격은 컴퓨터 시스템이 "오라클"이라고 알려진 외부 데이터 소스를 신뢰하는 데 있어 취약점을 악용하는 사이버 공격 유형을 말합니다. 오라클은 스마트 계약 및 탈중앙화 애플리케이션 (DApp)에 정보를 제공하는 제3자 데이터 제공업체입니다. 블록체인 네트워크에서 이러한 데이터 소스는 가격 피드, 기상 조건 및 기타 외부 이벤트와 같은 실제 데이터를 제공하여 스마트 계약이 자율적으로 실행되도록 하는 데 중요한 역할을 합니다. [1][4]
오라클 공격은 일반적으로 오라클이 제공하는 정보를 조작하여 스마트 계약 또는 DApp을 속이는 것을 포함합니다. 이러한 공격의 목표는 다양할 수 있지만 종종 금전적 이득을 얻거나 탈중앙화 시스템의 적절한 기능을 방해하는 것을 포함합니다. 공격자는 스마트 계약 내에서 의도하지 않은 작업을 트리거하여 원치 않는 결과를 초래하도록 데이터 피드를 변경하려고 시도할 수 있습니다.[2]
1. 가격 조작: 탈중앙화 금융 (DeFi) 애플리케이션의 맥락에서 공격자는 가격 오라클을 조작하여 잘못된 가격 데이터를 제공할 수 있습니다. 이는 수익성 있는 거래를 실행하거나 대출 플랫폼 내에서 청산을 유발하는 데 악용될 수 있습니다.[5]
2. 외부 데이터 변조: 공격자는 데이터 소스 자체 또는 통신 채널을 손상시켜 잘못된 정보를 오라클 피드에 주입할 수 있습니다. 예를 들어 공격자는 보험 스마트 계약에 사용되는 기상 데이터를 위조하여 보상을 사기적으로 청구할 수 있습니다.[4]
오라클 조작은 대출 프로토콜에 문제를 일으켜 더 큰 규모의 지급 불능 상황으로 이어질 수 있습니다. 예를 들어 오라클 악용은 프로토콜 내에서 담보 가치가 사용자의 부채에 미치지 못하는 불리한 부채 포지션을 생성할 수 있습니다. 차용인이 부채를 해결할 동기가 부족할 수 있다는 점을 감안할 때 이러한 상황은 유동성 공급자가 손실을 흡수하도록 강요할 수 있습니다. [2]
프로토콜 지급 불능의 위험 외에도 오라클 공격은 다양한 맥락에서 포괄적인 경제적 실패를 유발할 수 있습니다. 예를 들어 오라클이 가격 변동을 부정확하게 보고하는 경우 알고리즘 스테이블코인 및 리베이스 토큰이 의도한 가격 페그를 잃을 수 있다고 가정해 보십시오. [2]
지급 불능을 방지하기 위해 DeFi 머니 마켓은 담보 자산의 시장 가치를 면밀히 모니터링하고 담보 부족 수준에 도달하기 전에 부채 포지션을 청산합니다. 그러나 프로토콜이 부정확한 오라클 데이터를 기반으로 계산하는 경우 이러한 청산은 부당할 수 있습니다.[2]
오라클 공격을 완화하기 위한 노력에는 다음이 포함됩니다.
1. 다중 오라클: 여러 독립적인 오라클을 사용하고 해당 데이터를 집계하면 단일 악성 소스에 의한 조작 위험을 줄일 수 있습니다.[3]
2. 탈중앙화 오라클: 다양한 제공업체에서 데이터를 소싱하고 합의 메커니즘을 사용하는 탈중앙화 오라클 네트워크를 활용하면 공격자가 데이터 피드를 조작하기가 더 어려워질 수 있습니다.[2][3]
3. 경제적 인센티브: 담보 또는 스테이킹을 요구하는 것과 같이 오라클 제공업체 간의 정직한 행동을 장려하는 메커니즘을 설계하면 악의적인 활동을 억제할 수 있습니다.[4]
4. 오라클 업그레이드 및 거버넌스: 커뮤니티 거버넌스를 참여시키면서 오라클 설계를 주기적으로 업데이트하고 개선하면 새로운 취약점을 해결하는 데 도움이 될 수 있습니다. [4][5]