본문 바로가기
블록체인교육/블록체인보안

[블록체인 보안] 스마트컨트랙트 취약성(재진입공격)

by Danny_Kim 2023. 8. 24.

🔑 100배 수익 경험자의 노하우가 담긴 치트키 공개 🔑

  1. 네이버, 카카오 임직원들이 듣고 있는 비트코인 강의
  2. 아무도 알려주지 않은 비트코인, 이더리움의 리스크
  3. 블록체인 전문가들도 놓치기 쉬운 비트코인, 이더리움의 핵심 가치
  4. 천배 수익이 가능한 디파이(DeFi), 코인 생태계 지도
  5. 토큰 제작, 1억 연봉의 블록체인 개발자로 거듭나자!
재진입 취약점
EtherStore 재진입 취약점은 스마트계약설계의 결함으로, 공격자가 재진입을 악용하여
EtherStore 계약으로부터 자신이 권한이 있는 금액보다 더 많은 자금을 인출할 수 있는 문제임.
이 취약점은 EtherStore 계약의 withdrawFunds 함수에서 발생함.
여기서 Ether가 공격자 주소로 전송되고 나서 잔액을 업데이트 하기 때문임.
이로 인해 공격자의 계약은 잔액 업데이트 이전에 withdrawfunds 함수로 재진입 호출을 수행할 수 있음.
이로써 여러차례의 인출이 발생하고 EtherSotre 계약에서 모든 Ether가 흡수될 수 있음.

 

시나리오.
EtherStore는 간단한 금고로, 모든 사람의 이더를 관리할 수 있음.
하지만 이는 취약함.

 

보안방법
check-effect-interation을 따르고 openzeppelin reentrancy guard를 사용할것.

 

테스트 소스

https://github.com/SunWeb3Sec/DeFiVulnLabs/blob/main/src/test/Reentrancy.sol

 

재진입 공격 취약코드

 

재진입 공격 테스트

재진입 공격 성공

 

참고

https://web3sec.notion.site/Reentrancy-6eb97f96a3454f6085808c079f922146

🔑 100배 수익 경험자의 노하우가 담긴 치트키 공개 🔑

  1. 네이버, 카카오 임직원들이 듣고 있는 비트코인 강의
  2. 아무도 알려주지 않은 비트코인, 이더리움의 리스크
  3. 블록체인 전문가들도 놓치기 쉬운 비트코인, 이더리움의 핵심 가치
  4. 천배 수익이 가능한 디파이(DeFi), 코인 생태계 지도
  5. 토큰 제작, 1억 연봉의 블록체인 개발자로 거듭나자!

댓글