시가총액: $2.6304T -1.38%
거래량(24시간): $85.1349B -1.73%
공포와 탐욕 지수:

67 - 탐욕

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

언어 선택

언어 선택

통화 선택

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

재진입 공격이란 무엇이며 스마트 계약 취약점을 어떻게 악용합니까?

Re-entrancy attacks exploit poorly ordered state changes in smart contracts, allowing hackers to recursively withdraw funds before balances update.

2025/11/12 19:59

스마트 계약의 재진입 공격 이해

1. 재진입 공격은 블록체인 플랫폼, 특히 이더리움 기반의 스마트 계약을 표적으로 삼는 중요한 보안 취약점입니다. 이 악용은 초기 실행이 완료되기 전에 악의적인 계약이 피해자 계약을 반복적으로 호출할 때 발생합니다. 공격자는 상태 변경 및 외부 호출이 실행되는 순서를 이용합니다.

2. 일반적인 시나리오에서 취약한 계약은 내부 잔액이나 상태를 업데이트하기 전에 외부 주소로 자금을 보냅니다. 공격자가 제어하는 ​​수신 계약에는 피해자의 출금 또는 이체 기능에 대한 또 다른 호출을 자동으로 트리거하는 폴백 기능이 포함되어 있습니다. 상태가 아직 업데이트되지 않았기 때문에 시스템은 여전히 ​​자금이 사용 가능하다고 믿고 반복적인 인출을 허용합니다.

3. 이 결함의 가장 악명 높은 사례 중 하나는 2016년 DAO 해킹으로, 재진입 공격을 통해 6천만 달러 상당의 Ether가 유출되었습니다. 분산형 자율 조직의 스마트 계약은 적절한 보호 장치 없이 반복적인 호출을 허용하여 막대한 금전적 손실을 초래하고 궁극적으로 논란의 여지가 있는 이더리움 블록체인의 하드 포크를 초래했습니다.

4. 이러한 공격은 외부 함수 호출이 신뢰할 수 없는 계약의 코드를 호출할 수 있다는 사실을 기반으로 합니다. 호출 계약이 외부 상호 작용 전에 상태 변경이 발생하는 '검사-효과-상호 작용' 패턴을 따르지 않으면 악용할 수 있는 창이 활짝 열립니다. 이 설계 원칙은 이제 안전한 스마트 계약 개발에 필수적인 것으로 간주됩니다.

5. 최신 개발 프레임워크와 감사 도구는 컴파일 또는 테스트 단계에서 이러한 취약점을 감지하도록 발전했습니다. Slither 및 MythX와 같은 정적 분석 도구는 제어 흐름을 매핑하고 안전하지 않은 외부 호출에 플래그를 지정하여 재진입에 취약한 기능을 식별할 수 있습니다.

착취의 일반적인 벡터

1. 기본 벡터에는 알 수 없는 주소에 대한 외부 호출을 수행하는 지불 기능을 이용하는 것이 포함됩니다. 이러한 기능이 Ether를 보내기 전에 잔액이나 플래그를 업데이트하지 못하면 재귀적 입력을 위한 구멍이 생성됩니다. 공격자는 대상 기능에 다시 들어가도록 특별히 설계된 악의적인 대체 논리를 사용하여 계약을 작성합니다.

2. 또 다른 방법은 탈중앙화금융(DeFi) 프로토콜의 플래시론을 이용해 피해를 증폭시키는 것이다. 공격자는 담보 없이 대량의 토큰을 빌려 계약 조건을 조작하고 단일 거래 내에서 재진입 루프를 실행합니다. 모든 일이 원자적으로 발생하기 때문에 대출금은 상환되고 이익은 그대로 유지됩니다.

3. 일부 변형은 동일한 계약 내의 여러 기능을 대상으로 합니다. 예를 들어 두 개의 개별 함수가 공유 상태에 액세스하지만 뮤텍스 잠금이나 재진입 가드를 사용하지 않는 경우 공격자는 실행 중에 두 함수 사이를 이동할 수 있습니다. 이러한 교차 기능 재진입은 개별 진입점에만 초점을 맞춘 단순한 보호를 우회합니다.

4. 라이브러리와 프록시 패턴으로 인해 복잡성이 더해집니다. 업그레이드 가능한 계약이 호출을 안전하지 않게 위임하거나 구현 전반에 걸쳐 재진입 가드를 적절하게 초기화하지 못하는 경우 레거시 취약점은 업데이트 후에도 지속될 수 있습니다. 따라서 철저한 회귀 테스트가 중요합니다.

5. 오라클과 외부 데이터 소스는 특정 시장 상황에서 재진입 행동을 유발하기 위해 간접적으로 조작될 수도 있습니다. 직접적인 벡터는 아니지만 자금 분배 논리와의 통합은 열악한 상태 관리와 결합될 때 공격 표면을 증가시킵니다.

재진입에 대한 방어 전략

1. 확인-효과-상호작용 패턴을 구현하면 모든 상태 수정이 외부 호출 전에 발생하도록 보장됩니다. 이는 공격자가 의존하는 경쟁 조건을 제거합니다. 개발자는 자산 전송을 처리하는 모든 기능에서 논리적 흐름 규율을 우선시해야 합니다.

2. OpenZeppelin의 ReentrancyGuard 와 같은 재진입 가드 수정자를 사용하면 이미 실행 중인 함수가 다시 입력되는 것을 방지하는 잠금 메커니즘이 도입됩니다. 이러한 잠금은 일반적으로 시작 시 설정되고 민감한 작업이 끝나면 지워지는 부울 플래그를 기반으로 합니다.

3. 외부 통화 중에 전달되는 가스를 제한하면 악의적인 폴백 기능이 추가 상호 작용을 수행하는 것을 차단할 수 있습니다. 가스를 2300개 단위(기본 로깅에만 충분한 양)로 제한함으로써 호출 계약은 복잡한 재진입 논리가 성공적으로 실행되는 것을 방지합니다.

4. 자동화된 도구와 수동 검토 프로세스를 모두 사용하는 정기 감사는 개발 중에 놓친 극단적 사례를 포착하는 데 도움이 됩니다. 동료 검토 및 공식 검증 방법은 특히 수백만 달러의 자산을 관리하는 고가치 DeFi 애플리케이션에 대해 보증 계층을 추가합니다.

5. 사용자 정의 하위 수준 함수를 작성하는 대신 잘 테스트된 라이브러리를 채택하면 미묘한 버그가 발생할 위험이 줄어듭니다. 신뢰할 수 있는 오픈 소스 구성 요소는 커뮤니티의 지속적인 조사를 거치므로 감독되기 쉬운 맞춤형 솔루션보다 더 안정적입니다.

자주 묻는 질문

재진입 공격에서 대체 기능은 어떤 역할을 합니까? 폴백 기능은 특정 기능을 지정하지 않고 컨트랙트가 Ether를 수신하면 자동으로 실행됩니다. 공격 시 이 함수에는 피해자 계약의 철회 방법을 즉시 다시 호출하여 상태 업데이트가 발생하기 전에 재귀를 가능하게 하는 악성 코드가 포함되어 있습니다.

이더리움이 아닌 블록체인에서도 재진입이 발생할 수 있나요? 예, 외부 호출 및 변경 가능한 상태로 스마트 계약을 지원하는 모든 블록체인은 잠재적으로 취약합니다. Binance Smart Chain, Polygon 및 Avalanche와 같은 네트워크는 개발자가 보안 조치를 새로운 환경에 적용하지 않고 계약을 포팅할 때 유사한 악용을 목격했습니다.

표준 양식 외에 다양한 재입국 유형이 있나요? 예, 변형에는 한 기능이 다른 기능을 통해 입력되는 교차 기능 재진입과 중간 상태 확인 없이 루프에서 수신자 배열이 지불되는 일괄 처리 공격이 포함됩니다. 각각에는 맞춤형 완화 전략이 필요합니다.

플래시론은 어떻게 재진입 공격을 가능하게 합니까? 플래시 대출을 사용하면 공격자는 단일 거래 내에서 일시적으로 큰 금액을 빌릴 수 있습니다. 이들은 이러한 자금을 사용하여 지불 조건 트리거와 같은 계약 동작에 영향을 미치고 대출금을 상환하기 전에 재진입 루프를 실행하여 도난당한 자산을 실패한 거래 범위 외부에 유지합니다.

부인 성명:info@kdj.com

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

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

관련 지식

DAI란 무엇이며 USDT와 어떻게 다른가요?

DAI란 무엇이며 USDT와 어떻게 다른가요?

2026-09-08 17:00:22

시장 변동성 패턴 1. 24시간 이내에 15%를 초과하는 가격 변동은 2021년 이후 Bitcoin 거래일의 68% 이상에서 발생했습니다. 2. 이더리움은 유동성이 낮은 기간, 특히 UTC 02:00에서 06:00 사이에 Bitcoin보다 더 높은 일중 변동성을 보여주...

스테이블코인이 1달러 페그를 잃을 수 있는 이유는 무엇입니까?

스테이블코인이 1달러 페그를 잃을 수 있는 이유는 무엇입니까?

2026-09-08 02:00:03

준비금 구성 및 투명성 격차 1. 많은 스테이블코인이 현금이나 단기 미국 국채로 완전히 뒷받침된다고 주장하지만 준비금 공개에는 실시간 확인 메커니즘이 부족한 경우가 많습니다. 2. 제3자 증명은 분기별로만 이루어질 수 있으므로 자산-부채 구조 불일치가 감지되지 않는 확...

암호화폐에서 자기 양육권이란 무엇이며 왜 중요한가요?

암호화폐에서 자기 양육권이란 무엇이며 왜 중요한가요?

2026-09-10 04:19:32

정의 및 핵심 메커니즘 1. 자기 관리는 개인이 해당 권한을 제3자 서비스에 위임하지 않고 개인 키에 대한 완전한 통제권을 유지하는 관행을 의미합니다. 2. 자체 관리형 지갑은 서버에 자산을 보관하지 않습니다. 대신 로컬에 저장된 암호화 키를 사용하여 블록체인 네트워크...

라이트닝 네트워크란 무엇입니까? Bitcoin 트랜잭션을 어떻게 더 빠르게 할 수 있나요?

라이트닝 네트워크란 무엇입니까? Bitcoin 트랜잭션을 어떻게 더 빠르게 할 수 있나요?

2026-09-08 07:00:16

라이트닝 네트워크의 핵심 아키텍처 1. 라이트닝 네트워크는 Bitcoin의 블록체인 위에 직접 구축된 2차 계층 프로토콜로 작동하며, 새로운 합의 규칙을 도입하지 않고 Bitcoin의 암호화 보안 모델에 전적으로 의존합니다. 2. 2/2 다중 서명 주소를 사용하여 참가...

암호화 오라클이란 무엇입니까? 블록체인은 어떻게 실제 데이터를 얻나요?

암호화 오라클이란 무엇입니까? 블록체인은 어떻게 실제 데이터를 얻나요?

2026-09-08 19:20:07

정의 및 핵심 기능 1. 암호화 오라클은 블록체인 네트워크와 외부 데이터 소스 사이의 다리 역할을 하는 신뢰할 수 있는 제3자 서비스입니다. 2. 가격 피드, 스포츠 점수, 기상 조건, API 응답 등 오프체인 정보를 가져와 검증하고 온체인에 배포된 스마트 계약에 전달...

Bitcoin vs 라이트코인: 주요 차이점은 무엇인가요?

Bitcoin vs 라이트코인: 주요 차이점은 무엇인가요?

2026-09-08 20:20:11

창세기와 기초 아키텍처 1. Bitcoin은 SHA-256 해싱 알고리즘을 사용하는 작업 증명 합의 메커니즘을 기반으로 구축된 최초의 분산형 암호화폐로 2009년에 등장했습니다. 2. 라이트코인은 2011년 Bitcoin 오픈 소스 코드베이스의 직접 포크로 출시되었지만...

DAI란 무엇이며 USDT와 어떻게 다른가요?

DAI란 무엇이며 USDT와 어떻게 다른가요?

2026-09-08 17:00:22

시장 변동성 패턴 1. 24시간 이내에 15%를 초과하는 가격 변동은 2021년 이후 Bitcoin 거래일의 68% 이상에서 발생했습니다. 2. 이더리움은 유동성이 낮은 기간, 특히 UTC 02:00에서 06:00 사이에 Bitcoin보다 더 높은 일중 변동성을 보여주...

스테이블코인이 1달러 페그를 잃을 수 있는 이유는 무엇입니까?

스테이블코인이 1달러 페그를 잃을 수 있는 이유는 무엇입니까?

2026-09-08 02:00:03

준비금 구성 및 투명성 격차 1. 많은 스테이블코인이 현금이나 단기 미국 국채로 완전히 뒷받침된다고 주장하지만 준비금 공개에는 실시간 확인 메커니즘이 부족한 경우가 많습니다. 2. 제3자 증명은 분기별로만 이루어질 수 있으므로 자산-부채 구조 불일치가 감지되지 않는 확...

암호화폐에서 자기 양육권이란 무엇이며 왜 중요한가요?

암호화폐에서 자기 양육권이란 무엇이며 왜 중요한가요?

2026-09-10 04:19:32

정의 및 핵심 메커니즘 1. 자기 관리는 개인이 해당 권한을 제3자 서비스에 위임하지 않고 개인 키에 대한 완전한 통제권을 유지하는 관행을 의미합니다. 2. 자체 관리형 지갑은 서버에 자산을 보관하지 않습니다. 대신 로컬에 저장된 암호화 키를 사용하여 블록체인 네트워크...

라이트닝 네트워크란 무엇입니까? Bitcoin 트랜잭션을 어떻게 더 빠르게 할 수 있나요?

라이트닝 네트워크란 무엇입니까? Bitcoin 트랜잭션을 어떻게 더 빠르게 할 수 있나요?

2026-09-08 07:00:16

라이트닝 네트워크의 핵심 아키텍처 1. 라이트닝 네트워크는 Bitcoin의 블록체인 위에 직접 구축된 2차 계층 프로토콜로 작동하며, 새로운 합의 규칙을 도입하지 않고 Bitcoin의 암호화 보안 모델에 전적으로 의존합니다. 2. 2/2 다중 서명 주소를 사용하여 참가...

암호화 오라클이란 무엇입니까? 블록체인은 어떻게 실제 데이터를 얻나요?

암호화 오라클이란 무엇입니까? 블록체인은 어떻게 실제 데이터를 얻나요?

2026-09-08 19:20:07

정의 및 핵심 기능 1. 암호화 오라클은 블록체인 네트워크와 외부 데이터 소스 사이의 다리 역할을 하는 신뢰할 수 있는 제3자 서비스입니다. 2. 가격 피드, 스포츠 점수, 기상 조건, API 응답 등 오프체인 정보를 가져와 검증하고 온체인에 배포된 스마트 계약에 전달...

Bitcoin vs 라이트코인: 주요 차이점은 무엇인가요?

Bitcoin vs 라이트코인: 주요 차이점은 무엇인가요?

2026-09-08 20:20:11

창세기와 기초 아키텍처 1. Bitcoin은 SHA-256 해싱 알고리즘을 사용하는 작업 증명 합의 메커니즘을 기반으로 구축된 최초의 분산형 암호화폐로 2009년에 등장했습니다. 2. 라이트코인은 2011년 Bitcoin 오픈 소스 코드베이스의 직접 포크로 출시되었지만...

모든 기사 보기

User not found or password invalid

Your input is correct