Skip to main content
QUICK REVIEW

[논문 리뷰] Securify: Practical Security Analysis of Smart Contracts

Petar Tsankov, Andrei Dan|arXiv (Cornell University)|2018. 06. 04.
Blockchain Technology Applications and Security참고 문헌 27인용 수 131
한 줄 요약

Securify는 층화된 Datalog에 인코딩된 의미 사실 위에 도메인 특화 준수 및 위반 패턴을 사용하여 이더리움 스마트 계약의 동작을 위반, 경고 또는 준수로 분류하는 확장 가능하고 자동화된 보안 검증기입니다.

ABSTRACT

Permissionless blockchains allow the execution of arbitrary programs (called smart contracts), enabling mutually untrusted entities to interact without relying on trusted third parties. Despite their potential, repeated security concerns have shaken the trust in handling billions of USD by smart contracts. To address this problem, we present Securify, a security analyzer for Ethereum smart contracts that is scalable, fully automated, and able to prove contract behaviors as safe/unsafe with respect to a given property. Securify's analysis consists of two steps. First, it symbolically analyzes the contract's dependency graph to extract precise semantic information from the code. Then, it checks compliance and violation patterns that capture sufficient conditions for proving if a property holds or not. To enable extensibility, all patterns are specified in a designated domain-specific language. Securify is publicly released, it has analyzed >18K contracts submitted by its users, and is regularly used to conduct security audits by experts. We present an extensive evaluation of Securify over real-world Ethereum smart contracts and demonstrate that it can effectively prove the correctness of smart contracts and discover critical violations.

연구 동기 및 목표

  • 고-profile 익스플로잇과 재정 손실을 고려할 때 안전한 스마트 계약의 필요성을 제시합니다.
  • 실용적 보안 속성에 초점을 맞춘 패턴 기반 추론을 통해 도메인 특화 검증기(Securify)를 소개합니다.
  • 계약 분석을 자동화하는 확장 가능하고 끝에서 끝까지의 구현을 시연합니다.
  • Securify가 실제 이더리움 계약에서 정확성을 입증하고 위반을 드러낼 수 있음을 보입니다.

제안 방법

  • EVM 바이트코드를 SSA 형식으로 디컴파일하여 계약의 스택리스 없는 표현을 얻습니다.
  • 선언적 층화된 Datalog 규칙을 사용하여 제어 흐름 및 데이터 흐름에 대한 의미 사실을 유추합니다.
  • 서술형 DSL로 표현된 준수 및 위반 패턴 집합을 확인하여 속성의 진위 여부를 판단합니다.
  • 속성을 안전(준수) 또는 부정(위반)을 암시하는 패턴으로 표현합니다.
  • 패턴 매치를 기반으로 계약 동작을 위반, 경고 또는 준수 결과로 분류합니다.
  • 보안 전문가가 DSL을 통해 새로운 패턴을 추가할 수 있도록 확장성을 지원합니다.

실험 결과

연구 질문

  • RQ1준수 및 위반 패턴이 스마트 계약의 실용적 보안 속성을 포착할 수 있을까?
  • RQ2Securify가 실제 계약에서 이러한 속성을 자동으로 증명하거나 반박할 수 있을까?
  • RQ3DSL 기반 패턴 접근법은 보안 요구사항의 진화에 대해 확장 가능하고 규모가 유지될까?
  • RQ4Securify는 커버리지 및 거짓 양성/음성 측면에서 기존의 상징적 분석기와 비교했을 때 어떤 성능을 보일까?

주요 결과

  • Securify는 사용자에 의해 제출된 18,000개가 넘는 계약을 분석합니다.
  • 분석기는 계약에서 일반적으로 몇 초 이내에 실행될 수 있습니다.
  • 패턴 기반 검사는 경고에 대한 수작업 검사 노력을 크게 줄입니다(예: 일부 속성의 경우 65.9%에서 99.4%).
  • Securify는 모든 안전하지 않은 동작을 보고하여 중요한 위반을 놓칠 가능성을 줄입니다.
  • 이 시스템은 38건의 상세한 상업적 감사를 수행했고 분석가들에 의해 활발히 활용되고 있습니다.
  • 이 접근법은 실제 이더리움 계약에서 계약의 정확성 입증과 위반 발견의 효과를 보여줍니다.

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

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

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

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