Skip to main content
QUICK REVIEW

[논문 리뷰] Detecting Standard Violation Errors in Smart Contracts

Ao Li, Fan Long|arXiv (Cornell University)|2018. 12. 18.
Blockchain Technology Applications and Security참고 문헌 17인용 수 9
한 줄 요약

Solar는 이더리움 스마트 컨트랙트의 기술 표준(예: ERC-20 및 ERC-721) 준수 여부를 검증함으로써 표준 위반 오류를 탐지하는 기호 실행 도구이다. 이 도구는 EVM 바이트코드를 분석하고, 사용자가 정의한 인variant를 위반할 수 있는지 SMT 솔버를 사용해 검사하며, 소스 코드 접근 없이도 197개 컨트랙트에서 255개의 제로데이 오류를 발견했고, 거짓 경고는 단 세 건에 불과했다.

ABSTRACT

We present SOLAR, a new analysis tool for automatically detecting standard violation errors in Ethereum smart contracts.Given the Ethereum Virtual Machine (EVM) bytecode of a smart contract and a user specified constraint or invariant derived from a technical standard such as ERC-20,SOLAR symbolically executes the contract, explores all possible execution paths, and checks whether it is possible to initiate a sequence of malicious transactions to violate the specified constraint or invariant. Our experimental results highlight the effectiveness of SOLAR in finding new errors in smart con-tracts. Out of the evaluated 779 ERC-20 and 310 ERC-721smart contracts, SOLAR found 255 standard violation errors in 197 vulnerable contracts with only three false positives.237 out of the 255 errors are zero-day errors that are not re-ported before. Our results sound the alarm on the prevalence of standard violation errors in critical smart contracts that manipulate publicly traded digital assets

연구 동기 및 목표

  • 기존 보안 분석 도구가 존재함에도 불구하고 스마트 컨트랙트에서 퍼블리시되는 논리적 오류 및 표준 준수 오류의 빈도를 해결하기 위해.
  • 런타임 오류를 유발하지는 않지만 ERC-20 및 ERC-721와 같은 기술 표준에서의 이탈을 탐지하기 위해.
  • 사용자가 정의한 인variant와 표준에서 유도된 제약 조건 위반에만 집중함으로써 거짓 경고를 최소화하기 위해.
  • 소스 코드 접근 없이도 EVM 바이트코드를 직접 분석할 수 있도록 하기 위해.
  • 디지털 자산을 관리하는 스마트 컨트랙트의 핵심 논리적 결함을 정확하고 스케일러블하게 식별하는 방법을 제공하기 위해.

제안 방법

  • Solar는 외부 트랜잭션에 의해 이끄는 상태 기반 기계로 모델링된 컨트랙트 동작을 기반으로 EVM 바이트코드를 기호적으로 실행한다.
  • EVM 스토리지 접근 명령어(특히 암호 해시 연산과 짝을 이루는 경우 포함)를 정확히 처리할 수 있도록 최적화된 기호 실행 엔진을 사용한다.
  • 사용자가 정의한 인variant 또는 표준에서 유도된 제약 조건 위반 여부를 판단하기 위해 SMT 솔버를 통합한다.
  • ERC-20 및 ERC-721와 같은 기술 표준을 바탕으로 사용자 정의 제약 조건과 인variant를 지원하여, 준수 컨트랙트 간 일관된 검증을 가능하게 한다.
  • 기본 컨트랙트 상태와 트랜잭션 시퀀스를 포함한 상세한 오류 보고서를 생성한다.
  • 소스 코드 의존 없이 EVM 바이트코드에서 직접 작동하도록 설계되어, 배포된 컨트랙트의 분석이 가능하다.

실험 결과

연구 질문

  • RQ1기본 코드 접근 없이도 기호 실행 기반 도구가 이더리움 스마트 컨트랙트의 기술 표준 준수 여부에서 발생하는 논리 수준의 이탈을 효과적으로 탐지할 수 있는가?
  • RQ2기존 도구가 런타임 오류에 집중하는 것과 비교해, 이러한 도구는 표준 위반 오류를 제로데이 수준에서 얼마나 효과적으로 탐지하는가?
  • RQ3실제 스마트 컨트랙트, 특히 공개 거래되는 디지털 자산을 관리하는 컨트랙트는 얼마나 많은 양의 표준 사양에서 이탈하는가?
  • RQ4SMT 솔버와 함께 기호 실행을 최적화하여 EVM 전용 스토리지 연산을 효율적이고 정확하게 처리할 수 있는가?
  • RQ5표준 준수 검사 도구의 거짓 경고율은 기존의 전통적 취약점 탐지 도구와 비교해 어떻게 다른가?

주요 결과

  • Solar는 평가 대상이 된 779개의 ERC-20 컨트랙트와 310개의 ERC-721 컨트랙트 중 197개의 고유한 스마트 컨트랙트에서 총 255개의 표준 위반 오류를 탐지했다.
  • 255개의 오류 중 237개는 이전에 보고되지 않은 제로데이 취약점으로, 논리적 결함이 여전히 널리 존재함을 시사한다.
  • 모든 평가에서 오직 세 건의 거짓 경고만 보고되어 실제 표준 위반을 탐지하는 데 높은 정밀도를 입증했다.
  • 결과는 공개 거래되는 디지털 자산을 관리하는 핵심 스마트 컨트랙트조차도 표준 위반 오류가 널리 퍼져 있음을 시사한다.
  • 기존 도구가 런타임 오류에 집중하는 데 반해, Solar는 표준 준수에 집중함으로써 논리 수준의 오류를 더 적은 거짓 경고로 효과적으로 탐지했다.
  • 연구 결과는 ERC-20 및 ERC-721와 같은 표준을 준수하는 많은 컨트랙트가 여전히 재정적 손실을 초래할 수 있는 구현 수준의 이탈을 포함하고 있음을 드러냈다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.