Skip to main content
QUICK REVIEW

[논문 리뷰] Tezla, an Intermediate Representation for Static Analysis of Michelson Smart Contracts

João Santos Reis, Paul Crocker|arXiv (Cornell University)|2020. 01. 01.
Blockchain Technology Applications and Security참고 문헌 11인용 수 4
한 줄 요약

이 논문은 미셸송 스마트 계약을 위한 스토어 기반 중간 표현(IR)인 Tezla를 소개한다. Tezla는 의미론, 제어 흐름, 가스 소비를 유지하면서, 스택 기반의 미셸송 코드를 명시적인 변수 할당과 φ-함수를 사용한 정적 단일 할당(SSA) 형식으로 변환함으로써, 기존 프로그램 분석 프레임워크를 활용한 효과적인 정적 분석을 가능하게 한다. 사례 연구를 통해 Tezla를 SoftCheck 플랫폼과 통합하여 서명 분석과 같은 비단순 성질을 검증한 바 있다.

ABSTRACT

This paper introduces Tezla, an intermediate representation of Michelson smart contracts that eases the design of static smart contract analysers. This intermediate representation uses a store and preserves the semantics, ow and resource usage of the original smart contract. This enables properties like gas consumption to be statically verified. We provide an automated decompiler of Michelson smart contracts to Tezla. In order to support our claim about the adequacy of Tezla, we develop a static analyser that takes advantage of the Tezla representation of Michelson smart contracts to prove simple but non-trivial properties.

연구 동기 및 목표

  • 테조스 스마트 계약에서 사용되는 스택 기반 언어인 미셸송에 대한 효과적인 정적 분석 지원의 부족을 해결하기 위해.
  • 미셸송의 스택 기반 모델과 기존 정적 분석 도구 간 격차를 메우기 위해, 일반적으로 스토어 기반 및 SSA 형식 언어를 대상으로 설계된 도구들과의 호환성을 확보하기 위해.
  • 의미적으로 충실한 IR을 통해 미셸송 계약에서의 가스 소비 및 자원 사용과 같은 성질의 형식적 검증을 가능하게 하기 위해.
  • 정확성과 자원 의미론을 유지하면서, 미셸송에서 Tezla로의 재사용 가능한 자동 디컴파일러를 제공하기 위해.
  • 테조스 생태계에서 원칙적인 정적 분석 플랫폼의 기초로 Tezla를 사용할 수 있음을 입증하기 위해.

제안 방법

  • Tezla는 미셸송의 스택 연산을 변수 할당으로 변환하여 스택 조작을 명시적인 스토어 기반 연산으로 대체한다.
  • Push 유사 명령어는 변수 할당으로 변환되며, 스택을 소비하는 연산은 변수 인자를 가진 함수 호출로 변환된다.
  • IF_CONS 및 IF_NONE와 같은 분기 구조는 제어 흐름을 유지하고 SSA 형식을 보존하기 위해 φ-함수를 사용하여 모델링된다.
  • LOOP_LEFT와 같은 반복 구조는 반복 간의 SSA 의미론을 유지하기 위해 φ-함수를 사용하여 인코딩된다.
  • 가스 소비는 Tezla 의미론에 명시적으로 모델링되어 자원 사용의 정적 검증이 가능해진다.
  • 의미론, 제어 흐름, 자원 사용을 유지하면서, 미셸송에서 Tezla로의 자동 디컴파일러가 구현되었다.

실험 결과

연구 질문

  • RQ1스택 기반 언어인 미셸송 스마트 계약의 의미론을 효과적으로 모델링하면서 제어 흐름과 자원 사용을 유지할 수 있는 스토어 기반 중간 표현이 가능한가?
  • RQ2미셸송과 같이 스택 기반 언어에서 파생된 표현에서 정적 단일 할당(SSA) 형식을 자연스럽게 강제할 수 있는가?
  • RQ3기존 정적 분석 프레임워크가 Tezla와 같이 의미론적으로 충실한 IR을 통해 미셸송 계약을 얼마나 잘 분석할 수 있는가?
  • RQ4Tezla는 미셸송 계약에서 서명 분석 및 가스 소비와 같은 비단순 성질의 검증을 지원할 수 있는가?
  • RQ5미셸송 계약의 엔트리포인트 다형성은 Tezla에서 어떻게 모델링되고 분석될 수 있는가? 이를 통해 모듈성과 분석 정밀도를 향상시킬 수 있는가?

주요 결과

  • Tezla 표현은 원본 의미론과 제어 흐름을 유지하면서, 미셸송 스마트 계약을 스토어 기반 및 SSA 형식의 중간 표현으로 성공적으로 변환한다.
  • 미셸송에서 Tezla로의 디컴파일러는 가스 소비 의미론을 유지하여 자원 사용의 정적 검증이 가능하게 한다.
  • 사례 연구를 통해 Tezla를 사용하면 SoftCheck 플랫폼를 통해 미셸송 계약에 대해 서명 분석과 같은 정적 분석 기법을 적용할 수 있음을 입증했다.
  • Tezla에서 φ-함수의 사용은 리스트 분해 및 반복과 같은 분기 및 반복 구조를 정밀하게 모델링할 수 있도록 한다.
  • 분석 결과는 Tezla가 명확한 제어 흐름 그래프를 생성하고 변수의 부호 및 자원 사용과 같은 성질를 탐지하는 데에 기여함을 보여준다.
  • 저자들은 Tezla가 미셸송 계약의 원칙적인 정적 분석을 위한 타당한 기초가 되며, 향후 자원 의미론을 공식화하고 기존 검증 플랫폼과 통합할 계획임을 확인했다.

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

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

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

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