지금 프로젝트를 보호하세요
최대 규모의 웹3 보안 제공업체로 프로젝트를 강화하세요.
CertiK 보안 전문가가 귀하의 요청을 검토 후 곧 연락드리겠습니다.

CertiK 보안 감사 방법론에 대한 종합 가이드!

소식 ·제품 및 서비스 ·
CertiK 보안 감사 방법론에 대한 종합 가이드!

환경 설정

CertiK은 10개 이상의 주요 블록체인 생태계와 다양한 스마트 컨트랙트 프로그래밍 언어를 지원합니다. 일부 언어 및 프로젝트는 복잡한 환경 설정이 필요할 수 있으나, 사전에 구성된 가상 머신(VM) 환경을 활용해 이러한 부담을 최소화합니다. 감사팀은 해당 환경에서 코드가 정상적으로 컴파일되고 배포되는지 확인한 뒤, 실제 실행 및 테스트를 진행합니다. 이를 통해 프로젝트의 동작 방식과 구조를 실질적으로 이해하고, 잠재적인 보안 리스크를 보다 정확히 식별할 수 있습니다.

아키텍처 검토

프로젝트 아키텍처에 대한 이해는 시스템 보안의 핵심 구성 요소와 각 부품의 역할을 파악하는 데 매우 중요합니다. 또한 아키텍처를 철저히 이해하는 것은 효과적인 위협 모델링을 수행하기 위한 필수 전제 조건입니다. 이상적으로는 클라이언트가 프로젝트의 세부 아키텍처를 설명하는 공식 보고서와 기술 문서를 제공하는 것이 바람직합니다. 그러나 실제로는 이러한 아키텍처 자료가 누락되는 경우도 많기 때문에, 감사자는 직접 아키텍처를 파악하기 위한 아키텍처 추출(Architecture Extraction) 과정을 수행해야 합니다.

아키텍처 추출 과정에는 구성 요소 간의 상호작용 분석, 외부 입력 처리 방식 검토, 라이브러리 의존성 확인, 신규 기능 구현 구조 분석, 코드 표준 준수 여부 점검, 동시성 사용 여부 검토 등이 포함됩니다. 또한 감사 도구를 활용해 호출 다이어그램(Call Diagram)과 스토리지 레이아웃 다이어그램(Storage Layout Diagram)을 생성함으로써 구조를 시각적으로 분석할 수 있습니다. 예치, 대출, 수수료, 수익, 가격 오라클, 청산 모듈 등으로 구성된 전형적인 대출 프로토콜과 같이 구조가 비교적 명확한 프로젝트 유형의 경우 이 과정은 비교적 수월하게 진행될 수 있습니다. 그러나 구조가 명확히 정리되지 않았거나 널리 알려지지 않은 프로젝트의 경우, 감사자는 기능 단위 및 소스 파일 단위의 세부 분석을 통해 구성 요소의 구조와 관계를 수동으로 도출해야 할 수도 있습니다.

또한 프로젝트가 독창적인 설계인지, 아니면 기존 프로젝트를 기반으로 한 파생 버전(포크)인지 판단하는 것도 중요합니다. 포크 프로젝트는 원본 프로젝트의 취약점을 그대로 상속받을 가능성이 있기 때문입니다. 예를 들어, 팬케이크버니 프로토콜은 플래시 론 공격으로 4천만 달러 이상의 손실을 입은 바 있습니다. 해당 소스 코드는 이후 여러 프로젝트에서 포크되었으나, 취약점에 대한 충분한 검증이나 수정이 이루어지지 않아 유사한 공격이 반복적으로 발생했습니다. 철저한 보안 감사를 사전에 수행했다면 이러한 취약점은 충분히 식별하고 대응할 수 있었을 것입니다.

위협 모델링

위협 모델은 시스템의 중요 자산과 리소스, 보안 요구사항에 대한 설명과 함께, 잠재적 취약점 및 발생 가능한 보안 위협 목록을 포함하는 체계적인 분석입니다. 위협 모델의 추상적 구조는 아키텍처 검토 과정에서 수립되며, 이후 아키텍처를 기반으로 한 시스템 관련 질의응답을 통해 구체적인 보안 요구사항을 도출할 수 있습니다. 예를 들어, 거버넌스 시스템의 경우 다음과 같은 질문을 제기할 수 있습니다.

  • 누가 제안서를 제출할 수 있는가?
  • 제안서를 작성하기 위해 충족해야 하는 조건은 무엇인가?
  • 제안이 통과되기 위해 필요한 투표 비율은 얼마인가?
  • 제안의 유효성 검증 기간은 어떻게 설정되어 있는가?
  • 프로젝트는 어떤 투표 토큰과 거버넌스 메커니즘을 사용하는가?
  • 권한이 부여된 역할은 어떤 설정이나 구성을 변경할 수 있는가?

보안 요구 사항이 설정되면, 다음 단계는 발생 가능한 위협을 고려하는 것입니다. Web 2.0 환경에서 일반적으로 사용되는 위협 분류 모델은 STRIDE로, 위협을 여섯 가지 범주로 구분합니다. 구체적으로는 스푸핑(Spoofing), 변조(Tampering), 부인(Repudiation), 정보 공개(Information Disclosure), 서비스 거부(Denial of Service), 권한 상승(Elevation of Privilege)입니다. 이 방법론은 Web3 애플리케이션에 맞게 조정하여 적용할 수 있습니다. 예를 들어, DeFi 프로젝트의 경우 소스 코드가 블록체인 상에서 검증 가능하고 모든 거래 정보와 저장 데이터가 공개되기 때문에 ‘정보 공개’에 따른 위협은 상대적으로 낮을 수 있습니다. 위협 모델링 프로세스의 결과는 보안 감사를 안내하는 보안 체크리스트로 정리되며, 이를 통해 시스템의 보안 상태를 보다 철저하게 평가할 수 있습니다.

정적 분석 및 정형 검증

CertiK은 3,500건 이상의 완료된 감사와 확인된 인시던트에서 사전에 식별한 6만 건 이상의 취약점 데이터로 구축된 방대한 데이터베이스를 기반으로, 축적된 경험과 노하우를 반영한 자체 도구 제품군을 활용합니다. 해당 도구는 소스 코드 및 바이트코드 수준에서 정적 분석을 수행하여 안전하지 않은 코드 패턴을 식별하고, 다양한 다이어그램을 생성함으로써 스마트 컨트랙트 구조에 대한 인사이트를 제공합니다. 감사 대상 프로젝트가 증가할수록 식별된 취약점 데이터베이스도 함께 확장되며, 이를 통해 도구의 탐지 정확도와 분석 역량은 지속적으로 고도화됩니다. 정적 분석 외에도, CertiK은 정형 검증(Formal Verification)을 통해 클라이언트 코드가 의도한 사양을 충족하는지 수학적으로 검증합니다. 정형 검증은 프로그램이 설계된 대로 정확히 작동하는지를 증명하는 수학적 방법론으로, 프로그램의 속성과 예상 동작을 수학적 공식으로 모델링한 뒤 자동화된 검증 도구를 활용해 해당 조건이 항상 유지되는지를 확인합니다. 이러한 도구를 통해 도출되는 주요 분석 결과에는 논리적 오류, 재진입 위험, 접근 제어 미비, 오버플로 및 언더플로 문제, 가스 최적화 이슈 등이 포함됩니다. 또한 자동 분석 도구에서 생성된 결과는 오탐을 제거하고 분석의 정확성을 높이기 위해 감사자의 수동 검증 과정을 반드시 거칩니다. 이를 통해 최종적으로 보다 신뢰도 높은 감사 결과를 제공합니다.

수동 감사

자동화 도구는 강력한 분석 역량을 제공하지만, 그 자체로는 한계가 존재합니다. 그렇기 때문에 숙련된 엔지니어로 구성된 감사팀의 역할이 매우 중요합니다. 수동 검토는 코드를 한 줄씩 면밀히 분석하는 과정으로, 감사 절차 중 가장 많은 시간이 소요되는 단계입니다. 수동 검토는 크게 마이크로 감사(Micro Audit)와 매크로 감사(Macro Audit)로 구분됩니다. 마이크로 감사는 개별 함수 및 코드 단위의 동작을 이해하기 위한 세부 분석을 포함하며, 이 과정에서 다수의 버그가 발견됩니다. 주요 기법으로는 각 인수·변수·상태 필드 분석, 함수 접근 제어 수준 검토, 상태 변경 로직 확인, 유사 기능 함수 간 비교 분석 등이 있습니다. 반면, 매크로 감사는 프로젝트 전체의 구조적 관점에서 이루어집니다. 호출 관계 및 계약 계층 구조를 파악하고, 상태 필드와 함수 호출 흐름을 분석하며, 다양한 가정 조건을 검증하고 전역적 취약점을 식별하는 데 초점을 둡니다. 영향력이 큰 취약점은 단일 함수에만 국한되지 않으며, 코드의 서로 다른 위치에 있는 여러 함수 간의 잘못된 상호작용으로 인해 발생하는 경우가 많습니다.

이 프로세스는 아키텍처 검토와 위협 모델링을 통해 도출된 ‘보안 체크리스트’를 기준으로 진행됩니다. 수동 코드 감사 과정에서 감사자는 해커와 개발자의 관점을 모두 적용합니다. 해커의 시각에서는 악용될 수 있는 잠재적 취약점을 식별하는 데 집중합니다. 반면, 개발자의 시각에서는 구현의 정확성을 검증하고, 비효율적인 가스 사용이나 코드 모듈성 부족과 같은 구조적·성능적 문제를 찾아냅니다. 이처럼 상반된 두 관점을 병행함으로써 보안성과 코드 품질을 동시에 강화할 수 있습니다.

단위 테스트는 필요하다고 판단되는 경우 수동 검토를 거쳐 감사 프로세스에 통합됩니다. 단위 테스트의 목적은 특정 입력, 출력 및 엣지 케이스에 대한 시스템의 반응을 검증함으로써, 프로젝트의 각 구성 요소가 올바르게 실행되는지를 확인하고 기능에 대한 맞춤형 평가를 제공하는 데 있습니다. 테스트가 성공적으로 완료되면 코드가 의도한 사양에 따라 정상적으로 작동함을 보장할 수 있습니다. 대규모 프로젝트의 경우 여러 명의 감사자가 협업하여 감사를 수행합니다. 감사팀은 팀 단위로 계획을 수립하고, 프로젝트 내 각자의 역할과 책임을 명확히 배분합니다. 또한 정기적인 회의를 통해 진행 상황을 점검하고, 발견된 결과를 공유하며, 필요 시 긴밀히 협력합니다. 아울러 고객과 감사팀 간 원활한 소통을 위해 별도의 커뮤니케이션 채널을 구축하여, 감사 전 과정에서 효율적인 협업이 이루어질 수 있도록 합니다.

감사 접근 방식은 정적 분석, 정형 검증, 수동 검토를 통합적으로 적용하여 고객의 코드베이스 보안을 종합적으로 확보합니다. 이와 같은 포괄적인 감사 체계는 보안 취약점 발생 가능성을 최소화하고, 고객이 코드의 정확성과 안정성에 대해 높은 신뢰를 가질 수 있도록 지원합니다.

보고 및 수정

감사 보고서는 프로젝트의 유형과 생태계, 감사 범위에 대한 개요로 시작하며, 이후 프로젝트의 전반적인 보안 상태에 대한 상세한 분석을 제공합니다. 보고서에는 프로젝트 보안 평가에 활용된 방법론과 감사 접근 방식이 구체적으로 설명되어 있습니다. 또한 보안 등급과 관련 용어에 대한 이해를 돕기 위해, 부록에는 도표와 감사자 메모를 포함한 정의 및 추가 정보가 함께 제공됩니다. 정형 검증과 같은 특정 테스트의 경우, 수행된 절차와 도출된 결과를 설명하는 전용 섹션이 별도로 포함됩니다.

감사 결과에는 프로젝트에서 발견된 문제를 식별하고 분류하며, 이에 대한 권장 사항을 제시하는 상세한 설명이 포함됩니다. 각 결과 항목에는 제목, 카테고리, 심각도, 파일 위치, 완화 상태 등 관련 메타데이터가 함께 기재됩니다. 보안 이슈는 네 가지 구성 요소로 체계적으로 기록됩니다. 먼저 ‘설명’ 섹션에서는 문제 발견의 맥락을 정의하고, 해당 취약점이 보안에 미치는 영향을 개괄적으로 설명합니다. 이어지는 ‘시나리오’ 섹션에서는 익스플로잇 또는 오작동이 발생할 수 있는 조건과 단계별 과정을 제시합니다. 또한 ‘개념 증명’ 섹션에는 예상 로그 출력과 함께 익스플로잇 스크립트 및 재현 절차가 포함되어 있어, 고객이 취약점을 직접 재현하고 이해할 수 있도록 지원합니다. 마지막으로 ‘권장 사항’ 섹션에서는 실행 가능한 완화 조치를 제안하며, 조사 결과를 종합적으로 정리합니다. 이 섹션은 문제 해결을 위한 구체적이고 맞춤화된 정보를 제공하여 독자의 이해를 돕습니다. 수정 단계에서는 프로젝트 보안을 더욱 강화하기 위해 고객과 감사자 간의 지속적인 협의가 이루어집니다. 초기 보안 평가 결과가 고객에게 전달되면, 고객은 수정된 소스 코드 또는 의견을 제공합니다. 이후 감사팀은 변경 사항을 반영해 결과를 업데이트하고 수정된 보고서를 재발행합니다. 이 과정은 고객이 최종 보안 평가에 만족할 때까지 반복됩니다. 최종 보고서는 고객에게 제공되며, 보안 리더보드에 공개됩니다. 이를 통해 커뮤니티 구성원들은 CertiK의 감사 및 보안 서비스를 통해 프로젝트의 보안 등급이 어떻게 개선되었는지 확인할 수 있습니다.

요약

보안 엔지니어는 감사 업무 외에도 사고 대응, 보안 연구, 교육 및 기술 블로그작성, 컨퍼런스 발표,사이버 보안 경진대회 참가, 내부 교육 등 다양한 활동에 참여합니다. 이들은 폭넓은 기술 역량과 실무 경험을 바탕으로 보안에 대한 전문적인 인사이트를 제공합니다. 또한 지속적인 연구와 학습을 통해 업계의 최신 기준과 모범 사례를 꾸준히 파악하고, 이를 실제 보안 업무에 반영합니다.

CertiK 감사는 다른 감사 서비스와 차별화되는 몇 가지 주요 특징을 갖고 있습니다. 먼저, 사용자 지정 환경을 통해 감사자는 독자적인 분석 도구와 맞춤형 테스트를 실행할 수 있습니다. 이를 통해 프로젝트의 보안을 다각도로 점검하고, 잠재적인 취약점을 보다 정밀하게 식별할 수 있습니다. 또한 감사자의 전문성을 바탕으로 수행되는 수동 검토는 코드 전반을 최고 수준의 기준으로 면밀히 분석합니다. 이를 통해 복잡한 코드베이스에서도 숨겨진 잠재적 문제를 효과적으로 발견할 수 있습니다. 마지막으로, CertiK의 감사 보고서는 식별된 취약점에 대한 구체적이고 실행 가능한 해결 방안을 포함하도록 완전히 맞춤화되어 있습니다. 프로젝트 개발자는 권장 조치를 기반으로 취약점을 개선할 수 있으며, 이를 통해 프로젝트의 전반적인 보안 수준을 강화할 수 있습니다. CertiK 감사 서비스의 궁극적인 목적은 프로젝트 코드에 대한 종합적인 보안 평가와 신뢰할 수 있는 보안 등급을 제공하는 데 있습니다.

감사는 프로젝트 코드에 대한 기본적인 보안 평가를 제공합니다. 여기에 더해, CertiK의 추가 보안 서비스는 프로젝트의 전반적인 보안 수준을 한층 더 강화합니다. 모의 해킹 (Penetration Testing)버그 바운티 등은 추가적인 검증 절차를 통해 잠재적 취약점을 보다 심층적으로 점검할 수 있도록 지원합니다. 또한 Skynet을 통한 네트워크 모니터링과 연중무휴(24/7) 인시던트 대응 서비스를 제공함으로써, 실시간으로 발생하는 위협으로부터 프로젝트를 보호합니다. 더불어 보안 리더보드와 Web3 프로젝트 팀을 위한 고객 신원 확인 및 검증 절차(KYC).를 통해 커뮤니티 투명성을 강화합니다. CertiK Security Suite는 정적 분석 환경과 라이브 운영 환경을 모두 아우르는 포괄적인 보안을 제공함과 동시에, 프로젝트와 커뮤니티 간의 신뢰 구축을 지원합니다.

감사 보고서를 공개하는 목적은 사용자가 Web3 프로젝트에 참여할 때 수반되는 위험을 보다 정확히 이해할 수 있도록 돕기 위함입니다. 업계 전반의 보안과 투명성 기준을 향상시키는 것은 CertiK의 핵심 사명이며, 감사 프로세스를 상세히 설명하는 본 기사 역시 이러한 노력의 일환입니다.

부록

Screenshot 2023-02-24 at 1.53.28 PM

Screenshot 2023-02-24 at 1.54.16 PM

관련 블로그

CertiK Completes Proof of Reserves  Verification for Gate Dubai
새로운 · 소식 ·공지사항

CertiK Completes Proof of Reserves Verification for Gate Dubai

CertiK has completed an independent Proof of Reserves (PoR) audit for Gate Technology FZE, the Dubai-based entity of the Gate Group. Gate Dubai exchange is licensed by the Virtual Assets Regulatory Authority (VARA). The audit verified that the platform's on-chain reserves fully back its user liabilities across all in-scope assets as of December 31, 2025.

CertiK, 2025년 Skynet Hack3d 보안 보고서 발표!

CertiK, 2025년 Skynet Hack3d 보안 보고서 발표!

CertiK이 2025 Skynet Hack3D 보안 보고서를 발표했습니다. 본 보고서는 블록체인 및 스마트 컨트랙트 보안을 규정하는 주요 공격 사례, 취약점, 그리고 트렌드를 심층적으로 분석합니다. 또한 개별 사건에 대한 상세 분석과 기술적 인사이트는 물론, Web3 업계 전반의 해킹·사기·취약점 악용 사례에 대한 가장 포괄적인 통계가 담겨 있습니다.

CertiK와 NEXUS, 보안, 감사 및 스테이블코인 인프라 강화를 위한 양해각서 체결

CertiK와 NEXUS, 보안, 감사 및 스테이블코인 인프라 강화를 위한 양해각서 체결

CertiK recently signed a memorandum of understanding (MOU) with NEXUS, the blockchain infrastructure behind South Korea-listed company CROSS Protocol, to enhance security, auditing, and stablecoin infrastructure of the CROSS ecosystem. This MOU agreement is the beginning of a long-term collaboration between CertiK and NEXUS, in light of accelerated adoption in on-chain gaming and the need for security to keep pace with blockchain-based transactions.