Back to Blog

DeFi 리스크 완화 가이드 04: DeFi 프로젝트 팀을 위한 보안 실천 방안

July 7, 2024
4 min read

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

Q1 : DeFi 프로젝트가 직면하는 위험의 유형은 무엇이며, 어떻게 대처할 수 있나요?

BlockSec 보안 팀 : DeFi 프로젝트는 코드 보안 위험, 운영 보안 위험, 외부 의존성 위험 등 여러 유형의 위험에 직면합니다.

첫째, 코드 보안 위험은 DeFi 프로젝트의 코드 수준에서 발생할 수 있는 잠재적 취약점을 의미합니다. DeFi 프로젝트에서 스마트 컨트랙트는 비즈니스 로직의 핵심(프론트엔드 및 백엔드 처리 로직은 전통적인 소프트웨어 개발에 속하며 비교적 성숙해 있음)이므로, 우리의 주요 관심과 논의 대상이 됩니다. 여기에는 다음이 포함됩니다 :

  • 1)먼저, 개발 관점에서 재진입 취약점 방지를 위한 Checks-Effects-Interactions 패턴 등 업계에서 인정받는 스마트 컨트랙트 보안 개발 관행을 따르는 것이 필요합니다. 또한 일반적인 기능은 검증된 서드파티 라이브러리를 사용하여 구현함으로써 바퀴를 재발명하는 데 따른 미지의 위험을 피해야 합니다.
  • 2)둘째, 철저한 내부 테스트가 필수적입니다. 테스트는 많은 문제를 발견하는 데 도움이 되는 소프트웨어 개발의 중요한 부분입니다. 그러나 DeFi 프로젝트의 경우, 로컬 테스트만으로는 문제를 충분히 드러내기 어려우며, 실제 배포 환경에 가까운 환경에서의 추가 테스트가 필요합니다.
  • 3)마지막으로, 테스트가 완료된 후 평판이 좋은 서드파티 감사 서비스를 이용하세요. 감사가 100% 문제 없음을 보장할 수는 없지만, 체계적인 감사는 프로젝트 팀이 일반적인 보안 문제를 식별하는 데 크게 도움이 될 수 있습니다. 이러한 문제들은 개발자들이 익숙하지 않거나 사고방식의 차이로 인해 발견하기 어려운 영역인 경우가 많습니다. 물론 감사 회사마다 전문성과 집중 분야가 다르므로, 예산이 허락한다면 실무에서 두 개 이상의 감사 회사를 참여시키는 것을 권장합니다.

둘째, 운영 보안 위험은 출시 후 발생하며, 엄격한 개발·테스트·감사 이후에도 발견되지 않은 잠재적 코드 취약점뿐만 아니라, 개인 키 유출 및 시스템 매개변수 잘못 구성 등 배포 후 문제도 포함됩니다. 이는 심각한 결과와 상당한 손실로 이어질 수 있습니다. 이러한 위험을 완화하기 위한 권장 전략은 다음과 같습니다 :

  • 1)신뢰할 수 있는 하드웨어 지갑이나 MPC 기반 지갑 솔루션 등 강력한 개인 키 관리 시스템을 구축하세요.
  • 2)권한 있는 작업과 프로젝트의 보안 상태를 감지하기 위해 운영 상태를 실시간으로 모니터링하세요.
  • 3)BlockSec Phalcon 사용 등 위험에 대한 자동화된 대응 메커니즘을 구축하여, 공격이 감지되었을 때 추가 손실을 방지하기 위한 차단을 자동으로 실행할 수 있도록 하세요.
  • 4)권한 있는 작업에서 단일 장애점 위험을 피하고, 멀티시그 지갑 Safe{Wallet}를 사용하여 권한 있는 작업을 실행하세요.

셋째, 외부 의존성 위험은 프로젝트의 외부 의존성으로 인한 위험을 의미합니다. 예를 들어, 다른 DeFi 프로토콜이 제공하는 가격 오라클에 의존하는 경우, 오라클에 문제가 발생하면 잘못된 가격 계산으로 이어질 수 있습니다. 외부 의존성 위험에 대처하기 위한 권장 사항은 다음과 같습니다 :

  • 1)업계에서 인정받는 최상위 프로토콜과 같이 신뢰할 수 있는 외부 파트너를 선택하세요.
  • 2)운영 상태를 모니터링하세요. 운영 보안 위험과 유사하지만, 여기서의 모니터링 대상은 외부 의존성입니다.
  • 3)위험에 대한 자동화된 대응 메커니즘을 구축하세요. 운영 보안 위험과 유사하지만, 전체 프로토콜을 직접 일시 중지하는 대신 백업 의존성으로 전환하는 등 대응 방법이 다를 수 있습니다.

또한, 모니터링 역량을 구축하고자 하는 프로젝트 팀을 위해 몇 가지 모니터링 조언도 제공합니다 :

  • 1)모니터링 포인트를 정확하게 설정하세요: 프로토콜의 어떤 핵심 상태(변수)를 모니터링해야 하고 어디서 모니터링할지를 결정하는 것이 모니터링 역량 구축의 첫 번째 단계입니다. 그러나 모든 모니터링 포인트를 포괄적으로 커버하기는 어렵습니다. 특히 공격 모니터링에서는 실제 환경에서 검증된 외부 전문 서드파티 공격 탐지 엔진을 사용하는 것이 권장됩니다.

BlockSec Phalcon은 검증된 실적을 보유한 세계 유일의 공격 모니터링 및 차단 플랫폼입니다. 20회 이상의 화이트햇 해커 구조 작업에서 2,000만 달러 이상의 자산을 보호했습니다. 자세한 내용은 아래에서 확인하세요 👇

  • 2)모니터링의 정밀도와 적시성을 확보하세요: 모니터링의 정밀도는 오탐(FP)과 미탐(FN)을 최소화하는 것을 의미합니다. 정확성이 부족한 모니터링 시스템은 사실상 사용할 수 없습니다. 적시성은 대응을 위한 전제 조건입니다(예: 의심스러운 컨트랙트가 배포되기 전이나 공격 트랜잭션이 체인에 올라오기 전에 탐지할 수 있는지 여부). 그렇지 않으면 사후 분석에만 사용할 수 있으며, 이는 모니터링 시스템에 높은 성능과 안정성을 요구합니다.
  • 3)자동화된 대응 역량이 필요합니다: 정확하고 실시간 모니터링을 기반으로, 프로토콜 일시 중지를 통한 공격 차단 등의 자동화된 대응을 구축할 수 있습니다. 여기서는 프로젝트 팀의 요구에 따라 대응 전략을 유연하게 맞춤 설정하고 자동으로 실행을 트리거할 수 있도록 지원하는 맞춤화 가능하고 신뢰할 수 있는 자동화된 대응 프레임워크가 필요합니다.

일반적으로, 모니터링 역량 구축에는 전문 외부 보안 벤더의 참여가 필요합니다.

OKX Web3 지갑 보안 팀 : DeFi 프로젝트 팀은 다양한 위험에 직면하며, 주로 다음 범주를 포함합니다:

  • 1)기술적 위험: 주로 스마트 컨트랙트 취약점과 사이버 공격을 포함합니다. 보호 조치에는 안전한 개발 관행 채택, 포괄적인 스마트 컨트랙트 감사를 위한 전문 서드파티 감사 회사 고용, 화이트햇 해커가 취약점을 발견하도록 장려하는 버그 바운티 프로그램 설정, 자금 보안 향상을 위한 자산 격리 등이 포함됩니다.
  • 2)시장 위험: 주로 가격 변동, 유동성 위험, 시장 조작, 컴포저빌리티 위험을 포함합니다. 보호 조치에는 가격 변동에 대비하기 위한 스테이블코인 및 위험 헤징 사용, 유동성 위험에 대처하기 위한 유동성 채굴 및 동적 수수료 메커니즘 활용, 시장 조작 방지를 위한 DeFi 프로토콜이 지원하는 자산 유형의 엄격한 검토 및 탈중앙화 오라클 사용, 경쟁 위험에 대처하기 위한 지속적인 혁신 및 프로토콜 기능 최적화 등이 포함됩니다.
  • 3)운영 위험: 주로 인적 오류와 거버넌스 메커니즘 위험을 포함합니다. 보호 조치에는 인적 오류를 줄이기 위한 엄격한 내부 통제 및 운영 프로세스 확립, 운영 효율성 향상을 위한 자동화 도구 사용, 투표 지연 및 다중 서명 메커니즘 도입 등 탈중앙화와 보안의 균형을 맞추는 강력한 거버넌스 메커니즘 설계 등이 포함됩니다. 또한, 운영 중인 프로젝트를 모니터링하고 이상 발생 시 즉각적인 조치를 취하고 손실을 최소화하기 위한 비상 계획을 마련해야 합니다.
  • 4)규제 위험: 주로 법적 준수 요건과 자금세탁방지(AML)/고객확인(KYC) 의무를 포함합니다. 보호 조치에는 프로젝트가 법적·규제적 요건을 준수하도록 보장하기 위한 법률 자문 고용, 투명한 준수 정책 수립, 사용자 및 규제 당국과의 신뢰를 높이기 위한 AML 및 KYC 조치의 적극적 시행 등이 포함됩니다.

Q2 : DeFi 프로젝트는 평판 좋은 감사 회사를 어떻게 평가하고 선택해야 하나요?

BlockSec 보안 팀 : 참고할 수 있는 몇 가지 간단한 기준은 다음과 같습니다:

  • 1)잘 알려진 프로젝트를 감사한 경험이 있는지: 이는 해당 감사 회사가 이러한 유명 프로젝트들로부터 인정받았음을 나타냅니다.
  • 2)감사한 프로젝트가 공격을 받은 적이 있는지: 이론적으로 감사가 100% 보안을 보장할 수 없지만, 실제 경험에 따르면 평판 좋은 감사 회사가 감사한 대부분의 프로젝트는 공격을 받지 않았습니다.
  • 3)과거 보고서를 통한 감사 품질 평가: 감사 보고서는 감사 회사의 전문성을 나타내는 중요한 지표이며, 특히 동일한 감사 프로젝트와 동일한 감사 범위를 비교할 수 있을 때 더욱 그렇습니다. 발견된 취약점의 품질(심각도)과 수량, 그리고 그 발견 사항이 프로젝트 팀에 의해 일반적으로 수용되는지에 초점을 맞춰야 합니다.
  • 4)전문 인력: 감사 회사 인력의 구성, 학력 및 전문적 배경, 체계적인 교육, 업계 경험 등이 감사 품질 확보에 매우 중요합니다.