[논문 리뷰] Pre-deployment Analysis of Smart Contracts -- A Survey
이 종합 검토는 프로그램 성질이 다루는 바에 따라 스마트 계약 취약성과 사전 배포 분석 방법을 체계적으로 분류하며, 형식적 방법과 기호 실행이 생존성 및 복잡한 도메인 특화 성질 검증에서 뛰어난 성능을 보이며, 기계 학습은 높은 정밀도와 재현율을 바탕으로 다양한 취약성을 탐지하는 데 강력한 성능을 보여주어 정적 분석의 사용성에 새로운 시각을 제공한다.
Smart contracts are programs that execute transactions involving independent parties and cryptocurrencies. As programs, smart contracts are susceptible to a wide range of errors and vulnerabilities. Such vulnerabilities can result in significant losses. Furthermore, by design, smart contract transactions are irreversible. This creates a need for methods to ensure the correctness and security of contracts pre-deployment. Recently there has been substantial research into such methods. The sheer volume of this research makes articulating state-of-the-art a substantial undertaking. To address this challenge, we present a systematic review of the literature. A key feature of our presentation is to factor out the relationship between vulnerabilities and methods through properties. Specifically, we enumerate and classify smart contract vulnerabilities and methods by the properties they address. The methods considered include static analysis as well as dynamic analysis methods and machine learning algorithms that analyze smart contracts before deployment. Several patterns about the strengths of different methods emerge through this classification process.
연구 동기 및 목표
- 사전 배포 스마트 계약 분석 분야의 연구가 급격히 증가하는 상황에서 이에 대응하기 위해.
- 스마트 계약 취약성과 분석 방법을 그들이 대상으로 하는 프로그램 성질에 따라 식별하고 분류함으로써 각 방법의 강점과 약점을 명확히 이해할 수 있도록 하기 위해.
- 체계적 문헌 검토 방법론을 사용하여 최신 기술 수준을 맵핑하는 투명하고 재현 가능한 리뷰 프레임워크를 제공하기 위해.
- 정당성과 벤치마크 측면에서의 격차, 특히 표준화된 취약성 명명 체계와 도구 비교를 위한 공통 벤치마크의 부족을 부각하기 위해.
제안 방법
- 저자들은 2015년에서 2022년 사이의 논문을 대상으로 체계적 문헌 검토를 수행하였으며, 스마트 계약의 사전 배포 분석과 관련된 연구를 선별하였다.
- 35개의 고유한 성질로 구성된 분류체계를 사용하여, 안전성, 생존성, 도메인 특화 제약 조건 등의 카테고리에 속하는 성질에 따라 취약성과 분석 방법을 분류하였다.
- 정적 분석, 동적 분석, 기호 실행, 모델 체킹, 정리 증명, 기계 학습에 속하는 35개의 분석 방법을 평가하였으며, 특정 성질을 검증하는 데의 능력을 평가하였다.
- 분류 과정은 성질과 방법 간의 관계를 강조하여, 형식적 방법이 생존성 증명에 유일하게 적합하며, 기호 실행이 유일하게 주소 무결성과 예금 유효성 검증을 검증한다는 패턴을 드러내었다.
- 정당성과 벤치마크 관행을 평가하여, 수학적으로 증명된 정당성이 있는 성질은 11개, 분석 방법은 17개에 그쳤으며, 표준화된 벤치마크와 취약성 분류체계의 부족을 지적하였다.
- 다양한 연구에서 성질 사양을 비교 분석하여 용어를 표준화하고 일관성을 확보하였으며, 예를 들어 '싱글 엔트리시티'(single-entrancy)를 '상태 유지'의 특수한 경우로 간주하였다.
실험 결과
연구 질문
- RQ1스마트 계약 취약성과 사전 배포 분석 방법은 특정 프로그램 성질과 어떻게 관련되어 있으며, 이러한 관계에서 드러나는 패턴은 무엇인가?
- RQ2생존성, 안전성, 또는 도메인 특화 제약 조건과 같은 특정 유형의 성질을 검증하는 데 있어 어떤 분석 방법이 가장 효과적인가?
- RQ3기존 분석 방법의 정당성 상태는 현재 어떠한가? 수학적으로 증명된 보장이 있는 방법은 몇 개인가?
- RQ4현재의 벤치마크와 취약성 분류체계는 분석 도구 간 신뢰성 있는 비교를 얼마나 잘 지원하는가?
- RQ5기계 학습 방법은 기존 정적 분석에 비해 비교적 또는 우수한 탐지 성능을 보일 수 있는가? 특히 복잡하거나 새로운 취약성을 탐지하는 데서는?
주요 결과
- 모델 체킹과 정리 증명을 포함한 형식적 방법은 유일하게 생존성의 네 가지 성질을 모두 검증할 수 있으며, 이 중 두 성질은 본 조사에서 다른 어떤 방법으로도 다루어지지 않았다.
- 기호 실행은 주소 무결성과 예금 유효성 검증이라는 두 가지 특정 도메인 특화 성질을 검증하는 데 유일하게 사용된 방법이다.
- 기계 학습, 특히 딥 러닝은 최신 정적 분석 도구를 능가하는 탐지 성능을 보이며, 생존성과 복잡한 도메인 특화 제약 조건을 포함한 광범위한 성질을 커버한다.
- 35개의 성질 중 11개와 35개의 분석 방법 중 17개만이 수학적으로 입증된 정당성을 확보하고 있어, 대부분의 기존 도구에서 형식적 검증의 격차가 뚜렷하다는 것을 시사한다.
- 펌핑(fuzzing)은 기본적이고 복잡하며 사용자 지정된 성질을 포함한 광범위한 성질을 반증하는 데 매우 효과적이며, 반례 탐색 기법으로서 강력한 성능을 발휘한다.
- 정적 타이핑은 비이더리움 스마트 계약에 널리 적용된 유일한 전통적 분석 방법이며, 미셸랑(Michelson)과 알버트(Albert)와 같은 도메인 특화 언어는 언어 수준에서 형식적 검증을 통합하여 타입 시스템을 통해 보안을 강화한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.