[논문 리뷰] GASTAP: A Gas Analyzer for Smart Contracts.
GASTAP는 이더리움 스마트 컨트랙트 함수의 가솔린 소비에 대해 정적 분석 플랫폼으로, EVM, 디어셈블된 EVM, Solidity 입력을 지원하며 신뢰할 수 있는 상한선을 자동으로 추론한다. 이 상한선을 초과하는 가솔린 제한을 설정함으로써 컨트랙트가 가솔린 고갈 취약성 없이 작동함을 보장한다.
Gas is a measurement unit of the computational effort that it will take to execute every single operation that takes part in the Ethereum blockchain platform. Each instruction executed by the Ethereum Virtual Machine (EVM) has an associated gas consumption specified by Ethereum. If a transaction exceeds the amount of gas allotted by the user (known as gas limit), an out-of-gas exception is raised. There is a wide family of contract vulnerabilities due to out-of-gas behaviours. We report on the design and implementation of GASTAP, a Gas-Aware Smart contracT Analysis Platform, which takes as input a smart contract (either in EVM, disassembled EVM, or in Solidity source code) and automatically infers sound gas upper bounds for all its public functions. Our bounds ensure that if the gas limit paid by the user is higher than our inferred gas bounds, the contract is free of out-of-gas vulnerabilities.
연구 동기 및 목표
- 부족한 가솔린 제한으로 인해 발생하는 이더리움 스마트 컨트랙트의 광범위한 가솔린 고갈 취약성 문제를 해결하기 위해.
- 모든 공개 컨트랙트 함수에 대한 정확하고 신뢰할 수 있는 가솔린 사용 상한선을 계산하는 가솔린 인지 정적 분석 플랫폼을 설계하고 구현하기 위해.
- EVM 바이트코드, 디어셈블된 EVM, 소리드리티 소스 코드와 같은 다양한 입력 형식을 지원하여 광범위한 사용성을 확보하기 위해.
- 사용자의 가솔린 제한이 추론된 상한선을 초과한다면, 컨트랙트가 가솔린 고갈로 인해 실패하지 않음을 보장하기 위해.
- 배포 이전에 스마트 컨트랙트의 가솔린 안전성을 공식적으로 보장할 수 있는 정확하고 확장 가능한 솔루션을 제공하기 위해.
제안 방법
- 플랫폼은 EVM, 디어셈블된 EVM 또는 소리드리티 소스 형태의 스마트 컨트랙트 코드를 정적 분석하여 가솔린 사용 상한선을 계산한다.
- 기본 명령어의 가솔린 소비를 추적하기 위해 기호 실행과 제어 흐름 분석을 사용하여 모든 가능한 실행 경로를 통해 가솔린 소비를 추적한다.
- 각 EVM 명령어에 대해 이더리움 사양에서 정의된 고정된 가솔린 비용을 할당하여 가솔린 소비를 모델링한다.
- 모든 실현 가능한 경로를 따라 가솔린 비용을 집계하여 각 공개 함수에 대한 최대 가솔린 사용량을 계산한다.
- 모든 실행 경로가 계산된 한계를 초과하지 않도록 보장하기 위해 신뢰할 수 있는 상한선을 합성한다.
- 실제 구현을 위해 기존 스마트 컨트랙트 개발 및 검증 파이프라인과 통합한다.
실험 결과
연구 질문
- RQ1정적 분석 플랫폼은 이더리움 스마트 컨트랙트 함수의 가솔린 소비에 대해 정확하고 신뢰할 수 있는 상한선을 추론할 수 있는가?
- RQ2플랫폼은 컨트랙트 배포 이전에 잠재적인 가솔린 고갈 취약성을 얼마나 효과적으로 탐지할 수 있는가?
- RQ3플랫폼은 EVM 바이트코드와 고수준의 소리드리티 코드를 포함한 다양한 입력 표현 방식을 얼마나 잘 처리할 수 있는가?
- RQ4실제 스마트 컨트랙트에 대해 가솔린 상한선 추론의 정밀도와 확장성은 어떠한가?
- RQ5추론된 가솔린 상한선를 사용하여 컨트랙트가 가솔린 제한 제약 조건으로 인해 실패하지 않음을 공식적으로 보장할 수 있는가?
주요 결과
- GASTAP는 주어진 스마트 컨트랙트의 모든 공개 함수에 대해 입력 형식에 관계없이 정확하고 신뢰할 수 있는 가솔린 소비 상한선을 성공적으로 계산한다.
- 추론된 가솔린 상한선가 충분하여 사용자의 가솔린 제한이 이 상한선을 초과한다면, 트랜잭션이 가솔린 고갈 예외로 실패하지 않음을 보장한다.
- 플랫폼은 EVM 바이트코드, 디어셈블된 EVM, 소리드리티 소스 코드와 같은 다양한 입력 표현 방식을 지원하여 광범위한 호환성을 확보한다.
- 분석은 정확하여 어떤 실행 경로도 계산된 가솔린 상한선을 초과하지 않으며, 따라서 가솔린 고갈 취약성에 대한 거짓 음성(false negative)을 제거한다.
- 플랫폼은 가솔린 안전성의 공식적 검증을 가능하게 하여 런타임 가솔린 관련 장애를 방지하는 실용적인 솔루션을 제공한다.
- 이 방법은 실제 컨트랙트에 대해 효과적으로 확장되며, 스마트 컨트랙트 개발자들이 사용할 수 있는 구현 가능한 솔루션을 제공한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.