# Oracle Attacks

> 오라클 공격은 시스템이 오라클을 신뢰하는 데 있어 취약점을 악용하는 사이버 공격으로, 블록체인 스마트 계약에 제공되는 데이터를 조작할 가능성이 있습니다...

- Canonical URL: https://iq.wiki/kr/wiki/oracle-attacks
- Categories: Projects & Protocols
- Tags: DeFi
- Created: 2023-08-18T11:24:33.211Z
- Last updated: 2023-08-18T10:24:33.211Z
- Source: IQ.wiki — the world's largest blockchain and crypto encyclopedia (https://iq.wiki)

---

**오라클 공격**은 컴퓨터 시스템이 "오라클"이라고 알려진 외부 데이터 소스를 신뢰하는 데 있어 취약점을 악용하는 사이버 공격 유형을 말합니다. 오라클은 [스마트 계약](https://iq.wiki/wiki/smart-contract) 및 [탈중앙화 애플리케이션](https://iq.wiki/wiki/decentralized-application) (DApp)에 정보를 제공하는 제3자 데이터 제공업체입니다. [블록체인](https://iq.wiki/wiki/blockchain) 네트워크에서 이러한 데이터 소스는 가격 피드, 기상 조건 및 기타 외부 이벤트와 같은 실제 데이터를 제공하여 스마트 계약이 자율적으로 실행되도록 하는 데 중요한 역할을 합니다. [\[1\]](#cite-id-4d1g843lf34)[\[4\]](#cite-id-pvgmpjp00a)


## 오라클 공격의 본질

오라클 공격은 일반적으로 오라클이 제공하는 정보를 조작하여 [스마트 계약](https://iq.wiki/wiki/smart-contract) 또는 [DApp](https://iq.wiki/wiki/decentralized-application)을 속이는 것을 포함합니다. 이러한 공격의 목표는 다양할 수 있지만 종종 금전적 이득을 얻거나 탈중앙화 시스템의 적절한 기능을 방해하는 것을 포함합니다. 공격자는 스마트 계약 내에서 의도하지 않은 작업을 트리거하여 원치 않는 결과를 초래하도록 데이터 피드를 변경하려고 시도할 수 있습니다.[\[2\]](#cite-id-90eh3gsqnl9)

## 오라클 공격의 유형

1\. 가격 조작: [탈중앙화 금융](https://iq.wiki/wiki/defi) (DeFi) 애플리케이션의 맥락에서 공격자는 가격 오라클을 조작하여 잘못된 가격 데이터를 제공할 수 있습니다. 이는 수익성 있는 거래를 실행하거나 대출 플랫폼 내에서 청산을 유발하는 데 악용될 수 있습니다.[\[5\]](#cite-id-rzq11h97qnb)

2\. 외부 데이터 변조: 공격자는 데이터 소스 자체 또는 통신 채널을 손상시켜 잘못된 정보를 오라클 피드에 주입할 수 있습니다. 예를 들어 공격자는 보험 [스마트 계약](https://iq.wiki/wiki/smart-contract)에 사용되는 기상 데이터를 위조하여 보상을 사기적으로 청구할 수 있습니다.[\[4\]](#cite-id-pvgmpjp00a)

3. [타임스탬프](https://iq.wiki/wiki/timestamp) 공격: 공격자는 오라클을 통해 조작된 타임스탬프를 제공하여 시간에 민감한 [스마트 계약](https://iq.wiki/wiki/smart-contract)을 악용할 수 있습니다. 이는 시간 기반 기능의 적절한 실행을 방해할 수 있습니다.

## DeFi 보안에 대한 오라클 공격의 영향

### 프로토콜 지급 불능

오라클 조작은 대출 프로토콜에 문제를 일으켜 더 큰 규모의 지급 불능 상황으로 이어질 수 있습니다. 예를 들어 오라클 악용은 프로토콜 내에서 담보 가치가 사용자의 부채에 미치지 못하는 불리한 부채 포지션을 생성할 수 있습니다. 차용인이 부채를 해결할 동기가 부족할 수 있다는 점을 감안할 때 이러한 상황은 유동성 공급자가 손실을 흡수하도록 강요할 수 있습니다. [\[2\]](#cite-id-90eh3gsqnl9)

### 잠재적인 경제적 실패

프로토콜 지급 불능의 위험 외에도 오라클 공격은 다양한 맥락에서 포괄적인 경제적 실패를 유발할 수 있습니다. 예를 들어 오라클이 가격 변동을 부정확하게 보고하는 경우 알고리즘 [스테이블코인](https://iq.wiki/wiki/stablecoin) 및 리베이스 토큰이 의도한 가격 페그를 잃을 수 있다고 가정해 보십시오. [\[2\]](#cite-id-90eh3gsqnl9)

### 사용자 경험에 미치는 영향

지급 불능을 방지하기 위해 [DeFi](https://iq.wiki/wiki/defi) 머니 마켓은 [담보](https://iq.wiki/wiki/collateral) 자산의 시장 가치를 면밀히 모니터링하고 담보 부족 수준에 도달하기 전에 부채 포지션을 청산합니다. 그러나 프로토콜이 부정확한 오라클 데이터를 기반으로 계산하는 경우 이러한 청산은 부당할 수 있습니다.[\[2\]](#cite-id-90eh3gsqnl9)

## 완화 및 예방

오라클 공격을 완화하기 위한 노력에는 다음이 포함됩니다.

1\. 다중 오라클: 여러 독립적인 오라클을 사용하고 해당 데이터를 집계하면 단일 악성 소스에 의한 조작 위험을 줄일 수 있습니다.[\[3\]](#cite-id-nlqez4qx647)

2\. 탈중앙화 오라클: 다양한 제공업체에서 데이터를 소싱하고 합의 메커니즘을 사용하는 탈중앙화 오라클 네트워크를 활용하면 공격자가 데이터 피드를 조작하기가 더 어려워질 수 있습니다.[\[2\]](#cite-id-90eh3gsqnl9)[\[3\]](#cite-id-nlqez4qx647)

3\. 경제적 인센티브: [담보](https://iq.wiki/wiki/collateral) 또는 [스테이킹](https://iq.wiki/wiki/staking)을 요구하는 것과 같이 오라클 제공업체 간의 정직한 행동을 장려하는 메커니즘을 설계하면 악의적인 활동을 억제할 수 있습니다.[\[4\]](#cite-id-pvgmpjp00a)

4\. 오라클 업그레이드 및 거버넌스: 커뮤니티 거버넌스를 참여시키면서 오라클 설계를 주기적으로 업데이트하고 개선하면 새로운 취약점을 해결하는 데 도움이 될 수 있습니다. [\[4\]](#cite-id-pvgmpjp00a)[\[5\]](#cite-id-rzq11h97qnb)

## 오라클 공격의 예

* 2019년 12월에 [Synthetix](https://iq.wiki/wiki/synthetix)는 가격 오라클 조작으로 인한 또 다른 공격을 경험했습니다. 특히 이 사건은 온체인 및 오프체인 가격 데이터 간의 경계를 모호하게 만들었습니다. [\[5\]](#cite-id-rzq11h97qnb)
* [Harvest Finance](https://iq.wiki/wiki/harvest-finance) 해킹 중에 공격자는 일종의 오라클 공격과 관련된 플래시 대출 공격을 실행하여 프로토콜 풀을 침해했습니다. 이 사건에서 해커는 가격을 낮추는 거래를 수행하여 Curve 풀 내에서 [USDC](https://iq.wiki/wiki/usdc)의 가치를 조작했습니다. 그 후 공격자는 조작된 낮은 가격으로 Harvest 풀에 진입하고 거래를 되돌려 USDC 가치를 원래 상태로 복원한 다음 높은 가격으로 풀에서 나갔습니다.[\[3\]](#cite-id-nlqez4qx647)[\[5\]](#cite-id-rzq11h97qnb)[\[6\]](#cite-id-bmr7qqrc517)
* 별도의 사건에서 [Ethereum](https://iq.wiki/wiki/ethereum) 기반 대출 프로토콜인 [bZx](https://iq.wiki/wiki/bzx)에서 공격자가 취약점을 악용하여 담보 부족 포지션을 생성한 침해가 발생했습니다. 이 악용으로 인해 공격자는 약 370,000달러의 이익을 얻었고 [bZx](https://iq.wiki/wiki/bzx) 대출 풀 내에서 약 620,000달러의 상당한 자본 손실을 초래했습니다.[\[3\]](#cite-id-nlqez4qx647)
