Skip to main content
QUICK REVIEW

[논문 리뷰] Security Analysis Methods on Ethereum Smart Contract Vulnerabilities: A Survey

Purathani Praitheeshan, Lei Pan|arXiv (Cornell University)|2019. 08. 22.
Security and Verification in Computing인용 수 91
한 줄 요약

본 연구조사는 이더리움 스마트 컨트랙트 취약점을 분석하고 주요 공격들을 조사하며 취약점을 소프트웨어 보안 이슈에 매핑하고 정적, 동적 및 형식 검증 분석 도구를 검토합니다. 이더리움에서의 취약점 탐지를 위한 격차와 향후 방향을 강조합니다.

ABSTRACT

Smart contracts are software programs featuring both traditional applications and distributed data storage on blockchains. Ethereum is a prominent blockchain platform with the support of smart contracts. The smart contracts act as autonomous agents in critical decentralized applications and hold a significant amount of cryptocurrency to perform trusted transactions and agreements. Millions of dollars as part of the assets held by the smart contracts were stolen or frozen through the notorious attacks just between 2016 and 2018, such as the DAO attack, Parity Multi-Sig Wallet attack, and the integer underflow/overflow attacks. These attacks were caused by a combination of technical flaws in designing and implementing software codes. However, many more vulnerabilities of less severity are to be discovered because of the scripting natures of the Solidity language and the non-updateable feature of blockchains. Hence, we surveyed 16 security vulnerabilities in smart contract programs, and some vulnerabilities do not have a proper solution. This survey aims to identify the key vulnerabilities in smart contracts on Ethereum in the perspectives of their internal mechanisms and software security vulnerabilities. By correlating 16 Ethereum vulnerabilities and 19 software security issues, we predict that many attacks are yet to be exploited. And we have explored many software tools to detect the security vulnerabilities of smart contracts in terms of static analysis, dynamic analysis, and formal verification. This survey presents the security problems in smart contracts together with the available analysis tools and the detection methods. We also investigated the limitations of the tools or analysis methods with respect to the identified security vulnerabilities of the smart contracts.

연구 동기 및 목표

  • 상당한 암호자산 손실과 연계된 주요 이더리움 스마트 컨트랙트 취약점을 식별한다.
  • 이러한 취약점이 어떻게 악용되며 이더리움 기반 시스템에 미치는 영향을 분석한다.
  • 기존 보안 분석 방법(정적, 동적 및 형식 검증)과 그 효과를 조사한다.
  • 취약점 연구 결과를 소프트웨어 보안 이슈와 상관관계 지어 현재 도구의 커버리지 격차와 경향을 밝힌다.
  • 취약점 탐지와 안전한 스마트 컨트랙트 개발에 대한 향후 연구 방향을 제시한다.

제안 방법

  • 16개의 이더리움 취약점을 19개의 소프트웨어 보안 이슈에 매핑하여 취약점을 분류한다.
  • 보안 분석 방법을 정적 분석, 동적 분석, 형식 검증으로 검토하고 분류한다.
  • 취약점 탐지 및 검증에 사용되는 도구와 검증 모델을 조사한다.
  • 확인된 이더리움 취약점과 관련해 도구와 방법의 한계를 분석한다.
  • 주요 공격(예: DAO, Parity)으로부터의 교훈을 종합하여 최선의 관행과 위험 요인을 도출한다.

실험 결과

연구 질문

  • RQ1상당한 암호자산 손실을 초래한 이더리움 스마트 컨트랙트의 주요 공격은 무엇인가?
  • RQ2스마트 컨트랙트의 취약점이 이러한 공격 중에 공격자를 어떻게 가능하게 하는가?
  • RQ3이더리움에서 스마트 컨트랙트 문제를 검증하고 확인하기 위해 어떤 보안 분석 방법이 존재하는가?
  • RQ4확인된 취약점이 일반 소프트웨어 보안 이슈와 어떻게 매핑되며 현재 도구의 격차는 무엇인가?
  • RQ5이더리움 스마트 컨트랙트 보안 연구의 향후 권장 방향은 무엇인가?

주요 결과

  • The DAO 공격은 재진입 취약점으로 재귀 호출이 자금을 고갈시키는 사례임을 보여준다.
  • Parity Multisig Wallet 공격은 공개 라이브러리와 delegatecall이 전체 제어 및 자산 동결을 가능하게 하는 방식을 보여준다.
  • 정수 오버플로/언더플로 취약점은 컴파일러 오류 없이 가치 조작 및 자금 손실을 가능하게 할 수 있으며; SafeMath.sol이 이 위험을 완화한다.
  • 많은 취약점은 Solidity 언어 특징과 배포된 컨트랙트의 불변성에서 기인하며 배포 후 수정이 어렵게 만든다.
  • 본 조사는 16개의 이더리움 취약점을 19개의 소프트웨어 보안 이슈와 상관시켜 현재 도구와 관행의 커버리지 격차를 드러낸다.
  • 보안 분석 도구는 정적, 동적 및 형식 검증에 걸쳐 있으며 이들 각각은 이더리움 특화 취약점 탐지에서 특정 한계가 있다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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