시가총액: $2.2132T -4.54%
거래량(24시간): $141.5259B 2.50%
공포와 탐욕 지수:

23 - 극도의 공포

  • 시가총액: $2.2132T -4.54%
  • 거래량(24시간): $141.5259B 2.50%
  • 공포와 탐욕 지수:
  • 시가총액: $2.2132T -4.54%
암호화
주제
암호화
소식
cryptostopics
비디오
최고 암호화

언어 선택

언어 선택

통화 선택

암호화
주제
암호화
소식
cryptostopics
비디오

스마트 계약에서 재진입 공격이란 무엇입니까?

Reentrancy attacks exploit Ethereum’s external call mechanism, allowing malicious contracts to recursively drain funds before state updates—famously enabling The DAO hack.

2025/12/24 02:20

재진입 공격 이해

1. 재진입 공격은 초기 실행이 완료되기 전에 악의적인 계약이 다른 계약의 취약한 기능을 반복적으로 호출할 때 발생합니다.

2. 이 익스플로잇은 상태 변경이 완료되기 전에 제어권이 외부 주소로 전송되는 Ethereum 스마트 계약의 외부 호출 메커니즘을 활용합니다.

3. 공격자는 대상의 출금 또는 전송 논리를 재귀적으로 호출하는 폴백 또는 수신 기능이 포함된 계약을 배포합니다.

4. Ethereum은 단일 스레드, 동기 방식으로 호출을 실행하고 기본적으로 원자 상태 업데이트를 적용하지 않기 때문에 콜백 기간 동안 잔액이나 플래그가 변경되지 않을 수 있습니다.

5. 결과적으로, 적절한 확인 없이 동일한 잔고에서 자금이 여러 번 유출될 수 있으며, 이는 시스템의 의도된 경제적 불변성을 위반합니다.

유명한 역사적 사례: DAO 해킹

1. 2016년 6월, The DAO로 알려진 분산형 자율 조직은 당시 가치가 5 천만 달러가 넘는 약 360만 ETH 에 손상되었습니다.

2. 이 취약점은 제안이 통과된 후 사용자가 자신의 지분을 인출할 수 있도록 허용하는 분할 기능에 존재하지만 자금 이체 기여자의 잔액을 업데이트했습니다.

3. 공격자는 잔액 업데이트가 발생하기 전에 분할 함수를 재귀적으로 호출하는 폴백 함수가 포함된 계약을 배포했습니다.

4. 각 재귀 호출은 원래 잔액 값을 읽어 동일한 할당 금액에서 반복적인 인출을 가능하게 합니다.

5. 이 사건으로 인해 이더리움 블록체인의 하드 포크가 발생하여 이더리움과 이더리움 클래식이 두 개의 별도 체인이 되었습니다.

재진입을 가능하게 하는 기술적 조건

1. 신뢰할 수 없는 주소에 대한 외부 호출은 잔액 업데이트 또는 액세스 플래그 전환과 같은 중요한 상태 수정보다 먼저 수행되어야 합니다.

2. 계약은 재진입 가드를 시행하지 않고 소유권이나 자격을 반영하는 변경 가능한 저장 변수에 의존해야 합니다.

3. 잠긴 부울 또는 재진입 수정자를 사용하는 것과 같은 뮤텍스 패턴이 없으면 중첩된 호출 컨텍스트에서 진입점이 보호되지 않습니다.

4. transfer() 또는 send() 와 같은 안전한 대안 대신 call() 과 같은 하위 수준 호출을 사용하면 가스비 제한 및 자동 되돌리기 동작이 부족하여 위험이 증가합니다.

5. 오래되었거나 감사되지 않은 라이브러리에서 상속된 계약은 상속된 재진입 표면이 있는 함수를 의도치 않게 노출할 수 있습니다.

오늘 배포된 완화 전략

1. 검사-효과-상호작용 패턴은 조건 검증, 내부 상태 업데이트 및 외부 호출 수행을 요구합니다.

2. OpenZeppelin의 ReentrancyGuard 와 같은 재진입 가드는 잠긴 부울을 사용하여 활성 실행 중에 함수 재진입을 방지합니다.

3. 원시 call() 대신 transfer() 또는 send() 를 사용하면 2300개 가스 제한이 적용되어 대체 기능이 추가 재진입 호출을 포함한 복잡한 논리를 실행할 수 없게 됩니다.

4. Slither 및 MythX와 같은 정적 분석 도구는 개발 및 CI 파이프라인 중에 잠재적인 재진입 벡터를 감지합니다.

5. Certora 및 KEVM과 같은 공식 검증 프레임워크는 중첩된 외부 호출을 포함한 임의 호출 시퀀스에서 계약 불변성을 검증합니다.

자주 묻는 질문

Q1. 이더리움 이외의 블록체인에서도 재진입 공격이 발생할 수 있나요? A1. 예. BNB 체인, 폴리곤 및 Arbitrum을 포함한 모든 EVM 호환 체인은 계약이 동일한 결함이 있는 상호 작용 패턴을 복제하는 경우 똑같이 취약합니다. 특정 조건에서 솔라나의 프로그램 간 호출과 같이 유사한 외부 호출 의미를 갖는 비 EVM 체인도 유사한 위험에 직면합니다.

Q2. 재진입을 방지하기 위해 require() 문을 사용하는 것이 충분합니까? A2. 아니요. Require 문은 전제 조건을 확인하지만 재진입을 차단하지는 않습니다. 상태가 변경되기 전에 작동하며 외부 호출이 발생한 후에는 후속 콜백을 제한할 수 없습니다.

Q3. 프록시 기반 업그레이드 가능 계약에 추가 재진입 표면이 도입되나요? A3. 예. 구현 계약에 재진입 보호 기능이 부족하고 프록시가 호출 깊이를 가로채거나 확인하지 않고 호출을 전달하는 경우 업그레이드 가능한 패턴은 기존 취약성을 상속하거나 증폭시킬 수 있습니다.

Q4. 플래시론은 악성 계약 없이도 재진입을 유발할 수 있나요? A4. 예. 플래시 대출 지원 공격은 dYdX, Harvest Finance 및 BurgerSwap에 대한 익스플로잇에서 볼 수 있듯이 가격 오라클 조작과 재진입을 결합하여 유동성 풀 또는 대출 프로토콜을 고갈시키는 경우가 많습니다. 모두 중요한 경로 내의 무방비 외부 호출에 의존합니다.

부인 성명:info@kdj.com

제공된 정보는 거래 조언이 아닙니다. kdj.com은 이 기사에 제공된 정보를 기반으로 이루어진 투자에 대해 어떠한 책임도 지지 않습니다. 암호화폐는 변동성이 매우 높으므로 철저한 조사 후 신중하게 투자하는 것이 좋습니다!

본 웹사이트에 사용된 내용이 귀하의 저작권을 침해한다고 판단되는 경우, 즉시 당사(info@kdj.com)로 연락주시면 즉시 삭제하도록 하겠습니다.

관련 지식

암호화폐 에어드랍에 참여하는 방법은 무엇입니까? (무료 토큰)

암호화폐 에어드랍에 참여하는 방법은 무엇입니까? (무료 토큰)

2026-04-11 05:59:35

에어드롭 메커니즘 이해 1. 에어드롭은 특정 온체인 또는 오프체인 행동에 대한 보상을 위해 블록체인 프로젝트에서 시작된 기본 토큰의 프로토콜 수준 배포입니다. 2. 자격은 Ethereum, Base 또는 Solana와 같은 지정된 네트워크에서 지갑 잔액, 거래 내역 또...

실제세계자산(RWA) 토큰화란 무엇입니까? (시장동향)

실제세계자산(RWA) 토큰화란 무엇입니까? (시장동향)

2026-04-10 19:20:06

Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...

암호화폐에서 피싱 사기를 피하는 방법은 무엇입니까? (사이버보안)

암호화폐에서 피싱 사기를 피하는 방법은 무엇입니까? (사이버보안)

2026-04-15 07:00:14

Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...

코인과 토큰의 차이점은 무엇인가요? (자산 유형)

코인과 토큰의 차이점은 무엇인가요? (자산 유형)

2026-04-12 21:40:28

Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 블록 보상이 대략 210,000블록마다 또는 대략 4년마다 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 2024년 4월 반감기 이벤트 이후 현재 블록 보상은 블록당 3.125 BTC입니다. 3. ...

스마트 계약 감사를 확인하는 방법은 무엇입니까? (안전성 검증)

스마트 계약 감사를 확인하는 방법은 무엇입니까? (안전성 검증)

2026-04-11 14:00:26

시장 변동성 패턴 1. Bitcoin 가격 변동은 주요 거시경제 발표가 진행되는 동안 24시간 이내에 15%를 초과하는 경우가 많습니다. 2. 알트코인 지수는 BTC에 비해 더 높은 베타 계수를 보여 유동성 충격 동안 이익과 손실을 모두 증폭시킵니다. 3. 갑작스런 충...

Ledger 하드웨어 지갑을 사용하는 방법은 무엇입니까? (장치 설정)

Ledger 하드웨어 지갑을 사용하는 방법은 무엇입니까? (장치 설정)

2026-04-21 12:40:18

시장 변동성 패턴 1. Bitcoin 가격 변동은 주요 거시경제 발표가 진행되는 동안 24시간 이내에 15%를 초과하는 경우가 많습니다. 2. 약세장 단계에서 BTC가 0.92 이상 급등하면서 알트코인의 상관관계가 독립적인 움직임을 압축합니다. 3. 펀딩율이 3시간 연...

암호화폐 에어드랍에 참여하는 방법은 무엇입니까? (무료 토큰)

암호화폐 에어드랍에 참여하는 방법은 무엇입니까? (무료 토큰)

2026-04-11 05:59:35

에어드롭 메커니즘 이해 1. 에어드롭은 특정 온체인 또는 오프체인 행동에 대한 보상을 위해 블록체인 프로젝트에서 시작된 기본 토큰의 프로토콜 수준 배포입니다. 2. 자격은 Ethereum, Base 또는 Solana와 같은 지정된 네트워크에서 지갑 잔액, 거래 내역 또...

실제세계자산(RWA) 토큰화란 무엇입니까? (시장동향)

실제세계자산(RWA) 토큰화란 무엇입니까? (시장동향)

2026-04-10 19:20:06

Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...

암호화폐에서 피싱 사기를 피하는 방법은 무엇입니까? (사이버보안)

암호화폐에서 피싱 사기를 피하는 방법은 무엇입니까? (사이버보안)

2026-04-15 07:00:14

Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...

코인과 토큰의 차이점은 무엇인가요? (자산 유형)

코인과 토큰의 차이점은 무엇인가요? (자산 유형)

2026-04-12 21:40:28

Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 블록 보상이 대략 210,000블록마다 또는 대략 4년마다 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 2024년 4월 반감기 이벤트 이후 현재 블록 보상은 블록당 3.125 BTC입니다. 3. ...

스마트 계약 감사를 확인하는 방법은 무엇입니까? (안전성 검증)

스마트 계약 감사를 확인하는 방법은 무엇입니까? (안전성 검증)

2026-04-11 14:00:26

시장 변동성 패턴 1. Bitcoin 가격 변동은 주요 거시경제 발표가 진행되는 동안 24시간 이내에 15%를 초과하는 경우가 많습니다. 2. 알트코인 지수는 BTC에 비해 더 높은 베타 계수를 보여 유동성 충격 동안 이익과 손실을 모두 증폭시킵니다. 3. 갑작스런 충...

Ledger 하드웨어 지갑을 사용하는 방법은 무엇입니까? (장치 설정)

Ledger 하드웨어 지갑을 사용하는 방법은 무엇입니까? (장치 설정)

2026-04-21 12:40:18

시장 변동성 패턴 1. Bitcoin 가격 변동은 주요 거시경제 발표가 진행되는 동안 24시간 이내에 15%를 초과하는 경우가 많습니다. 2. 약세장 단계에서 BTC가 0.92 이상 급등하면서 알트코인의 상관관계가 독립적인 움직임을 압축합니다. 3. 펀딩율이 3시간 연...

모든 기사 보기

User not found or password invalid

Your input is correct