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

[블록체인 보안] 스마트컨트랙트 취약성(signature replay)

by Danny_Kim 2023. 8. 24.

🔑 코인 투자 추천 링크 🔑

  1. 비트코인, 알트코인 투자 노하우 모두 공개
  2. OKX 거래소 - 20% 수수료 할인
  3. 플립스터 거래소 - USDT 15% 이자
  4. 해시키 거래소 - HSK 에어드랍

 

서명 재생 취약점

 

앨리스는 밥이 앨리스의 계정에서 밥의 계정으로 토큰을 전송할 수 있도록 트랜잭션에 서명함

밥은 이 서명을 여러 계약(이 경우 TokenWhale 및 SixEyeToken계약)에 반복해서 사용함

매번 앨리스의 계정에서 자신의 계정으로 토큰을 전송하도록 승인함

계약이 트랜잭션에 대한 서명 및 확인을 위해 동일한 방법을 사용하지만 리플레이 공격을 방지하기 위해 nonce를 공유하지 않기 때문에 가능함.

서명 재생 공격에 대한 보호가 누락되면, 동일한 서명을 여러 번 사용하여 함수를 실행할 수 있음

 

개선

서명 확인 프로세스에 nonce 도입하여 번만 사용되는 번호를 사용함으로써 리플레이 공격을 방지할 있음.

 

테스트소스

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

 

 

서명 replay 부분

 

테스트

 

참고문서

https://web3sec.notion.site/Signature-replay-337cceadc6cb4a44ac8ca745e792d8ef

🔑 코인 투자 추천 링크 🔑

  1. 비트코인, 알트코인 투자 노하우 모두 공개
  2. OKX 거래소 - 20% 수수료 할인
  3. 플립스터 거래소 - USDT 15% 이자
  4. 해시키 거래소 - HSK 에어드랍

댓글