콘콜릭 테스팅 기반 스마트 컨트랙트 보안약점 분석기
이더리움은 대표적인 블록체인 기반 암호화폐 플랫폼으로, 튜링 완전 언어인 솔리디티를 제공하여 다양한 응용을 위한 스마트 컨트랙트를 개발하는데 활용될 수 있다. 본 논문은 콘콜릭 테스팅 기법을 사용하여 스마트 컨트랙트 내의 보안약점을 사전에 찾아내는 분석기를 제시한다. 심볼릭 수행과 테스팅 기법이 합쳐진 콘콜릭 테스팅은 일반적인 정적 분석과 비교하여 오탐이 없는 심볼릭 수행의 장점을 유지하면서, 심볼릭 수행보다 성능 면에서 효율적인 장점이 있다. 또한, 개발된 분석기는 이더리움의 실행 환경인 게스 테스트넷을 사용하여 실제적인 수행상황...
Saved in:
Published in | Chŏngbo Kwahakhoe nonmunji pp. 668 - 679 |
---|---|
Main Authors | , |
Format | Journal Article |
Language | Korean |
Published |
한국정보과학회
01.06.2021
|
Subjects | |
Online Access | Get full text |
ISSN | 2383-630X 2383-6296 |
DOI | 10.5626/JOK.2021.48.6.668 |
Cover
Summary: | 이더리움은 대표적인 블록체인 기반 암호화폐 플랫폼으로, 튜링 완전 언어인 솔리디티를 제공하여 다양한 응용을 위한 스마트 컨트랙트를 개발하는데 활용될 수 있다. 본 논문은 콘콜릭 테스팅 기법을 사용하여 스마트 컨트랙트 내의 보안약점을 사전에 찾아내는 분석기를 제시한다. 심볼릭 수행과 테스팅 기법이 합쳐진 콘콜릭 테스팅은 일반적인 정적 분석과 비교하여 오탐이 없는 심볼릭 수행의 장점을 유지하면서, 심볼릭 수행보다 성능 면에서 효율적인 장점이 있다. 또한, 개발된 분석기는 이더리움의 실행 환경인 게스 테스트넷을 사용하여 실제적인 수행상황을 최대한 반영하여 동작한다. 분석기는 정수 넘침과 처리되지 않은 예외 보안약점의 검출을 지원하며, 구현 결과에 대하여 기존 분석기와의 비교를 통해 개발된 분석기의 성능을 분석하였다. Ethereum is a blockchain-based cryptocurrency platform that provides a Turing complete language, Solidity, which can be used to develop smart contracts for various applications.
This paper present an analyzer that finds security weaknesses in smart contracts using the concolic testing framework. Concolic testing, which combines symbolic execution and testing, is more efficient than symbolic execution while retaining no false positiveness which is absent in static analysis. Also, the analyzer reflects actual execution context to the maximum extent possible using the Ethereum execution environment, the Geth testnet. The analyzer detects integer overflow and unhandled exception weakness. Also, this paper presents performance test results in comparison with a well known smart contract symbolic execution framework, Manticore. KCI Citation Count: 0 |
---|---|
ISSN: | 2383-630X 2383-6296 |
DOI: | 10.5626/JOK.2021.48.6.668 |