-
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%
스마트 계약에서 재창조 공격은 무엇입니까?
A reentrancy attack exploits recursive function calls in smart contracts to drain funds, as seen in the infamous DAO hack.
2025/07/15 02:50
스마트 계약의 기본 사항 이해
스마트 계약은 코드에 직접 작성된 용어와 자체 실행 계약입니다. 이더 리움과 같은 블록 체인 플랫폼에서 실행되며 중개자가없는 당사자 간의 계약을 자동으로 시행합니다. 이 계약은 일단 배포되면 불변이 불변이므로 코드에 존재하는 취약점은 배치 후 변경 될 수 없습니다. 이 불변성은 스마트 계약이 생방송 전에 가능한 모든 악용으로부터 안전하도록하는 것이 중요합니다.
그러한 악용 중 하나는 재창조 공격 으로, 암호 화폐 생태계의 상당한 손실을 담당했습니다. 이 취약성이 어떻게 작동하는지 이해하려면 스마트 계약이 기능 통화를 통해 외부 계정 및 기타 계약과 상호 작용하는 방법을 이해해야합니다.
재창조 공격이란 무엇입니까?
재창조 공격은 악성 계약이 초기 실행이 완료되기 전에 다른 계약에서 취약한 기능을 반복적으로 호출 할 때 발생합니다. 이 재귀 행동은 자금을 배출하거나 의도하지 않은 방식으로 상태 변수를 조작 할 수 있습니다.
전형적인 예는 계약 처리 에테르 전송이 포함됩니다. 내부 잔액을 업데이트하기 전에 함수가 외부 주소로 Ether를 보내면 악성 계약은 양도 중에 기능을 다시 입력하고 계약의 자금을 반복적으로 배출 할 수 있습니다. 2016 년 악명 높은 DAO 해킹은 6 천만 달러에 이더 손실을 초래했으며 재창조 취약점의 결과였습니다.
재창조 공격은 실제로 어떻게 작동합니까?
재창조 공격의 메커니즘을 더 잘 이해하려면 다음의 단순화 된 시나리오를 고려하십시오.
- 계약에는 사용자가 입금 된 에테르를 인출 할 수있는
withdraw()기능이 있습니다. - 이 기능은 먼저
call.value()사용하여 Ether를 사용자에게 보낸 다음 사용자의 균형을 0으로 업데이트합니다. - 악성 계약은 사용자로서 자체를 등록하고 대상 계약에 에테르를 입금합니다.
-
withdraw()호출되면 대상 계약은 에테르 전송을 시작합니다. - 양도 중에 악성 계약의 폴백 함수 (자동으로 트리거되는)가
withdraw()다시 호출합니다. - 잔액이 아직 업데이트되지 않았으므로 계약은 사용자가 여전히 자금을 사용할 수 있고 더 많은 에테르를 보냅니다.
- 이 루프는 계약이 배수되거나 가스가 소진 될 때까지 계속됩니다.
이 프로세스는 계약 내 운영 순서를 이용하여, 특히 상태를 업데이트하기 전에 에테르를 전송합니다.
재창조 취약점의 유형
재창조 공격은 계약 논리의 다른 측면을 이용하여 여러 형태로 제공됩니다.
- 단일 기능 재창조 : 단일 함수에 외부 통화 및 상태 변경이 모두 포함 된 경우 발생합니다. 공격자는 주가 업데이트되기 전에 외부 통화 중에 재입국을 유발합니다.
- 교차 기능 재창조 : 여기에서 여러 기능이 상태 변수를 공유합니다. 공격자는 두 번째 기능을 다시 입력 할 수 있고 첫 번째는 여전히 실행 중이며 공유 데이터를 일관성있게 조작합니다.
- DelegateCall Reentrancy :이 고급 변형은
delegatecall메커니즘을 사용하여 다른 계약에서 한 계약에서 코드를 실행합니다. 신중하게 처리하지 않으면 예기치 않은 재창조 시나리오로 이어질 수 있습니다.
각 유형은 착취를 방지하기 위해 신중한 감사 및 특정 완화 전략이 필요합니다.
재창조 공격을 방지하는 방법
재창조 공격 방지에는 계약 설계에 모범 사례를 채택하고 보안 도구를 활용하는 것이 포함됩니다.
- 점검 효과 상호 작용 패턴 사용 : 외부 호출을하기 전에 항상 계약 상태를 업데이트하십시오. 이를 통해 재입국은 기존 잔액이나 상태를 조작 할 수 없습니다.
- Reentrancy Guards 구현 : OpenZeppelin과 같은 라이브러리는 Mutex 변수를 사용하여 재진입 통화를 차단하는 Reentrancy Guard 수정자를 제공합니다.
- 복잡한 외부 통화를 피하십시오 : 알려지지 않았거나 신뢰할 수없는 계약과의 상호 작용을 최소화하십시오. 필요한 경우 콜백이 안전하고 임의 코드를 트리거하지 않도록하십시오.
- 풀 오버 푸시 지불금을 사용하십시오 : 자금을 사용자에게 추진하는 대신 인출을 시작하십시오. 이것은 재귀 배수의 위험을 줄입니다.
- 철저한 감사 수행 : 자동화 된 도구 및 수동 리뷰를 사용하여 코드베이스에서 잠재적 인 재창조 벡터를 감지하십시오.
이러한 전략을 적용함으로써 개발자는 성공적인 재창조 공격의 가능성을 크게 줄일 수 있습니다.
Reentrancy Exploits의 실제 사례
몇 가지 유명한 사건은 재창조 공격의 치명적인 영향을 강조합니다.
- The Dao Hack (2016) : 가장 유명한 사례에는 스마트 계약으로 재귀적인 인출이 허용되는 분산 된 자율 조직이 포함되었습니다. 공격자들은 이것을 수백만 분의 에테르를 배수하기 위해이를 이용했습니다.
- Fusion Network Attack (2021) : 해커는 프로토콜에서 교차 기능 재창조 버그를 이용하여 1,400 만 달러의 손실을 초래했습니다.
- Warp Finance Hack (2021) : 여러 기능에 걸쳐 여러 재창조 포인트가 악용되어 공격자는 거의 800 만 달러의 자산을 배출 할 수있었습니다.
이 예는 코딩 관행을 안전하게 테스트하고 준수하는 엄격한 테스트의 중요성을 강조합니다.
자주 묻는 질문
Q : 비에 테레륨 블록 체인에서 재창조 공격이 발생할 수 있습니까? 예, 재창조 공격은 외부 통화 및 변이 가능한 상태로 스마트 계약을 지원하는 모든 블록 체인 플랫폼에 영향을 줄 수 있습니다. 이더 리움은 가장 두드러진 사례를 보았지만 Binance Smart Chain, Solana 및 기타에는 유사한 취약점이 존재합니다.
Q : 모든 외부 전화가 위험합니까? 아니요. 그러나 외부 통화는주의해서 처리해야합니다. 위험은 중요한 상태 변수를 업데이트하기 전에 만들어 질 때 발생합니다. 적절한 코딩 패턴과 보호 조치는이 위험을 완화 할 수 있습니다.
Q : 재창조 취약점 계약을 어떻게 테스트합니까? Slither 또는 Sicurify와 같은 정적 분석 도구를 사용하고 수동 코드 감사를 수행하며 Brownie 또는 Hardhat과 같은 프레임 워크를 사용하여 공격 시나리오를 시뮬레이션 할 수 있습니다. 재창조 가드를 사용하고 안전한 개발 관행도 도움이됩니다.
Q : 플래시 대출 공격과 재창조 공격의 차이점은 무엇입니까? 두 사람 모두 defi 프로토콜을 이용할 수 있지만, 플래시 대출 공격은 담보없이 많은 양의 자본을 빌려서 동일한 거래 내에서이를 상환하는 데 의존합니다. 재창조 공격은 계약 상태를 조작하기 위해 재귀 적으로 기능을 호출하는 데 중점을 둡니다. 그러나 일부 공격은 두 기술을 결합하여 더 큰 영향을 미칩니다.
부인 성명: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
관련 지식
AVAX 선물 증거금 요건은 어떻게 계산됩니까?
2026-07-23 15:40:03
AVAX 선물 마진 구조 1. AVAX 선물 마진은 개시 증거금과 유지 증거금이라는 두 가지 구성 요소로 구성됩니다. 이는 현재 시장 가격, 변동성, 미결제약정 및 계약 규모를 기반으로 실시간으로 계산됩니다. 2. 초기 마진은 단기(일반적으로 한 거래 세션) 동안 잠재...
ADA 계약 증거금 비율이 경고를 유발하는 이유는 무엇입니까?
2026-07-22 09:00:26
ADA 계약 마진율 메커니즘 1. 주요 거래소의 ADA 무기한 계약은 포지션 규모, 레버리지 수준, 현재 시장 평균 가격을 기준으로 실시간으로 계산되는 동적 마진 비율을 사용합니다. 2. 마진 비율은 (지갑 잔액 + 미실현 손익)을 유지 마진 요건으로 나눈 값이며 백분...
ADAUSDT 무기한 계약 자금 조달 비율은 무엇입니까?
2026-07-24 20:19:46
ADAUSDT 무기한 계약 자금 조달 비율의 정의 및 목적 1. ADAUSDT 무기한 계약 자금 조달 요율은 주요 암호화폐 거래소의 테더(USDT) 파생 포지션에 대해 카르다노(ADA)에 적용되는 정기 수수료 교환 메커니즘입니다. 2. 가격 고정 도구 역할을 하여 AD...
TON 무기한 거래에는 어느 정도의 레버리지가 권장됩니까?
2026-07-27 17:20:10
TON 무기한 거래 메커니즘 1. TON 무기한 계약은 다양한 마진 모델을 갖춘 분산형 및 중앙형 거래소에서 운영됩니다. 2. 펀딩 요율은 시간별로 계산되며 현물 가격과 영구 가격 간의 기준에 따라 달라지며 장/단기 비용 역학에 영향을 미칩니다. 3. 유지 증거금이 거...
TON 선물 청산 가격 공식은 무엇입니까?
2026-07-23 09:19:45
TON 선물 청산 메커니즘 1. TON 선물의 청산은 거래자의 마진 잔액이 거래소에서 정한 유지 마진 요건 미만으로 떨어질 때 발생합니다. 2. 마진 비율이 (사용 가능한 마진 / 필수 마진) × 100%로 계산된 100% 이하로 떨어지면 시스템이 자동으로 강제 청산을...
TONUSDT 무기한 계약 펀딩 비율이란 무엇입니까?
2026-07-27 02:39:50
정의 및 핵심 메커니즘 1. TONUSDT 무기한 계약 자금 조달 요율은 주요 암호화폐 거래소에서 거래되는 TON/USDT 무기한 선물에만 적용되는 정기 수수료 교환 메커니즘입니다. 2. 가격 고정 도구 역할을 하여 TONUSDT 영구 시장 가격과 기본 TON/USDT...
AVAX 선물 증거금 요건은 어떻게 계산됩니까?
2026-07-23 15:40:03
AVAX 선물 마진 구조 1. AVAX 선물 마진은 개시 증거금과 유지 증거금이라는 두 가지 구성 요소로 구성됩니다. 이는 현재 시장 가격, 변동성, 미결제약정 및 계약 규모를 기반으로 실시간으로 계산됩니다. 2. 초기 마진은 단기(일반적으로 한 거래 세션) 동안 잠재...
ADA 계약 증거금 비율이 경고를 유발하는 이유는 무엇입니까?
2026-07-22 09:00:26
ADA 계약 마진율 메커니즘 1. 주요 거래소의 ADA 무기한 계약은 포지션 규모, 레버리지 수준, 현재 시장 평균 가격을 기준으로 실시간으로 계산되는 동적 마진 비율을 사용합니다. 2. 마진 비율은 (지갑 잔액 + 미실현 손익)을 유지 마진 요건으로 나눈 값이며 백분...
ADAUSDT 무기한 계약 자금 조달 비율은 무엇입니까?
2026-07-24 20:19:46
ADAUSDT 무기한 계약 자금 조달 비율의 정의 및 목적 1. ADAUSDT 무기한 계약 자금 조달 요율은 주요 암호화폐 거래소의 테더(USDT) 파생 포지션에 대해 카르다노(ADA)에 적용되는 정기 수수료 교환 메커니즘입니다. 2. 가격 고정 도구 역할을 하여 AD...
TON 무기한 거래에는 어느 정도의 레버리지가 권장됩니까?
2026-07-27 17:20:10
TON 무기한 거래 메커니즘 1. TON 무기한 계약은 다양한 마진 모델을 갖춘 분산형 및 중앙형 거래소에서 운영됩니다. 2. 펀딩 요율은 시간별로 계산되며 현물 가격과 영구 가격 간의 기준에 따라 달라지며 장/단기 비용 역학에 영향을 미칩니다. 3. 유지 증거금이 거...
TON 선물 청산 가격 공식은 무엇입니까?
2026-07-23 09:19:45
TON 선물 청산 메커니즘 1. TON 선물의 청산은 거래자의 마진 잔액이 거래소에서 정한 유지 마진 요건 미만으로 떨어질 때 발생합니다. 2. 마진 비율이 (사용 가능한 마진 / 필수 마진) × 100%로 계산된 100% 이하로 떨어지면 시스템이 자동으로 강제 청산을...
TONUSDT 무기한 계약 펀딩 비율이란 무엇입니까?
2026-07-27 02:39:50
정의 및 핵심 메커니즘 1. TONUSDT 무기한 계약 자금 조달 요율은 주요 암호화폐 거래소에서 거래되는 TON/USDT 무기한 선물에만 적용되는 정기 수수료 교환 메커니즘입니다. 2. 가격 고정 도구 역할을 하여 TONUSDT 영구 시장 가격과 기본 TON/USDT...
모든 기사 보기














