Metadium Governance 보안 감사

KALOS Security
HAECHI AUDIT
Published in
5 min readSep 10, 2019

HAECHI AUDITS는 지난 3월, 메타디움 팀이 제작한 거버넌스 스마트 컨트랙트에 대한 보안감사를 진행하였습니다.

메타디움(Metadium)팀은 HAECHI AUDITS에게 메인넷 거버넌스의 핵심이 되는 스마트 컨트랙트에 대한 보안 감사를 요청하셨습니다. 메타디움 메인넷은 블록체인 기반의 신원 인증을 위해 구축된 프로토콜입니다.

국문 보안 감사 보고서는 해당 링크에서 찾아볼 수 있으며, 영문 보고서는 해당 링크에서 보실 수 있습니다. 보안 감사 결과를 아래에 공개합니다.

Audit Result

보안감사 기준 표

[표 1 보안감사 기준표]

Critical Issues

  • Gov#init()에서 lockAmount를 0으로 설정하는 경우에 투표 가중치가 0으로 평가됩니다. [Wrong Argument] (Found — v.1.0) (Resolved — v.2.0)

Major Issues

  • EnvStorageImp#setGasPriceByBytes()와 EnvStorageImp#setMaxIdleBlockIntervalByBytes()를 통해서 Staking Max 값이 변경됩니다. [Unintended Behavior] (Found — v.1.0) (Resolved — v.3.0)

Minor issues

  • BallotStorage#createVote()에서 DecisionTypes가 올바른 값이 들어오지 않을 수 있습니다.[Unintended Behavior] (Found — v.1.0) (Resolved — v.2.0)
  • ZERO encode를 추가하려는 경우에 Revert 되어야 합니다. [Wrong Argument] (Found — v.1.0) (Resolved — v.2.0)
  • 0 Ether를 출금하려고 할 때 Revert 되어야 합니다. [Wrong Argument] (Found — v.1.0) (Resolved — v.2.0)
  • 0 Ether를 lock하려고 할 때 되돌려져야 합니다. [Wrong Argument] (Found — v.1.0) (Resolved — v.3.0)
  • 0 Ether를 unlock하려고 할 때 되돌려져야 합니다. [Wrong Argument] (Found — v.1.0) (Resolved — v.3.0)
  • unlock된 ether가 0 일 때 되돌려져야 합니다. [Wrong Argument] (Found — v.1.0) (Resolved — v.3.0)
  • BallotStorage#_areVariableBallotParamValid()의 파라미터인 _envVariableName의 길이가 0 일 수 없습니다. [Wrong Requirement] (Found — v.1.0) (Resolved — v.2.0)
  • EnvStorage 생성자 인자 registry, _implementation의 주소가 같을 경우 되돌려져야 합니다. [Unintended Behavior] (Found — v.1.0) (Resolved — v.2.0)

Conclusion

HAECHI AUDITS은 Metadium Governance Contract에서 Critical 이슈 1개, Major 이슈 1개, Minor 이슈 8개를 발견하였으며 수정했을 때 코드의 사용성이나 효율성이 더 좋아질 수 있는 사항들을 2개의 Tips 카테고리로 나누어 서술하였습니다. HAECHI AUDITS에서는 제안된 모든 사항에 대해 수정하는 것을 권장합니다.

[표2] 보안 감사 결과표

HAECHI AUDIT Official website: https://audit.haechi.io/

HAECHI AUDIT Twitter: https://twitter.com/haechi_audit

About HAECHI AUDITS

고객에게 최상의 서비스를 제공하여 안전한 스마트 컨트랙트를 만들 수 있도록 돕는 것이 HAECHI AUDITS의 미션입니다.

HAECHI AUDITS는 블록체인 기술 기업 HAECHI LABS의 블록체인 코드 보안감사 전문 서비스입니다. HAECHI AUDITS는 자체적인 블록체인 기술 솔루션과 R&D 역량을 바탕으로 40여개 이상의 블록체인 프로젝트 및 Fortune 500 기업을 대상으로 스마트 컨트랙트 보안감사 서비스를 제공해왔습니다.

현재 HAECHI AUDITS의 대표적인 고객사로는 SK텔레콤, 카카오의 블록체인 자회사(Ground X) 등 국내외 대기업과 스타트업 그리고 Bit-Z, Coinall(OKEx), KuCoin, Liquid, CPDAX, Huobi Korea 등의 글로벌 암호화폐 거래소가 있습니다. 또한 최근에는 기술력을 인정받아 Ethereum Foundation과 Ethereum Community Fund로부터 Grant를 받았고, 삼성전자에서 진행하는 스타트업 인큐베이션 프로그램(C-Lab)에 선발되기도 했습니다.

만약 스마트 컨트랙트 보안 감사에 관심이 있으시다면, 저희 Medium을 follow하시거나, 저희 팀에 합류하세요 🚀.

--

--

KALOS Security
HAECHI AUDIT

Making Web3 Space Safe For Everyone | Pioneering a safer space since 2018