BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Web3.0 감사 가이드: CertiK 감사는 다른 회사와 어떻게 다릅니까?

CertiK
特邀专栏作者
2023-03-07 03:17
이 기사는 약 4036자로, 전체를 읽는 데 약 6분이 소요됩니다
CertiK는 감사를 어떻게 수행하고, 감사 방법론은 무엇이며, 주요 감사 기능은 무엇입니까?
AI 요약
펼치기
CertiK는 감사를 어떻게 수행하고, 감사 방법론은 무엇이며, 주요 감사 기능은 무엇입니까?

0sAEsEXl6AC2nz6tUZ4KaD5AYCR0ssK8Z5w0OmCU.jpeg

감사는 항상 블록체인 프로젝트의 보안과 안정성을 보장하는 데 중요한 역할을 해왔습니다.

CertiK의 감사 전문가 팀은 광범위한 경험을 보유하고 있으며 지금까지 4,000개 기업 고객의 인정을 받았으며 70,000개 이상의 코드 취약성을 발견했으며 3,600억 달러 이상의 디지털 자산을 보호했습니다.

CertiK의 감사 프로세스는 포괄적이고 철저하며 보안 전문가가 취약성 또는 위험에 대한 프로젝트의 설계, 아키텍처 및 소스 코드를 면밀히 조사합니다.

보안 전문성과 업계 최고의 종단 간 보안 솔루션을 통해 CertiK는 가장 기본적인 토큰에서 가장 복잡한 DeFi 프로토콜 및 블록체인 서브.

하지만 우리가 어떻게 감사를 수행하는지, 감사 방법이 무엇인지, 주요 감사 기능이 무엇인지 궁금해하는 사용자가 있을 것입니다.

이 기사에서 답을 얻을 수 있습니다. 감사 프로세스의 첫 번째 단계는 소스 코드를 얻고 사용자 지정 환경을 구축하는 것입니다.

두 번째 단계는 프로젝트 문서를 검토하고 위협 모델 분석을 수행한 다음 내부 도구와 사람이 감사하여 보안 격차와 설계 결함을 찾는 것입니다.

세 번째 단계는 식별된 위험과 개선을 위한 권장 사항이 포함된 초기 검토 보고서를 제출하는 것입니다.

네 번째 단계는 최종 감사 보고서를 발행하는 것입니다. 이 보고서는 감사 작업이 프로젝트에 가져온 도움을 자세히 설명하고 CertiK 감사 전문가가 주요 Web3.0 취약성을 방지하는 데 프로젝트를 지원한 방법을 보여줍니다.

환경 구성

현재 CertiK의 감사 및 종단 간 보안 솔루션은 현재 시장에 나와 있는 대부분의 생태계를 포괄하고 거의 모든 주류 프로그래밍 언어를 지원합니다. 생태 체인은 보안 기술 지원을 제공합니다.

일부 프로그래밍 언어로 작성된 프로젝트는 매우 복잡한 구성 프로세스가 필요할 수 있지만 사전 구성된 가상 머신 환경을 사용하여 이 문제를 어느 정도 해결할 수 있습니다. 구성된 환경으로 코드를 가져오고 성공적인 컴파일 가능 여부 확인 그리고 배포되면 보안 전문가가 코드를 실행하고 테스트를 작성하여 프로젝트를 더 깊이 이해할 수 있도록 환경이 설정됩니다.

아키텍처 감사

프로젝트의 아키텍처를 결정하는 것은 시스템 및 안전의 주요 구성 요소와 부품을 이해하는 데 중요합니다.

효과적인 위협 모델 분석을 위해서는 아키텍처에 대한 철저한 이해도 필수적입니다.

이상적으로는 프로젝트 팀이 프로젝트의 세부 아키텍처를 설명하는 백서와 기술 문서를 제공합니다.

그러나 대부분의 경우 이러한 스키마 파일이 누락되어 감사자가 스키마를 확인하기 위해 스키마 추출을 수행해야 합니다.

아키텍처 추출에는 구성 요소 간의 상호 작용 확인, 외부 입력 처리, 라이브러리 가져오기, 새로운 아이디어 구현, 코딩 표준 준수 및 동시성 지원이 포함됩니다.

예금, 대출, 수수료, 소득, 가격 오라클, 청산 구성 요소가 포함된 대출 프로토콜과 같은 일반적인 프로젝트 유형의 경우 도구를 활용하여 호출 그래프 및 스토리지 레이아웃 그래프를 생성하여 시각화 프로세스를 지원하는 것이 간단할 수 있습니다.

그러나 제대로 구성되지 않았거나 일반적이지 않은 프로젝트의 경우 감사자는 기능 및 소스 파일을 하나씩 분석하여 구성 요소 구조와 해당 관계를 수동으로 결정해야 할 수 있습니다.

프로젝트가 독창적인 디자인인지 아니면 다른 프로젝트의 포크인지 결정하는 것도 중요합니다. 포크는 원래 프로젝트의 취약점을 물려받을 가능성이 높기 때문에 -PancakeBunny이 프로토콜은 4,000만 달러가 넘는 플래시 론 공격을 받았고 소스 코드는 취약성을 식별하고 수정하지 못해 동일한 공격을 받은 다른 여러 프로젝트에서 분기되었습니다. 그러나 철저한 보안 감사를 통해 이러한 공격을 피하기 위해 이 취약점을 발견했을 수 있습니다.

위협 모델 분석

위협 모델 분석에는 프로젝트의 주요 자산, 리소스 및 보안 요구 사항에 대한 설명이 포함되며 잠재적 취약성 및 보안 위협 목록을 개발합니다.

추상적인 설명은 아키텍처 감사 중에 설정되며 보안 요구 사항은 시스템 아키텍처를 기반으로 질문하고 대답하여 식별할 수 있습니다. 예를 들어 거버넌스 시스템에서 다음 질문을 해보십시오.

  • 누가 제안서를 작성할 수 있습니까?

  • 제안서를 작성하기 위한 요구 사항은 무엇입니까?

  • 제안이 통과되려면 몇 퍼센트의 투표가 필요합니까?

  • 제안서의 유효 기간은 얼마나 되나요?

  • 프로젝트에서 사용하는 투표 토큰 및 메커니즘은 무엇입니까?

  • 권한 있는 계정은 어떤 구성을 수정할 수 있습니까?

보안 요구 사항이 파악되면 직면할 수 있는 위협을 고려해야 합니다.

Web2.0에서 일반적으로 사용되는 위협 분류 모델은 STRIDE로 위협을 사기, 변조, 거부, 정보 유출, 서비스 거부 및 권한 에스컬레이션의 6가지 범주로 나눕니다.

이 메서드는 Web3.0에서 약간 수정해야 합니다. 예를 들어 DeFi 프로젝트에서는 블록체인에서 소스 코드를 검증하고 모든 거래 정보와 저장 데이터가 공개되기 때문에 "정보 유출"의 위협은 그다지 크지 않습니다.

위협 모델 분석의 최종 결과는 보안 감사를 안내하고 시스템의 보안 상태를 보다 포괄적으로 평가하기 위한 보안 체크리스트를 생성합니다.

정적 분석 및 공식 검증

End-to-End 보안 솔루션을 통해 Web3.0을 위한 보안 서비스를 제공하며, CertiK의 풍부한 감사 경험과 기술적 배경을 활용합니다.

엔드투엔드 보안 솔루션에 포함된 도구 및 서비스는 CertiK에서 발견한 수천 개의 감사 기록과 70,000개 이상의 취약점으로 구성된 방대한 데이터베이스로 지원됩니다.

그 중 우리의 보안 도구는 소스 코드 및 바이트 코드 수준에서 코드를 정적으로 테스트하고 안전하지 않은 코드 패턴을 식별하며 그래프를 생성하여 스마트 계약의 시각적 분석을 제공합니다.

이러한 보안 도구는 기계 학습 및 스마트 계약 위험 환경이 계속 변화하고 위협 인텔리전스 및 스마트 계약 취약성 라이브러리가 계속 축적됨에 따라 발전할 것입니다.

정적 분석 외에도 공식 검증을 사용하여 프로젝트 코드의 안전을 보장하고 프로그램이 예상 사양에 따라 실행되도록 합니다.

형식 확인은 컴퓨터 프로그램이 예상대로 작동하는지 확인하기 위한 수학적 증명 방법입니다.

프로그램의 속성과 예상되는 동작을 수학 공식으로 표현한 다음 자동화된 도구를 사용하여 이러한 공식이 유지되는지 확인합니다. 이 프로세스는 논리 문제, 재진입 위험, 액세스 제어 부족, 오버플로/언더플로 및 가스 최적화 등을 포함한 주요 결과를 통해 프로그램이 예상대로 작동하도록 보장합니다.

그러나 최종 결과는 결과의 정확성을 보장하기 위해 감사 전문가가 수동으로 확인해야 합니다.

수동 감사

보안 도구는 실제로 강력하지만 한계가 있으며 여기에서 숙련된 엔지니어 팀이 역할을 수행합니다.

수동 감사의 내용에는 전체 감사 프로세스에서 가장 시간이 많이 걸리는 단계인 매우 상세한 코드 라인별 검사가 포함됩니다.

수동 감사는 마이크로 감사와 매크로 감사의 두 부분으로 나눌 수 있습니다.

미세 감사에는 모든 기능을 이해하기 위해 코드를 분석하는 작업이 포함되며 그 과정에서 종종 코드에서 문제를 발견합니다. 감사의 이 부분에서 다루는 기술에는 각 매개변수, 변수 및 필드 분석, 기능 액세스 제어 감사 및 상태 변수 수정, 유사한 기능 비교가 포함됩니다.

매크로 감사는 프로젝트의 호출/계약 계층 구조를 이해하고 상태 변수 및 기능이 발생하는 위치를 검색하고 다양한 가상 시나리오를 확인하여 글로벌 취약성을 식별하는 것입니다.

예를 들어 치명적인 취약점의 원인은 일반적으로 단일 기능에 국한되지 않고 코드의 다른 부분에 있는 여러 기능 간의 잘못된 상호 작용으로 인해 발생할 수 있습니다.

위협 모델링 결과에서 파생된 아키텍처 감사 및 "보안 체크리스트"에 대해 위에서 언급했으며 수동 감사 프로세스에서도 이러한 결과를 참조할 것입니다.

수동 코드 감사 중에 감사자는 해커와 개발자 모두의 관점을 취합니다. 해커 사고 방식은 악용될 수 있는 잠재적인 취약점을 찾는 데 사용되는 반면 개발자 사고 방식은 실행을 확인하고 비효율적인 가스 사용 및 코드 모듈성 부족과 같은 코드의 결함을 식별하는 데 사용됩니다.

또한 필요한 경우 사람의 감사에 단위 테스트를 통합합니다.

단위 테스트는 프로젝트 구성 요소가 특정 입력, 출력 및 에지 케이스에 올바르게 응답하는지 확인하는 것을 포함하여 각 프로젝트의 고유한 특성에 맞는 보안 평가입니다.

단위 테스트가 성공적으로 실행되면 코드가 실제로 예상 사양에 따라 작동하고 있음을 의미합니다.

대규모 프로젝트의 경우 CertiK는 여러 감사자를 배치하여 팀으로 감사를 수행하고, 감사 계획을 수립하고 해당 책임을 할당하고, 감사 진행 및 결과를 논의하기 위해 정기적인 회의를 개최하고, 필요한 경우 함께 작업합니다. 또한 프로젝트와 감사팀 사이에 편리한 의사소통 채널을 구축하여 우선적으로 프로젝트 감사 내용에 대해 소통할 것입니다.

CertiK의 감사 방법론은 프로젝트 코드 기반의 보안을 보장하기 위해 정적 분석, 공식 검증 및 인간 감사를 포함한 보안 기술을 통합합니다. 이 포괄적인 접근 방식은 보안 위반의 위험을 최소화하여 프로젝트에 코드의 정확성과 보안에 대한 완전한 확신을 줍니다.

감사 보고서 및 코드 수정

우리의 감사 보고서는 프로젝트 유형, 생태계 및 감사 범위에 대한 설명으로 시작하여 프로젝트의 보안 상태에 대한 자세한 분석을 제공합니다. 이 보고서는 우리가 프로젝트 보안을 평가하는 데 사용하는 방법론과 감사 방법론을 설명합니다.

독자가 보고서의 안전 등급 및 용어를 더 쉽게 이해할 수 있도록 보고서의 부록 섹션에서 차트 및 감사자 메모를 포함하여 감사에 대한 정의 및 기타 정보를 제공합니다. 수행된 특정 테스트(예: 공식 검증)는 보고서에 구체적으로 언급되어 실행 프로세스 및 최종 결과를 설명합니다.

우리가 제공하는 각 위험 "발견"에는 프로젝트에서 발견된 문제에 대한 식별, 분류 및 권장 사항 제공과 이러한 내용에 대한 자세한 설명이 포함됩니다.

각 마이닝된 위험 "발견"에는 범주, 심각도, 파일 위치 및 해결 상태와 같은 제목 및 데이터가 포함됩니다.

다음 4개 섹션에서는 보안 고려 사항을 자세히 설명합니다.

설명: 위험 취약점의 컨텍스트를 정의하고 보안에 미치는 영향을 설명합니다.

시나리오: 취약성을 유발하거나 프로젝트 실패를 유발하는 단계 및 전제 조건을 소개합니다.

개념 증명: 악용 스크립트 및 지침은 물론 클라이언트 측에서 취약점을 재현하기 위한 예상 로그 출력을 포함합니다.

권장 사항: 실행 가능한 솔루션 또는 수정 사항을 제공하여 모든 결과를 요약합니다.

이 섹션에서는 독자의 이해를 돕기 위한 상세하고 구체적인 정보를 제공합니다.

수리 단계에서 프로젝트 팀은 프로젝트의 보안을 더욱 향상시키기 위해 감사 팀과 계속 소통합니다.

초기 검토 보고서는 프로젝트 팀에 발행되며 소스 코드 업데이트 또는 주석으로 응답할 수 있습니다. 프로젝트 팀이 제출한 응답을 기반으로 평가 결과를 업데이트하고 최종 검토 보고서에서 코드 변경 사항을 기록합니다.

마지막에 쓰기

마지막에 쓰기

CertiK의 보안 엔지니어는 감사 서비스 외에도 위협 사고 대응, 보안 연구, 교육 기술 분석 게시, 회의 참여, 깃발 경쟁 및 내부 교육 캡처 등 다분야 기술을 보유하고 있습니다. 보안 분야에 대한 이해, 지속적인 교육 및 연구를 통해 최신 산업 표준 및 모범 사례에 대한 깊은 이해를 얻으십시오.

CertiK의 감사에는 다른 감사 서비스와 차별화되는 몇 가지 주요 기능이 있습니다.

① 당사의 맞춤형 환경을 통해 감사 전문가는 독점 도구 및 맞춤형 테스트를 실행할 수 있습니다. 이렇게 하면 프로젝트의 보안이 철저히 테스트됩니다.

② 전문가 수준의 우리 감사 전문가는 수동 감사가 최고 수준의 상세한 코드 검사를 수행할 수 있도록 보장할 수 있습니다. 따라서 가장 복잡한 코드 베이스에서도 잠재적인 취약점을 발견할 수 있습니다.

③ CertiK의 감사 보고서는 프로젝트 팀을 위한 위험 솔루션을 제공하기 위해 완전히 사용자 정의됩니다. 프로젝트 개발자는 위험과 취약성을 해결하기 위한 실행 가능한 단계를 확보하여 프로젝트의 전반적인 보안을 향상시킬 수 있습니다.

CertiK 감사 서비스의 목적은 프로젝트 코드에 대한 종합적인 보안 평가를 제공하는 것입니다. 따라서 이는 프로젝트 코드가 기본 보안 평가를 받았지만 보안을 더욱 강화하기 위해 CertiK의 보안 솔루션이 강력하게 필요하다는 것을 의미했습니다.

CertiK의 종단 간 보안 솔루션에는 침투 테스트, 버그 바운티 및 추가 테스트 서비스가 포함되어 프로젝트의 보안을 더욱 강화합니다.

스카이넷 스카이넷 시스템그리고 24*7 위협 사고 대응은 프로젝트에 온체인 모니터링을 제공하여 악의적인 착취 및 위협을 방지할 수 있습니다.

안전 리더보드그리고 Web3.0 프로젝트 팀의KYC 실사커뮤니티 투명성과 신뢰를 향상시킬 수 있습니다.

CertiK의 종단 간 보안 솔루션은 정적 및 온체인 운영 환경에서 프로젝트에 대한 포괄적인 보안을 제공할 뿐만 아니라 커뮤니티 내에서 신뢰를 구축하여 사용자가 상호 작용하는 프로젝트의 위험을 더 잘 이해할 수 있도록 합니다. 감사 보고서를 공개하는 이유.

Web 3.0 산업 전반에 걸쳐 보안 표준과 투명성을 개선하는 것이 우리의 임무이며 그 중 일부는 이 기사에 반영되어 있습니다. 우리는 Web3.0의 미래가 건강하고 안전할 것으로 기대하며 이 목표를 단계적으로 달성하도록 도울 것입니다.

안전
스마트 계약
개발자
Web3.0
포크
기술
Odaily 공식 커뮤니티에 가입하세요