-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
재진입 공격이란 무엇이며 스마트 계약이 이를 어떻게 방어할 수 있나요?
Re-entrancy attacks exploit unchecked external calls in smart contracts, allowing attackers to recursively withdraw funds before state updates, as seen in the $60M DAO hack.
2025/11/13 03:40
스마트 계약의 재진입 공격 이해
1. 재진입 공격은 초기 실행이 완료되기 전에 악의적인 계약이 다른 계약의 취약한 기능을 반복적으로 호출할 때 발생합니다. 이 공격은 상태 변경 및 외부 호출이 실행되는 순서를 활용합니다.
2. 가장 악명 높은 사례는 2016년 DAO 해킹입니다. 공격자는 Ether를 보내기 전에 잔액을 업데이트하지 못한 계약에서 반복적으로 자금을 인출하여 6천만 달러 이상을 유출했습니다.
3. 이러한 공격은 일반적으로 중요한 상태 변수를 일관되지 않은 상태로 유지하면서 신뢰할 수 없는 계약에 대한 외부 호출을 수행하는 기능을 표적으로 삼습니다.
4. 재귀 호출 중에 공격자의 대체 또는 수신 기능은 동일한 철회 논리를 다시 트리거하여 액세스 제어 또는 잔액 확인을 효과적으로 우회합니다.
5. 핵심 취약점은 실행 중 조작을 방지하기 위해 상태 수정이 항상 외부 호출보다 선행되어야 하는 검사 효과 상호 작용 패턴을 위반하는 데 있습니다.
Solidity의 일반적인 취약한 패턴
1. 먼저 내부 계정을 업데이트하지 않고 사용자가 제어하는 주소로 이더리움이나 토큰을 보내는 기능은 재진입의 주요 대상입니다.
2. 기본 Ether 전송을 통한 호출 과 같은 낮은 수준의 호출을 사용하는 계약은 남은 모든 가스를 전달하고 복잡한 콜백 논리를 활성화하므로 특히 위험합니다.
3. 호출 자체가 재귀적 항목을 트리거하면 호출 후 검증에 의존하는 논리가 실패하여 손상이 완료될 때까지 해당 검사가 효과가 없게 됩니다.
4. 하위 계약이 안전해 보이더라도 상위 계약이 적절한 보호를 시행하지 않으면 상속 구조가 의도치 않게 기능을 노출할 수 있습니다.
5. 대리자 호출 메커니즘이 공유 저장소 레이아웃을 통해 상태 손상을 허용하는 경우 라이브러리 또는 프록시 패턴이 취약점을 전파할 수 있습니다.
효과적인 방어 메커니즘
1. 검사-효과-상호작용 패턴을 엄격하게 구현합니다. 항상 입력의 유효성을 검사하고 상태 변수를 업데이트한 다음 외부 호출을 진행합니다.
2. 재귀 항목을 차단하기 위해 뮤텍스 잠금을 사용하는 OpenZeppelin의 ReentrancyGuard와 같은 기존 라이브러리의 재진입 가드를 사용합니다.
3. 통화 대신 이체 또는 전송을 통해 자금을 이체하는 것을 선호합니다. 이러한 방법은 가스 전달을 제한하고 공격 표면을 줄입니다.
4. 자동으로 자금을 발송하는 대신 사용자가 자금을 청구하는 풀오버-푸시 결제 모델을 채택하여 아웃바운드 통화 위험을 제거합니다.
5. 개발 중에 엄격한 정적 분석 도구와 공식 검증을 적용하여 배포 전에 잠재적인 재귀 경로를 감지합니다.
자주 묻는 질문
재진입 시나리오에서 대체 기능이 위험한 이유는 무엇입니까? 호출 계약의 비즈니스 기능을 다시 호출하는 논리가 포함된 대체 함수는 위험해집니다. 외부 호출을 하기 전에 원래 계약이 상태를 업데이트하지 않은 경우 이 재귀 트리거는 오래된 잔액이나 권한을 이용할 수 있습니다.
여러 계약 상호 작용에서 재진입이 발생할 수 있습니까? 예, 동일한 계약 내의 여러 기능이 적절한 동기화 없이 공유 상태에 액세스하는 경우 기능 간 재진입이 가능합니다. 공격자는 외부에서 호출하는 하나의 함수를 트리거한 다음 상태 업데이트가 발생하기 전에 폴백을 사용하여 두 번째 취약한 함수에 들어갈 수 있습니다.
비Ether 계약은 재진입에 영향을 받지 않나요? 아니요, ERC-20 전송을 처리하는 토큰 계약도 활용될 수 있습니다. 토큰 전송이 수신자 후크(예: 승인 + 콜백)를 트리거하고 수신 계약이 전송 중간에 발신자의 상태를 조작하는 경우 유사한 재귀적 공격이 나타납니다.
컴파일러 업그레이드는 재진입을 완화하는 데 어떻게 도움이 됩니까? 최신 버전의 Solidity에는 알려진 안티 패턴에 대한 더 안전한 기본값과 경고가 포함되어 있습니다. 예를 들어, 명시적인 가시성 지정자와 개선된 가스비 규칙은 의도하지 않은 동작을 줄입니다. 그러나 컴파일러 기능만으로는 아키텍처 규율이 필요한 논리적 결함을 제거할 수 없습니다.
부인 성명:info@kdj.com
제공된 정보는 거래 조언이 아닙니다. kdj.com은 이 기사에 제공된 정보를 기반으로 이루어진 투자에 대해 어떠한 책임도 지지 않습니다. 암호화폐는 변동성이 매우 높으므로 철저한 조사 후 신중하게 투자하는 것이 좋습니다!
본 웹사이트에 사용된 내용이 귀하의 저작권을 침해한다고 판단되는 경우, 즉시 당사(info@kdj.com)로 연락주시면 즉시 삭제하도록 하겠습니다.
- Bitcoin, eCash Fork 및 Airdrop Dynamics: 암호화폐의 최신 논란에 대한 심층 분석
- 2026-05-03 12:55:01
- 2026년 마이애미 컨센서스: Web3, 블록체인, 암호화폐, NFT, 메타버스, 컨퍼런스, 5월 5일 — 월스트리트가 디지털 프론티어를 만나는 곳
- 2026-05-02 12:45:01
- 연준은 금리를 안정적으로 유지하여 지정학적 긴장 속에서 비트코인 가격 하락을 촉발했습니다
- 2026-05-01 06:45:01
- 비트코인 채굴자들이 전력망을 전기화하다: 오하이오 가스 공장 인수로 디지털 금의 새로운 시대가 열리다
- 2026-05-01 00:45:01
- MegaETH의 MEGA 토큰이 빅 애플을 강타했습니다: 실시간 블록체인을 위한 새로운 성능 벤치마크 설정
- 2026-05-01 00:55:01
- 솔라나의 미끄러운 경사: 가격 예측은 저항 손실 및 추가 하락 가능성을 지적합니다.
- 2026-05-01 06:45:01
관련 지식
모듈형 블록체인이란 무엇이며 차세대 빅 트렌드인 이유는 무엇입니까?
2026-06-20 02:19:37
시장 변동성 패턴 1. Bitcoin 가격 변동은 거시경제적 불확실성 기간 동안 단일 거래 세션 내에서 5%를 초과하는 경우가 많습니다. 2. 약세장 단계에서 BTC와 알트코인의 상관관계는 0.85 이상으로 상승하며 이는 독립적인 가격 조치가 감소했음을 나타냅니다. 3...
계정 추상화란 무엇이며 Web3에 왜 중요한가요?
2026-06-17 14:39:56
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...
영지식 증명이란 무엇이며 개인 정보를 어떻게 보호합니까?
2026-06-17 12:59:37
시장 변동성 패턴 1. Bitcoin 유동성이 낮은 기간에는 단일 거래 세션 내에서 가격 변동이 5%를 초과하는 경우가 많습니다. 2. BTC와의 알트코인 상관관계는 지난 18개월 동안 평균 0.85 이상을 기록했는데, 이는 Bitcoin의 방향성에 대한 강한 의존성을...
zk-Rollup은 무엇이며 왜 모두가 그것에 대해 이야기하고 있습니까?
2026-06-25 06:39:37
시장 변동성 패턴 1. Bitcoin의 가격 변동은 ETF 유입 보고서 또는 거시경제 데이터 발표와 같은 유동성이 높은 이벤트 중에 5%를 초과하는 급격한 장중 변동을 보이는 경우가 많습니다. 2. BTC와 알트코인의 상관관계는 지난 2년 동안 강화되었으며, 상위 50...
Chainlink란 무엇이며 블록체인 오라클은 어떻게 작동합니까?
2026-06-19 13:00:17
시장 변동성 패턴 1. Bitcoin 및 이더리움을 포함한 주요 암호화폐에서 24시간 이내에 15%를 초과하는 가격 변동이 정기적으로 발생합니다. 2. 아시아 거래 시간 중 유동성 격차로 인해 무기한 스왑 시장에서 연쇄 청산이 발생하는 경우가 많습니다. 3. 1,000...
블록체인에서 오라클이란 무엇이며 왜 필요한가요?
2026-06-21 19:39:38
정의 및 핵심 기능 1. 블록체인의 오라클은 분산 네트워크에서 작동하는 스마트 계약에 외부 데이터를 제공하는 신뢰할 수 있는 제3자 서비스입니다. 2. 블록체인 가상 머신의 결정적이고 격리된 실행 환경으로 인해 스마트 계약은 가격 피드, 일기예보, API 응답과 같은 ...
모듈형 블록체인이란 무엇이며 차세대 빅 트렌드인 이유는 무엇입니까?
2026-06-20 02:19:37
시장 변동성 패턴 1. Bitcoin 가격 변동은 거시경제적 불확실성 기간 동안 단일 거래 세션 내에서 5%를 초과하는 경우가 많습니다. 2. 약세장 단계에서 BTC와 알트코인의 상관관계는 0.85 이상으로 상승하며 이는 독립적인 가격 조치가 감소했음을 나타냅니다. 3...
계정 추상화란 무엇이며 Web3에 왜 중요한가요?
2026-06-17 14:39:56
Bitcoin 반감기 메커니즘 1. Bitcoin의 프로토콜은 약 210,000블록마다 블록 보상이 절반으로 줄어드는 고정된 발행 일정을 시행합니다. 2. 이 이벤트는 대략 4년마다 발생하며 블록당 유통되는 새로운 BTC의 수를 직접적으로 줄입니다. 3. 채굴자는 20...
영지식 증명이란 무엇이며 개인 정보를 어떻게 보호합니까?
2026-06-17 12:59:37
시장 변동성 패턴 1. Bitcoin 유동성이 낮은 기간에는 단일 거래 세션 내에서 가격 변동이 5%를 초과하는 경우가 많습니다. 2. BTC와의 알트코인 상관관계는 지난 18개월 동안 평균 0.85 이상을 기록했는데, 이는 Bitcoin의 방향성에 대한 강한 의존성을...
zk-Rollup은 무엇이며 왜 모두가 그것에 대해 이야기하고 있습니까?
2026-06-25 06:39:37
시장 변동성 패턴 1. Bitcoin의 가격 변동은 ETF 유입 보고서 또는 거시경제 데이터 발표와 같은 유동성이 높은 이벤트 중에 5%를 초과하는 급격한 장중 변동을 보이는 경우가 많습니다. 2. BTC와 알트코인의 상관관계는 지난 2년 동안 강화되었으며, 상위 50...
Chainlink란 무엇이며 블록체인 오라클은 어떻게 작동합니까?
2026-06-19 13:00:17
시장 변동성 패턴 1. Bitcoin 및 이더리움을 포함한 주요 암호화폐에서 24시간 이내에 15%를 초과하는 가격 변동이 정기적으로 발생합니다. 2. 아시아 거래 시간 중 유동성 격차로 인해 무기한 스왑 시장에서 연쇄 청산이 발생하는 경우가 많습니다. 3. 1,000...
블록체인에서 오라클이란 무엇이며 왜 필요한가요?
2026-06-21 19:39:38
정의 및 핵심 기능 1. 블록체인의 오라클은 분산 네트워크에서 작동하는 스마트 계약에 외부 데이터를 제공하는 신뢰할 수 있는 제3자 서비스입니다. 2. 블록체인 가상 머신의 결정적이고 격리된 실행 환경으로 인해 스마트 계약은 가격 피드, 일기예보, API 응답과 같은 ...
모든 기사 보기














