Back to Blog

DeFi 리스크 완화 가이드 02: DeFi 사용자가 리스크를 평가하는 방법

July 5, 2024
7 min read

이 시리즈의 기사는 OKX Web3와 BlockSec이 공동 기획한 "Security Special Edition 05"에서 발췌한 것으로, DeFi 사용자와 DeFi 프로젝트 팀이 직면한 보안 문제를 다룹니다.

Q1: DeFi 프로젝트의 보안 및 위험 프로필을 예비 평가하는 데 사용할 수 있는 기준이나 지표는 무엇인가요?

BlockSec 보안팀: DeFi 프로젝트에 투자하기 전에 프로젝트에 대한 종합적인 보안 평가를 수행하는 것이 필수적입니다. 이는 특히 더 많은 자본을 보유한 참여자에게 해당되며, 보안에 대한 충분한 실사를 통해 최대한 자금의 안전을 보장할 수 있습니다.

첫째, 프로젝트의 코드 보안에 대한 종합적인 평가를 수행하는 것이 권장됩니다. 여기에는 프로젝트가 좋은 보안 평판을 가진 감사 회사에 의해 감사를 받았는지, 여러 감사 회사가 관여되었는지, 최신 코드가 감사를 받았는지 여부가 포함됩니다. 일반적으로 온라인에서 실행 중인 코드가 평판이 좋은 여러 보안 회사에 의해 감사를 받았다면 보안 공격의 위험이 크게 줄어듭니다.

둘째, 프로젝트 측이 실시간 보안 모니터링 시스템을 구축했는지 확인하는 것이 중요합니다. 보안 감사는 정적 보안을 보장하며 프로젝트 출시 후 발생하는 동적 보안 문제를 해결할 수 없습니다. 예를 들어, 프로젝트 측이 프로젝트의 주요 운영 매개변수를 부적절하게 조정하거나 새로운 풀을 추가하는 경우가 있습니다. 프로젝트 측이 실시간 보안 모니터링 시스템을 도입했다면, 그러한 솔루션을 도입하지 않은 프로토콜보다 운영 보안 수준이 더 높을 것입니다.

셋째, 자동 긴급 대응 능력을 평가하십시오. 이는 종종 간과되는 부분입니다. 수많은 보안 사고에서 프로젝트들이 중요한 기능에 대한 자동 차단기를 갖추고 있지 않다는 것을 확인했습니다. 긴급 상황을 수동으로 처리하는 것은 비효율적이며 때로는 효과가 없는 것으로 입증되었습니다.

넷째, 프로젝트의 외부 의존성과 그 견고성을 면밀히 검토하십시오. DeFi 프로젝트는 가격 및 유동성과 같은 제3자 데이터에 의존하는 경우가 많습니다. 따라서 외부 의존성의 수, 외부 의존 프로젝트의 보안성, 외부 의존성의 비정상적인 데이터에 대한 모니터링 및 실시간 처리 여부 등을 기준으로 프로젝트의 보안을 평가할 필요가 있습니다. 일반적으로 최상위 프로젝트에 의존하고 외부 프로젝트의 비정상적인 데이터에 대한 내결함성 및 실시간 처리가 가능한 프로젝트가 더 안전합니다.

다섯째, 프로젝트 측이 비교적 양호한 커뮤니티 거버넌스 구조를 갖추고 있는지가 중요합니다. 여기에는 프로젝트 측이 주요 이벤트에 대한 커뮤니티 투표 메커니즘을 보유하고 있는지, 민감한 작업이 다중 서명으로 완료되는지, 다중 서명 지갑에 중립적인 커뮤니티 참여가 도입되었는지, 커뮤니티 보안 위원회가 있는지 등이 포함됩니다. 이러한 거버넌스 구조는 프로젝트의 투명성을 높이고 사용자 자금이 러그풀될 가능성을 줄일 수 있습니다.

마지막으로, 프로젝트 측의 이력도 매우 중요합니다. 프로젝트 팀과 핵심 구성원에 대한 신원 조사를 수행할 필요가 있습니다. 프로젝트 측의 핵심 구성원이 이전 프로젝트에서 여러 번의 공격이나 러그풀 이력이 있다면, 해당 프로젝트의 보안 위험이 상대적으로 높을 것입니다.

요약하자면, DeFi 프로젝트에 참여하기 전에, 특히 대규모 자본을 보유한 사용자는 프로젝트 출시 전 코드 보안 감사부터 프로젝트 출시 후 실시간 보안 모니터링 및 자동 대응 능력 구축에 이르기까지 충분한 조사를 해야 하며, 외부 의존성, 거버넌스 구조, 프로젝트 측의 이력 등의 관점에서 실사를 수행하여 프로젝트에 투자된 자금의 안전을 보장해야 합니다.

OKX Web3 지갑 보안팀: DeFi 프로젝트에서 절대적인 보안을 보장할 수는 없지만, 사용자는 다음과 같은 핵심 차원을 고려하여 보안 및 위험 프로필을 평가할 수 있습니다.

  1. 프로젝트 기술 보안 :
  • 1)프로젝트가 평판 있고 경험 많은 여러 감사 회사에 의해 감사를 받았는지 확인하십시오.
  • 2)감사 보고서에 보고된 문제의 수와 심각도를 검토하고 모두 해결되었는지 확인하십시오.
  • 3)배포된 코드가 감사를 받은 버전과 일치하는지 확인하십시오.
  1. 오픈 소스 코드 :
  • 1)프로젝트의 코드가 오픈 소스인지 확인하여 커뮤니티와 보안 전문가들이 검토하고 잠재적으로 보안 문제를 발견할 수 있도록 하십시오.
  • 2)개발팀의 배경, 블록체인 및 보안 분야에서의 경험, 팀에 대한 투명성 및 공개 정보의 수준을 조사하십시오.
  • 3)버그 바운티: 보안 연구자들이 취약점을 보고하도록 장려하는 버그 바운티 프로그램의 존재 여부를 확인하십시오.
  1. 금융 및 경제적 보안 :
  • 1)잠긴 자금: 스마트 컨트랙트에 잠긴 자금의 양을 검토하십시오. 금액이 높을수록 프로젝트에 대한 신뢰가 높다는 것을 나타낼 수 있습니다.
  • 2)거래량 및 유동성: 프로젝트의 거래량과 유동성을 평가하십시오. 낮은 유동성은 가격 조작의 위험을 증가시킬 수 있습니다.
  • 3)토큰 경제 모델: 토큰 분배, 인센티브 메커니즘, 인플레이션 모델 등을 포함한 토크노믹스를 평가하고, 지나치게 집중된 토큰 보유 등을 확인하십시오.
  1. 운영 및 관리 보안 :
  • 1)거버넌스 메커니즘: 프로젝트의 거버넌스 구조, 탈중앙화 거버넌스 여부, 커뮤니티가 중요한 결정에 투표할 수 있는지를 파악하십시오. 거버넌스 토큰의 분배와 투표권의 집중도를 분석하십시오.
  • 2)위험 관리 조치: 프로젝트가 잠재적인 보안 위협과 경제적 공격에 대처하기 위한 위험 관리 조치와 비상 계획을 가지고 있는지 확인하십시오. 또한 정기적인 진행 보고서, 보안 업데이트, 커뮤니티와의 적극적인 소통 등 프로젝트의 투명성과 커뮤니티 소통을 고려하십시오.
  1. 시장 및 커뮤니티 인식 :
  • 1)커뮤니티 참여: 프로젝트의 커뮤니티 활동과 사용자 기반을 평가하십시오. 활발한 커뮤니티는 종종 프로젝트에 대한 광범위한 지지를 나타냅니다.
  • 2)미디어 및 소셜 미디어 분위기: 미디어와 소셜 미디어에서 프로젝트의 반응을 분석하여 사용자 및 업계 전문가의 관점을 파악하십시오.
  • 3)파트너십 및 투자자: 프로젝트가 잘 알려진 파트너 및 투자자의 지원을 받고 있는지 검토하십시오. 이는 프로젝트의 신뢰성을 높일 수 있지만, 보안의 유일한 결정 요인이 되어서는 안 됩니다.

Q2:사용자는 감사 보고서와 오픈 소스 상태 등을 어떻게 검토해야 하나요?

BlockSec 보안팀: 감사를 받은 프로젝트의 경우, 프로젝트 팀은 일반적으로 공식 채널을 통해 감사 보고서를 공개적으로 공유합니다. 이러한 감사 보고서는 일반적으로 프로젝트 측의 문서, Github 코드 저장소 및 기타 채널에서 찾을 수 있습니다. 또한 감사 보고서의 진위 여부를 확인해야 하며, 여기에는 감사 보고서의 디지털 서명 확인과 감사 회사에 연락하여 2차 확인이 포함됩니다.

그렇다면 투자자는 감사 보고서를 입수한 후 어떻게 읽어야 할까요?

첫째, 감사 보고서가 BlockSec, OpenZeppelin, Trail of Bits 등 주요 감사 회사와 같이 높은 평판을 가진 보안 회사에 의해 감사를 받았는지 확인하십시오.

둘째, 감사 보고서에 언급된 문제들이 수정되었는지 확인하고, 수정되지 않은 경우 프로젝트의 정당성을 평가하십시오. 유효한 취약점과 유효하지 않은 취약점을 구별하십시오. 감사 기준은 회사마다 다릅니다. 유효한 발견 사항을 우선시하고 독립적인 검토를 위해 자체 보안 전문가를 고용하는 것을 고려하십시오.

셋째, 감사 보고서의 시기가 최근 프로젝트 업데이트와 일치하는지 확인하십시오. 감사가 현재 온라인에 있는 모든 코드를 포함하는지 확인하십시오. 프로젝트는 비용 제약으로 인해 일부분만 감사를 받는 경우가 많습니다. 핵심 프로토콜 코드가 감사에 포함되었는지에 집중하십시오.

넷째, 감사 보고서의 시기가 최근 프로젝트 업데이트와 일치하는지 확인하십시오. 감사가 현재 온라인에 있는 모든 코드를 포함하는지 확인하십시오. 프로젝트는 비용 제약으로 인해 일부분만 감사를 받는 경우가 많습니다. 핵심 프로토콜 코드가 감사에 포함되었는지에 집중하십시오.

다섯째, 프로젝트의 온라인 코드가 오픈 소스이며 감사 보고서와 일치하는지 확인하십시오. 일반적으로 감사는 배포된 버전이 아닌 Github 코드에 대해 수행됩니다. 배포된 코드가 오픈 소스가 아니거나 감사된 코드와 크게 다른 경우, 이러한 불일치는 면밀한 주의가 필요합니다.

요약하자면, 감사 보고서를 읽는 것은 매우 전문적인 작업이며, 이 과정에서 독립적인 제3자 보안 전문가를 도입하여 컨설팅 의견을 제공받는 것이 권장됩니다.

OKX Web3 지갑 보안팀: 사용자는 OKLink와 같은 공식 또는 제3자 플랫폼을 통해 DeFi 프로젝트의 스마트 컨트랙트 감사 보고서와 오픈 소스 상태에 접근할 수 있습니다. 이를 검토하는 일반적인 단계는 다음과 같습니다:

첫째, 공식 발표 또는 웹사이트를 확인하십시오. 대부분의 신뢰할 수 있는 DeFi 프로젝트는 공식 웹사이트에 관련 문서 정보를 표시합니다. 프로젝트의 문서 페이지에는 일반적으로 "보안," "감사," 또는 "컨트랙트 주소" 항목 아래에 감사 보고서 링크와 프로젝트 측이 배포한 컨트랙트 주소가 있습니다. 프로젝트 측의 공식 웹사이트 외에도 Medium, Twitter 등의 공식 소셜 미디어에 감사 보고서와 배포된 컨트랙트 주소 정보를 표시하는 경우가 많습니다.

둘째, 프로젝트 측의 공식 웹사이트를 확인한 후, OKLink 브라우저를 사용하여 프로젝트 측이 제공한 컨트랙트 주소 정보를 조회하고 "컨트랙트" 열에서 해당 주소에 배포된 컨트랙트의 오픈 소스 코드 정보를 확인할 수 있습니다.

셋째, 프로젝트 측의 감사 보고서와 배포된 컨트랙트의 오픈 소스 코드 정보를 얻은 후, 프로젝트 측의 감사 보고서를 읽기 시작할 수 있습니다. 감사 보고서를 읽을 때 다음 사항에 주의하십시오:

  • 1)감사 보고서의 구조를 이해하고 감사 보고서의 내용에 대한 전반적인 개념을 파악하십시오. 감사 보고서는 대략 서론, 발견된 문제, 해결책 및 권고 사항, 감사 결과로 나뉩니다.
  • 2)서론을 읽을 때 감사 보고서의 범위와 목적에 주의를 기울이십시오. 감사 보고서는 일반적으로 감사된 파일의 Github Commit Id를 표시하며, 감사 보고서에서 감사된 파일이 체인에 배포된 오픈 소스 코드와 일치하는지 비교해야 합니다.
  • 3)'발견된 문제', '해결책 및 권고 사항', '감사 결과'를 검토할 때, 프로젝트 팀이 권고 사항에 따라 취약점을 해결하고 모든 문제가 해결되었는지 확인하기 위한 후속 감사를 수행했는지 확인하십시오.
  • 4)여러 보고서를 비교하십시오. 여러 번 감사를 받은 프로젝트의 경우, 보고서를 비교하여 프로젝트의 보안 향상을 추적하십시오.

Q3 : 해킹 이력과 버그 바운티 프로그램이 DeFi 프로젝트 보안 평가에 있어서 중요한 이유는 무엇인가요?

OKX Web3 지갑 보안팀: 해킹 이력과 버그 바운티 프로그램은 DeFi 프로젝트의 보안 평가에 일정한 참고 가치를 제공하며, 주로 다음과 같은 측면에서 반영됩니다:

첫째, 해커 공격 이력

  • 1)역사적 취약점 공개: 공격 이력은 프로젝트가 과거에 가졌던 구체적인 보안 취약점을 보여주어, 사용자가 어떤 보안 문제가 악용되었고 이러한 문제들이 철저히 해결되었는지 이해할 수 있게 합니다.
  • 2)위험 관리 능력 평가: 프로젝트가 역사적 보안 사고에 어떻게 대응하는지는 위험을 관리하고 위기를 처리하는 능력을 반영할 수 있습니다. 적극적으로 대응하고, 취약점을 적시에 수정하며, 피해를 입은 사용자를 보상하는 프로젝트는 일반적으로 더 신뢰할 수 있고 성숙한 투자 선택으로 간주됩니다.
  • 3)프로젝트 평판: 빈번한 보안 문제는 프로젝트에 대한 사용자 신뢰를 저하시킬 수 있지만, 프로젝트가 실수로부터 배우고 보안 조치를 강화하는 능력을 보여줄 수 있다면 장기적인 평판을 쌓을 수도 있습니다.

둘째, 버그 바운티 프로그램

DeFi 및 기타 소프트웨어 프로젝트에서 버그 바운티 프로그램의 시행은 보안을 개선하고 잠재적 취약점을 발견하기 위한 중요한 전략입니다. 이러한 프로그램은 프로젝트의 보안 평가에 다양한 측면의 참고 가치를 제공합니다:

  • 1)외부 감사 강화: 버그 바운티 프로그램은 전 세계 보안 연구자들이 프로젝트의 보안 감사에 참여하도록 장려합니다. 이 "크라우드소싱" 방식의 보안 테스트는 내부 감사에서 놓칠 수 있는 문제를 발견하여 잠재적 취약점을 발견하고 해결할 가능성을 높일 수 있습니다.
  • 2)보안 조치의 효과성 검증: 버그 바운티 프로그램을 통해 프로젝트는 실제 환경에서 보안 조치의 효과성을 테스트할 수 있습니다. 프로젝트의 버그 바운티 프로그램이 오랫동안 운영되었지만 심각한 취약점이 거의 보고되지 않았다면, 이는 프로젝트가 비교적 성숙하고 안전하다는 지표가 될 수 있습니다.
  • 3)지속적인 보안 개선: 버그 바운티 프로그램은 지속적인 개선을 위한 메커니즘을 제공합니다. 새로운 기술과 공격 방법이 등장함에 따라, 버그 바운티 프로그램은 프로젝트 팀이 보안 조치를 적시에 업데이트하고 강화하여 프로젝트가 최신 보안 과제에 대처할 수 있도록 도와줍니다.
  • 4)보안 문화 확립: 프로젝트에 버그 바운티 프로그램이 있는지, 그리고 해당 프로그램의 진지함과 활동 수준은 보안에 대한 프로젝트 팀의 태도를 반영할 수 있습니다. 활발한 버그 바운티 프로그램은 견고한 보안 문화를 구축하려는 프로젝트의 의지를 보여줍니다.
  • 5)커뮤니티 및 투자자 신뢰 강화: 버그 바운티 프로그램의 존재와 효과성은 커뮤니티와 잠재적 투자자에게 프로젝트의 보안에 대한 강조를 증명할 수 있습니다. 이는 사용자 신뢰를 높일 수 있을 뿐만 아니라 더 많은 투자를 유치할 수 있습니다. 투자자들은 높은 보안 책임 의식을 보여주는 프로젝트를 선택하는 경향이 있기 때문입니다.