Web3.0 監査ガイド: CertiK Audit は他の企業とどう違うのですか?

avatar
CertiK
1年前
本文は約6279字で,全文を読むには約8分かかります
CertiK はどのように監査を実施しますか?監査方法はどのようなものですか?また、主要な監査機能は何ですか?

Web3.0 監査ガイド: CertiK Audit は他の企業とどう違うのですか?

監査は、ブロックチェーン プロジェクトのセキュリティと安定性を確保する上で常に重要な役割を果たしてきました。

CertiK の監査専門家チームは豊富な経験を持ち、これまでに 4,000 社の顧客に認められ、70,000 以上のコードの脆弱性を発見し、3,600 億ドル以上のデジタル資産を保護してきました。

CertiK の監査プロセスは包括的かつ徹底的であり、セキュリティ専門家がプロジェクトの設計、アーキテクチャ、ソース コードに脆弱性やリスクがないか精査します。

CertiK は、セキュリティの専門知識と業界をリードするエンドツーエンドのセキュリティ ソリューションにより、Web3.0 業界のセキュリティ分野をリードし続け、最も基本的なトークンから最も複雑な DeFi プロトコル、さらには全体的なアーキテクチャに至るまでセキュリティ監査を提供します。ブロックチェーンが提供します。

しかし、監査をどのように実施するのか、監査方法は何なのか、主要な監査機能は何なのか、疑問に思っているユーザーもいるはずです。

この記事を読んでください。その答えはこの記事にあります。監査プロセスの最初のステップは、ソース コードを取得し、カスタム環境を構築することです。

2 番目のステップは、プロジェクト文書をレビューして脅威モデル分析を実施し、続いて内部ツールと人間による監査を行ってセキュリティのギャップや設計上の欠陥を見つけます。

3 番目のステップは、特定されたリスクとその改善のための推奨事項を含む初期レビュー レポートを提出することです。

4 番目のステップは、最終監査レポートを発行することです。このレポートでは、監査作業がプロジェクトにもたらした支援を詳細に説明し、主要な Web3.0 脆弱性を回避するために CertiK 監査専門家がプロジェクトをどのように支援したかを示します。

環境構成

現在、CertiK の監査およびエンドツーエンドのセキュリティ ソリューションは、現在市場に出ているほとんどのエコシステムをカバーしており、ほぼすべての主流プログラミング言語をサポートしており、エコロジカル チェーンはセキュリティ技術サポートを提供します。

一部のプログラミング言語で書かれたプロジェクトは非常に複雑な構成プロセスを必要とする場合がありますが、この問題は、事前に構成された仮想マシン環境を使用することである程度解決できます。構成された環境にコードをインポートし、正常にコンパイルできるかどうかを確認します。導入して環境をセットアップすると、セキュリティ専門家がコードを実行してテストを作成し、プロジェクトをより深く理解できるようになります。

アーキテクチャ監査

プロジェクトのアーキテクチャを決定することは、システムの主要なコンポーネントと部分、および安全性を理解するために重要です。

効果的な脅威モデル分析には、アーキテクチャを徹底的に理解することも不可欠です。

理想的には、プロジェクト チームは、プロジェクトの詳細なアーキテクチャの概要を説明したホワイト ペーパーと技術文書を提供します。

ただし、多くの場合、これらのスキーマ ファイルが欠落しているため、監査人はスキーマ抽出を実行してスキーマを特定する必要があります。

アーキテクチャの抽出には、コンポーネント間の相互作用のチェック、外部入力の処理、ライブラリのインポート、新しいアイデアの実装、コーディング標準への準拠、同時実行のサポートが含まれます。

預金、ローン、手数料、収入、価格オラクル、清算コンポーネントを含む融資プロトコルなどの一般的なプロジェクト タイプの場合、視覚化プロセスを支援するコール グラフやストレージ レイアウト グラフを生成するツールを活用するのが簡単な場合があります。

ただし、組織化が不十分なプロジェクトや型破りなプロジェクトの場合、監査人は関数とソース ファイルを 1 つずつ分析して、コンポーネントの構造とその関係を手動で決定する必要がある場合があります。

プロジェクトがオリジナルのデザインなのか、それとも別のプロジェクトからのフォークなのかを判断することも重要です。フォークは元のプロジェクトから脆弱性を継承する可能性が高いため、PancakeBunnyこのプロトコルは 4,000 万ドルを超えるフラッシュ ローン攻撃を受け、そのソース コードは他の複数のプロジェクトによってフォークされましたが、脆弱性の特定と修正ができなかったため、同じ攻撃を受けました。しかし、徹底的なセキュリティ監査を行えば、この脆弱性が発見され、そのような攻撃を回避できた可能性があります。

脅威モデル分析

脅威モデル分析には、プロジェクトの主要な資産、リソース、セキュリティ要件の説明が含まれ、潜在的な脆弱性とセキュリティ脅威のリストが作成されます。

アーキテクチャ監査中に抽象的な説明が確立され、システム アーキテクチャに基づいて質問と回答を行うことでセキュリティ要件を特定できます。たとえば、ガバナンス システムでは、次の質問をしてみてください。

  • 提案書を作成できるのは誰ですか?

  • 提案書を作成するための要件は何ですか?

  • 提案が通過するには何パーセントの票が必要ですか?

  • プロポーザルの検証期間はどれくらいですか?

  • プロジェクトではどのような投票トークンとメカニズムが使用されていますか?

  • 特権アカウントはどのような構成を変更できますか?

セキュリティのニーズが特定されたら、直面する可能性のある脅威を検討します。

Web2.0 で一般的に使用される脅威分類モデルは STRIDE であり、脅威を詐欺、改ざん、否認、情報漏洩、サービス妨害、特権昇格の 6 つのカテゴリに分類します。

このメソッドは Web3.0 では少し変更する必要があります。例えば、DeFiプロジェクトではソースコードがブロックチェーン上で検証され、取引情報や保管データはすべて公開されるため、「情報漏洩」の脅威はそれほど大きくありません。

脅威モデル分析の最終結果により、セキュリティ監査のガイドとなるセキュリティ チェックリストが生成され、システムのセキュリティ ステータスをより包括的に評価します。

静的解析と形式的検証

当社はエンドツーエンドのセキュリティ ソリューションを通じて Web3.0 向けのセキュリティ サービスを提供し、CertiK の豊富な監査経験と技術的背景を活用しています。

エンドツーエンドのセキュリティ ソリューションに含まれるツールとサービスは、CertiK によって発見された数千の監査履歴と 70,000 を超える脆弱性の膨大なデータベースによって裏付けられています。

その中で、当社のセキュリティ ツールは、ソース コードおよびバイトコード レベルでコードを静的にテストし、安全でないコード パターンを特定し、グラフを生成してスマート コントラクトの視覚的な分析を提供します。

これらのセキュリティ ツールは、機械学習とスマート コントラクトのリスク環境が変化し続け、脅威インテリジェンスとスマート コントラクトの脆弱性ライブラリが蓄積され続けるにつれて進化します。

静的分析に加えて、プロジェクト コードの安全性を確保し、プログラムが期待される仕様に従って実行されることを確認するために、形式的な検証も使用します。

形式的検証は、コンピュータ プログラムが期待どおりに動作することを検証するための数学的証明方法です。

プログラムの特性と期待される動作を数式として表現し、自動ツールを使用してこれらの数式が成り立つかどうかを確認します。このプロセスは、ロジックの問題、再入リスク、アクセス制御の欠如、オーバーフロー/アンダーフロー、ガスの最適化などを含む重要な発見により、プログラムが期待どおりに動作することを確認するのに役立ちます。

ただし、結果の正確性を確保するには、最終結果を監査専門家が手動で検証する必要があります。

手動監査

セキュリティ ツールは確かに強力ですが、限界もあります。ここで経験豊富なエンジニアのチームが活躍します。

手動監査の内容には、非常に詳細なコードの 1 行ごとの検査が含まれます。これは、監査プロセス全体の中で最も時間のかかるステップです。

手動監査は、マイクロ監査とマクロ監査の 2 つの部分に分けることができます。

マイクロ監査では、すべての機能を理解するためにコードを分析する必要があり、その過程でコードの問題が見つかることがよくあります。監査のこの部分でカバーされる手法には、各パラメータ、変数、フィールドの分析、関数のアクセス制御の監査と状態変数の変更、類似の関数の比較が含まれます。

マクロ監査は、プロジェクトのコール/コントラクト階層を理解し、状態変数と関数が発生する場所を検索し、さまざまな仮説シナリオをチェックすることにより、グローバルな脆弱性を特定します。

たとえば、重大な脆弱性の原因は通常、単一の関数に限定されず、コードの異なる部分にある複数の関数間の誤った相互作用によって引き起こされる可能性があります。

アーキテクチャ監査と脅威モデリングの結果から得られる「セキュリティ チェックリスト」については上で説明しましたが、手動監査プロセスでもこれらの結果が参照されます。

手動によるコード監査では、監査人はハッカーと開発者の両方の視点から判断します。ハッカーの考え方は悪用される可能性のある潜在的な脆弱性を見つけるために使用され、開発者の考え方は実行を検証し、非効率なガスの使用やコードのモジュール性の欠如などのコードの欠陥を特定するために使用されます。

また、必要に応じて人間による監査に単体テストを組み込んでいます。

単体テストは、プロジェクトのコンポーネントが特定の入力、出力、エッジ ケースに正しく応答することの検証など、各プロジェクトの固有の特性に合わせたセキュリティ評価です。

単体テストが正常に実行された場合、コードが実際に期待された仕様に従って動作していることを意味します。

大規模なプロジェクトの場合、CertiK は複数の監査人を配置してチームとして監査を実施し、監査計画を策定して対応する責任を割り当て、定期的に会議を開催して監査の進捗状況と結果について話し合い、必要に応じて協力します。さらに、プロジェクトと監査チームの間に便利なコミュニケーション チャネルが確立され、最初にプロジェクト監査の内容について連絡できるようになります。

CertiK の監査方法論は、静的分析、形式的検証、人間による監査などのセキュリティ技術を統合して、プロジェクトのコード ベースのセキュリティを確保します。この包括的なアプローチにより、セキュリティ侵害のリスクが最小限に抑えられ、プロジェクトはコードの正確さとセキュリティに完全な自信を得ることができます。

監査レポートとコード修正

当社の監査レポートでは、プロジェクトの種類、エコシステム、監査の範囲の説明から始まり、プロジェクトのセキュリティ ステータスの詳細な分析が提供されます。これらのレポートでは、プロジェクトのセキュリティを評価するために使用する方法論と監査方法について説明します。

読者がレポート内の安全性評価と用語を理解しやすくするために、レポートの付録セクションに、表や監査人のメモなど、監査に関する定義やその他の情報が記載されています。実行された特定のテスト (正式な検証など) はレポートに具体的に記載され、その実行プロセスと最終結果が説明されます。

当社が提供する各リスクの「調査」には、プロジェクト内で見つかった問題の特定、分類、推奨事項の提供と、その内容の詳細な説明が含まれます。

マイニングされた各リスクの「調査結果」には、タイトルと、カテゴリ、重大度、ファイルの場所、解決ステータスなどのデータが含まれます。

次の 4 つのセクションでは、セキュリティに関する考慮事項について詳しく説明します。

説明: リスクの脆弱性のコンテキストを定義し、そのセキュリティへの影響の概要を説明します。

シナリオ: 脆弱性を引き起こす、またはプロジェクトの失敗を引き起こす手順と前提条件を紹介します。

概念実証: エクスプロイト スクリプトと手順、およびクライアント側で脆弱性を再現するために予想されるログ出力が含まれています。

推奨事項: 実行可能な解決策または修正を提供することで、すべての調査結果を要約します。

これらのセクションでは、読者の理解を助ける詳細かつ的を絞った情報を提供します。

修復フェーズ中、プロジェクト チームは監査チームとのコミュニケーションを継続し、プロジェクトのセキュリティをさらに向上させます。

最初のレビュー レポートはプロジェクト チームに発行され、プロジェクト チームはソース コードの更新またはコメントで応答できます。プロジェクト チームから提出された回答に基づいて評価結果を更新し、コードに加えられた変更を最終レビュー レポートに記載します。

最後に書きます

最後に書きます

CertiK のセキュリティ エンジニアは、監査サービスに加えて、脅威インシデント対応、セキュリティ調査、教育技術分析の出版、カンファレンスへの参加、キャプチャ ザ フラッグ コンテストや社内トレーニングなど、多分野のスキルを備えており、これらの多様なスキルと経験は、より深い知識を得るのに役立ちます。セキュリティ分野を理解し、継続的な教育と研究を通じて最新の業界標準とベストプラクティスを深く理解します。

CertiK の監査には、他の監査サービスと異なるいくつかの重要な機能があります。

① 当社のカスタム環境により、監査専門家は独自のツールとカスタム テストを実行できます。これにより、プロジェクトのセキュリティが徹底的にテストされるようになります。

② 当社の監査専門家の専門レベルにより、手動監査でも最高レベルの詳細なコード検査を確実に実行できます。そのため、最も複雑なコードベースであっても潜在的な脆弱性を発見できます。

③ CertiK の監査レポートは、プロジェクト チームにリスク ソリューションを提供するために完全にカスタマイズされています。プロジェクトの開発者は、リスクと脆弱性に対処するための実行可能な手順を取得し、プロジェクト全体のセキュリティを向上させることができます。

CertiK Audit Services の目的は、プロジェクトのコードの包括的なセキュリティ評価を提供することです。したがって、これは、プロジェクト コードは基本的なセキュリティ評価を受けましたが、セキュリティをさらに強化するための CertiK のセキュリティ ソリューションに対する強いニーズもあったことを意味します。

CertiK のエンドツーエンドのセキュリティ ソリューションには、プロジェクトのセキュリティをさらに確保するための侵入テスト、バグ報奨金、追加のテスト サービスが含まれています。

スカイネットスカイネットシステムまた、24 時間 365 日の脅威インシデント対応により、プロジェクトにオンチェーン監視を提供して、悪意のある悪用や脅威を防ぐことができます。

安全リーダーボードそしてWeb3.0プロジェクトチームのKYCデューデリジェンスコミュニティの透明性と信頼を向上させることができます。

CertiK のエンドツーエンドのセキュリティ ソリューションは、静的およびオンチェーンのオペレーティング環境のプロジェクトに包括的なセキュリティを提供するだけでなく、コミュニティ内で信頼を構築し、ユーザーが対話しているプロジェクトのリスクをより深く理解できるようにします。私たちが監査報告書を公開する理由。

Web 3.0 業界全体のセキュリティ標準と透明性を向上させることが私たちの使命であり、その一部がこの記事に反映されています。私たちは Web3.0 の将来が健全で安全であることを期待しており、この目標の達成を段階的に支援していきます。

オリジナル記事、著者:CertiK。転載/コンテンツ連携/記事探しはご連絡ください report@odaily.email;法に違反して転載するには必ず追究しなければならない

ODAILYは、多くの読者が正しい貨幣観念と投資理念を確立し、ブロックチェーンを理性的に見て、リスク意識を確実に高めてください、発見された違法犯罪の手がかりについては、積極的に関係部門に通報することができる。

おすすめの読み物
編集者の選択