검색 상세

Smart Contract Security Enhancement schemes to Minimize Financial Loss

스마트 컨트랙트의 재정적 손실을 최소화하기 위한 보안 강화 기법

초록

In this paper, we implement a scheme to enhance solidity code to minimize the financial loss of smart contracts on the Ethereum blockchain. To prevent attacks using vulnerabilities in solidity code, three schemes are used to enhance solidity code to minimize financial losses. The following are schemes for enhancing security. First, we detect vulnerabilities and correct them through static analysis that contrasts solidity codes with vulnerability patterns. Through this, we detect vulnerabilities that cause financial loss among known vulnerabilities and prepare for attacks. In addition, the detection pattern is created in the form of a module so that more vulnerabilities can be detected by adding additional vulnerability patterns to be discovered later. Second, access to functions existing inside the smart contract is controlled through authorization. Through this, malicious attacks outside the contract, which are difficult to find only with static analysis, are blocked. Finally, each function inside the contract sets conditions that can cause financial losses so that the contract can be automatically stopped. Through this, financial losses are prevented in advance regardless of the attack method. We verify the effectiveness by applying these techniques to the voting smart contract.

more

초록

본 논문에서는 이더리움 블록체인에서 스마트 컨트랙트의 재정적 손실을 최 소화하기 위해 솔리디티 코드를 강화하는 기법을 제안한다. 솔디디티 코드의 취 약점을 이용한 공격을 방지하기 위해, 3가지 기법을 통해 보안성을 강화하여 재 정적 손실을 최소화한다. 보안을 강화하기 위한 기법을 다음과 같다. 첫째, 솔리 디티 코드를 취약점 패턴과 대조하는 정적 분석을 통해 취약점을 검출하고 그 취약점에 대해 수정한다. 이를 통하여 알려진 취약점 중 재정적 손실을 일으키 는 취약점을 중심으로 검출하고 알려진 취약점 공격에 대비한다. 또한 검출 패 턴을 모듈의 형태로 작성해 추후 추가로 발견되는 취약점 패턴을 추가해 더 많 은 취약점을 검출할 수 있도록 한다. 둘째, 스마트 컨트랙트 내부에 존재하는 함 수들에 대한 접근을 권한 부여를 통해 제어한다. 이를 통하여 정적 분석만으로 는 찾기 어려운 컨트랙트 외부의 악의적인 공격은 차단한다. 마지막으로 컨트랙 트 내부의 함수마다 재정적 손실을 일으킬 수 있는 조건을 설정하여 컨트랙트를 자동으로 정지할 수 있도록 한다. 이를 통하여 공격 방식과 관계없이 재정적 손 실이 발생하는 상황을 사전에 방지한다. 이러한 기법들을 투표 스마트 컨트랙트 에 적용하여 실행함으로써 효과를 검증한다.

more

목차

I. Introduction 5
II. Related works 6
III. Proposed Method 11
IV. Experiments and Results 31
V. Conclusion 41
Reference 42

more