MCD 보안 로드맵 업데이트 : 2019년 10월

October 24, 2019

 메이커 재단의 최우선 과제는 메이커 프로토콜의 보안 유지입니다. 그러한 관계로, 저희는 11월 18일로 예정된 다중 담보 다이 (MCD) 출시를 전후로 시스템 내외부 보안을 보장하기 위해 많은 자원을 투입하고 있습니다. 물론 MCD 출시 이후에도 꾸준히 노력을 기울일 것입니다.

 지난 7월 24일, 메이커 팀은 보안 트랙을 소개하는 첫번째 보안 로드맵 업데이트를 게시하였습니다. 오늘 저희는 그러한 노력의 결과를 보여 드릴 수 있어 매우 기쁘며, 본 글을 통해 버그 바운티 프로그램의 성과, MCD 공식 검증 (Formal verification) 및 감사 보고서 결과, 연동 파트너 프로그램에 관한 업데이트 등을 전달드릴 것입니다.


버그 바운티 프로그램 성과

 7월, 저희는 공개적으로 첫번째 버그 바운티 프로그램을 시행하였으며, 성공적으로 진행된 것에 기쁨을 감출 수 없습니다. 그 결과 고위험 버그 셋과 중대한 버그 하나가 발견되어 총 9만 달러에 달하는 보상이 바운티로 지급되었습니다.

 해당 취약점들을 살펴보면 다이 예치 보상 (DSR) 모듈과 메이커 프로토콜간에 원치 않는 상호작용에 관한 문제와 비상 정지 모듈과 옥션간에 생긴 상호작용 문제가 있었습니다. 문제점을 보인 해당 모듈들은 추가적인 조사가 더 필요했거나 가장 최근에 시스템에 통합되었기 때문에 메이커 팀의 예상과 동일 선상에 있었습니다.

 시스템의 보안을 유지하는 것이 가장 최우선 과제이기 때문에, 저희는 따로 기한을 두지 않고 버그 바운티 프로그램을 계속 운영할 것입니다.


공식 검증(Formal Verification) 결과

 MCD 시스템의 코어 계약 (Core contract)의 공식 검증을 마쳤습니다. Peripheral 및 helper 계약의 검증은 현재 최종 단계에 있습니다. 또한 저희는 MKR 투표자들이 새로운 담보 유형으로 고려하고 있는 토큰들에 대한 공식 검증 절차를 진행중입니다.

 시스템 상의 세컨더리 컨트랙트와 거버넌스 컨트랙트 모두에 집중하고 있으며, 지속적으로 테스트하고 출시하는 과정에 공식 검증 절차를 포함시켰습니다.

현재까지 완료된 공식 검증은 아래와 같습니다.

예상대로, 저희의 공식 검증 방법은 다른 보안 트랙들과 상호 보완적인 것으로 증명되었습니다. 공식 검증이 시스템의 위협을 방어하는데 만병통치약은 아니지만, 전반적인 시스템의 보안을 크게 향상시킬 수 있는 매우 효과적인 도구로 다시 한번 검증되었습니다.

 공식 검증 절차는 물론 앞으로도 계속될 것이며, 지난 버그 바운티의 성과와 감사 결과들 역시 지속적으로 업데이트 할 것입니다.


보안 감사

 공식 검증을 시행하는 것과 별개로, 전통적인 방식의 보안 감사 역시 수행하였습니다.

런타임 검증 업데이트 요약

 미국 일리노이주를 기반으로 하는 소프트웨어 분석 회사인 Runtime Verification은 런타임 검증 기반의 기술을 사용하여 소프트웨어 시스템의 기술적 “정확성”과 신뢰도 및 안정성을 향상시킵니다. Runtime Verification 팀은 코어 MCD 시스템의 고급 모델을 완성하였고, 다른 모듈의 모델을 구축하고 있습니다. 해당 팀은 11월 말인 이번 늦가을까지 작업을 완료할 것으로 내다보고 있습니다.

Trail of Bits 최종 감사 보고서

 보안 부문의 세계 선도 업체인 Trail of Bits (ToB)가 MCD의 스마트 계약들을 감사하였습니다. ToB 팀은 광범위한 소프트웨어를 검토하고, 보안 툴들을 만들며, 시스템을 안전하게 배포하기 위해 필요한 수정 사항에 대해 권고하고 있습니다. 감사는 수동 검토, 자동 분석 및 맞춤형 도구 개발로 구성됩니다. ToB의 최종 감사 보고서 입니다.

감사 결과 요약

  • Trail of Bits 팀은 중위험 문제 두개, 저위험 문제 네개를 각각 발견하였고, 정보로 기인한 보안 문제를 여덟개 발견하였습니다.
  • 자체 감사 보고서에서 ToB 팀은 메이커 팀의 공식 검증 절차가 수 많은 경미한 취약점 문제들을 해결할 수 있을 것이며, 계속해서 사용할 것을 권장하였습니다.
  • ToB 팀은 또한 MCD 코드베이스에 특화된 다수의 보안 분석 툴을 개발하였습니다. 이러한 툴들은 버그를 발견하는 감사 절차에 사용되었으며, 감사가 끝난 직후 MCD 팀에 전달되었습니다.
  • ToB는 DSR에 관해 메이커 팀이 특히 해결하고자 하는 문제점 한가지를 발견하였습니다. (출처 페이지 22) 저희는 해당 문제를 파악 하였으며, 시스템 상에서 다이에 DSR을 어떻게 적용할 수 있는지에 관한 가능성을 조사하고 있습니다. 한편, ERC-20 표준이 아닌 DSR 프록시에 대한 유저들의 리스크에 대해 동의하며, 개념 증명 구현(Proof-og-concept)에 대한 연구 및 개발 작업에 착수했습니다. 언제나 그렇듯이, 타사의 스마트 계약을 사용해서 MCD 시스템과 상호작용할 때는 주의를 기울이는 것이 좋습니다.

PeckShield 최종 감사 보고서

 PeckShield는 중국 기반의 보안 서비스 기관이며, 5월에 패치되었던 메이커의 DsChief가 가진 취약점에 관해 독립적으로 검증한 바 있습니다. 따라서, 공식 감사를 의뢰하게 되었습니다. PeckShield의 최종 감사 보고서 입니다.

감사 결과 요약

  • PeckShield 팀은 고위험 문제 하나, 중위험 문제 하나, 저위험 문제 넷 그 외 10개의 정보로 기인한 보안 문제를 발견하였습니다.
  • 감사 보고서에서 해당 팀은 메이커 팀의 독자적인 보안 장치들을 인정하였습니다. “저희는 항상 다수의 독립적인 감사를 시행할 것을 권고드립니다. 대중을 대상으로 하는 버그 바운티 프로그램은 스마트 계약의 보안을 유지하는데 도움이 됩니다.”
  • PeckShield의 “17가지 일반적인 스마트 계약 코딩 버그들” 목록에 언급된 버그는 없었습니다.

타사 감사 결과

 위에 언급된 세 외부 기관에서 제공한 감사 결과와는 별도로, Certora라는 보안 회사의 연락도 받았습니다. Certora는 자체 개발한 툴로 MCD의 코드를 스스로 검토하여 취약점을 제시하였습니다. 두 가지 중요한 취약점을 독립적으로 검증해준 Certora에게 감사를 표합니다.


중복된 취약점 발견

 메이커다오의 버그 바운티 프로그램과 Tratil of Bits, PeckShield, Certora로 부터 철저하고 광범위한 감사 결과를 획득하였기 때문에 취급 범위와 결과가 일부 중복될 것으로 예상했습니다. 아래 다이어그램에 묘사된 중복 감사 결과는 메이커다오 자체 보안 업무와 외부 감독을 복합적으로 수행한 것의 이점을 나타내고 있습니다. 해당 결과들에 대한 더 자세한 정의는 위에 링크로 공유된 개별 감사 보고서를 참조하시기 바랍니다.

전반적으로, 보안 감사는 아래의 MCD 항목들을 다루었습니다.

  • 코어 메이커 프로토콜
  • 보상 추론
  • DoS, 리플레이, 프론트-러닝, 시스템/블록체인 레벨 공격
  • 거버넌스 공격
  • 거버넌스 (일반)
  • 프론트-엔드 계약 및 담보 채택자
  • 오라클
  • 오프-체인 가격-피드 인프라
  • 온-체인 오라클 계약
  • 시스템 배포 및 허가 정확성
  • 옥션
  • K-dss

연동 파트너 프로그램

 MCD 내에서 자사의 서비스와 제품을 연동 및 테스트하는 프로젝트들을 홍보하는 캠패인은 현재까지 성공적으로 진행되고 있습니다. 본 글에서는, MCD 출시에 대한 대비를 할 수 있도록 커뮤니티와 메이커다오 파트너들에 아래와 같이 컨텐츠를 공유하고 있습니다.

  • MCD 로드맵 (MCD의 개발이 진행됨에 따라 정기적으로 업데이트 됨)
  • MCD 스마트 계약에 대한 설명 (MCD 101에 자세히 설명되어 있음)
  • 이전 (Migration) 안내 (기존의 CDP와 다이를 MCD로 업그레이드하는 절차 개요)
  • 연동 툴 사용 (개발자 안내에 자세히 설명되어 있음)

 다음으로는 MCD와 다이 예치 보상 (DSR)의 최종 준비 단계로 파트너들을 안내합니다.


요약

 4가지 보안 트랙에서 모두 노력한 결과 여러 고위험 및 중대 버그들을 찾아낼 수 있었습니다. 이러한 문제점들을 평가하고 해소하기 위한 조치를 취하고 있으며, 외부 감사 기관들과 지속적으로 협력하여 MCD 출시 이전에 이러한 문제들을 완전히 해결했는지 검증할 것입니다.


다음 단계

 앞으로도, 메이커 팀은 MCD에 관련된 보안 업무들을 계속해서 철저히 진행할 것입니다. 자체 보안 로드맵을 따를 것이며, 공식 검증을 실시하고 버그 바운티 프로그램을 계속 진행하며, 위협 모니터링을 실시할 것입니다. 보안 감사는 지속적인 노력이 뒷받침되어야 합니다. 만약 출시 이후 문제점이 발견되면, 우리는 MKR 보유자들의 승인으로 시스템을 업그레이드 할 수 있는 메커니즘을 가지고 있습니다.

 메이커 팀이 집중해야 할 급선무는 아래와 같습니다.

  • 단계적 MCD 출시
  • DS-Chief와의 합의 없이 다이 신용 시스템을 직접적으로 변경할 수 있는 구성 요소가 포함된 인스턴트-액세스 모듈의 업그레이드 가능 여부
  • 비상 정지 및 재배치 테스트 시행

 끝으로, 메이커 팀은 업계 최고의 보안 파트너들과 지속적으로 협력하기를 기대하고 있습니다. 이들의 감사 보고서는 심층적이고 광범위한 분석을 제공할 것입니다. 또한, 메이커 팀은 다중 담보 다이가 어떻게 작동하는지 커뮤니티 구성원 모두가 잘 이해할 수 있도록 이를 공유할 것입니다.

 보안 감사와 버그 바운티 프로그램 및 공식 검증 업무에 대해 더 자세한 정보는 security.makerdao.com에서 확인하시기 바랍니다. MCD로 가는 메이커다오의 여정에 동참하시기를 원하실 경우, MCD 로드맵 페이지를 즐겨찾기 하시고 확인해주시기 바랍니다.


메이커다오에 대한 더 많은 정보

홈페이지 : https://makerdao.com/
카카오톡 : https://open.kakao.com/o/giWg6J2  비밀번호 : maker
트위터:https://twitter.com/makerdao
미디엄 : https://medium.com/makerdao
레딧:https://www.reddit.com/r/MakerDAO/

October 24, 2019