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

[블록체인 보안] 스마트컨트랙트 취약성 (예측가능한 무작위성 취약점)

by Danny_Kim 2023. 8. 24.

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

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

 

 

블록 해시, 블록 번호, 블록 타임스탬프 및 기타 필드와 같은 전역변수의 사용은 안전하지 않으며, 마이너와 공격자가 이를 제어할 수 있음

 

시나리오

GuessTheRandomNumber는 블록해시와 타임스탬프에서 생성된 유사한 무작위 숫자를 맞춘다면 1 이더를 얻을 수 있는 게임

처음에는 올바른 숫자를 맞추는 것은 불가능한 것처럼 보임

  1. 엘리스가 1 이더와 함께 GuessTheRandomNumber를 배포함
  2. 이브가 Attack을 배포함
  3. 이브가 Attack.attack()를 호출하고 1 이더를 획득함

개선방안

blockhash block.timestamp 무작위성의 소스로 사용하지 말것

 

테스트 소스

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

 

취약성 코드

 

테스트.

 

참고문서

https://web3sec.notion.site/Randomness-c4c2719e6ab04040b50e2b0900da56a6

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

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

댓글