Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
BlockChainConstruction — BlockChain Security Construction | Kitploit
ツール/GitHubGitHub/al1ex/blockchainconstruction
Vulnerability AnalysisCode AnalysisNetwork SecurityCryptographyLearning & EducationCurated Resources
GitHubal1ex/blockchainconstruction

BlockChainConstruction

BlockChain Security Construction

リポジトリを見る
315年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

はじめに

この記事では、主に注目に値するパブリックチェーン監査のいくつかの側面を紹介します。セキュリティ監査者とパブリックチェーン開発者にとって、これは参考と考察に値するプロジェクトです。

アーキテクチャ

パブリックチェーンシステムの構築を紹介する前に、ブロックチェーンのアーキテクチャを見てみましょう。

ブロックチェーン1.0時代:

アーキテクチャ:下図のとおり

代表的な製品:bitcoin、reborn coin、dogcoin、Leyte coin、MasterCard coinなど

blockchain

ブロックチェーン2.0時代:

アーキテクチャ:下図のとおり

代表的な製品:Ethereum、lisk、hyperledgerなど

主な変更点:

  • アプリケーション層:スマートコントラクトを追加
  • インセンティブ層:ブロック時間を16秒に短縮
  • コンセンサス層:dpos、POS、pbftを追加
  • データ層:ブロックを拡張し、データと変数の送信をサポート、最適化された暗号化アルゴリズムとマークルツリーを使用

blockchain

ブロックチェーン2.0時代

アーキテクチャ:下図のとおり

代表的な製品:EOS、VaR、AE、ash、ELA、dfinity

主な変更点:金融業界以外のあらゆる分野におけるブロックチェーンのアプリケーションシナリオが、より複雑なビジネスロジックに対応できるようになったこと

blockchain

セキュリティ構築

次に、ブロックチェーンのアーキテクチャに基づき、ブロックチェーンのパブリックチェーンにおけるセキュリティ構築で検討に値する問題について簡単に紹介します。これらの問題の約75%がパブリックチェーンのセキュリティ問題を引き起こしており、パブリックチェーンのセキュリティ監査においても注目に値するポイントです。ここでは、思考を促すために質問形式で提示します。さらに議論したい場合は、issueで直接行うことができます:

データ層

データ層は最下層の技術であり、その主な機能はデータストレージ、アカウントとトランザクションの実装、およびセキュリティです。データストレージは主にマークルツリーに基づいており、ブロックとチェーン構造によって実現されます。そのほとんどはKVデータベースによって永続化されています。例えば、bitcoinや、Ethereumが採用しているleveldbなどです。

データ層に関しては、以下の点が検討に値します:

  1. パブリックチェーンブロックのデータ構造設計は合理的か?
  2. パブリックチェーンの暗号化アルゴリズムは暗号学の要件を満たしているか?
  3. マークルツリーの設計は合理的か?
  4. マークルツリーノードのCRUD設計は合理的か?
  5. パブリックチェーンブロックのタイムスタンプ検証ロジックの設計は合理的か?
  6. パブリックチェーンデータベースのデータストレージとデータCURDのセキュリティはどうか?
  7. 公開鍵/ニーモニックの生成アルゴリズムは十分に安全か?
  8. 公開鍵/ニーモニックは暗号化されているか?
  9. 公開鍵/ニーモニックに不正使用やメモリ上の残存はないか?

ネットワーク層

ネットワーク層の主な目的は、ブロックチェーンネットワークのノード間における情報のやり取りを実現することです。ブロックチェーンの本質はピアツーピア(P2P)ネットワークです。各ノードは情報を受信できると同時に、情報を生成することもできます。ノードは共通のブロックチェーンを維持することで通信を維持します。ブロックチェーンネットワークでは、各ノードが新しいブロックを作成できます。新しいブロックが作成されると、ブロードキャストによって他のノードに通知されます。そして、他のノードがそのノードを検証します。ブロックチェーンネットワーク内の51%以上のユーザーが検証を通過すると、新しいブロックがメインチェーンに追加されます。

ネットワーク層に関しては、以下の点が検討に値します:

  1. パブリックチェーンのノード発見アルゴリズムの設計は合理的か?

  2. パブリックチェーンのノード設計は合理的か?

  3. 罰則メカニズムの設計は合理的か?

  4. 通信プロトコルの設計は合理的か?

  5. パブリックチェーンノードのリクエスト処理設計は合理的か?

  6. リクエスト処理パケットのサイズに制限はあるか?

  7. パブリックチェーンのトランザクション通信メカニズムの設計は合理的か?

  8. ブロックデータの同期メカニズムは合理的か?

  9. トランザクション処理のロジック設計は合理的か?

コンセンサス層

コンセンサス層は、分散システムにおいて高度に分散されたノードがブロックデータの有効性についてコンセンサスに達することを可能にします。稼働中のすべてのブロックチェーンは、ブロック出力の有効性と順序を保証するためにコンセンサスアルゴリズムを必要とします。一般的なコンセンサスアルゴリズムには、pow、POS、dpos、Poa、POCなどがあります。

コンセンサスレベルでは、以下の点を考慮すべきです:

  1. パブリックチェーンのコンセンサスアルゴリズムの設計は安全か?

  2. パブリックチェーンのコンセンサス検証の設計は合理的か?

  3. パブリックチェーンのコンセンサス没収の設計は合理的か?

  4. パブリックチェーンのサービス手数料の設計は合理的か?

  5. パブリックチェーンのマイニング設計は合理的か?

  6. ブロック難易度の動的調整の設計は合理的か?

  7. ブロック難易度チェックのロジック設計は合理的か?

  8. チェーン再編成、チェーンリセット、チェーン分岐などの設計はどうか?

インセンティブ層

パブリックチェーンのインセンティブ層の目的は、ブロックチェーンのセキュリティ検証にノードが参加することを促すための一定のインセンティブ施策を提供し、ブロックチェーンエコシステムのバランスと健全な発展を保証することです。分散型パブリックチェーンでは、ルールを遵守する記帳参加ノードを奨励するための対応するインセンティブメカニズムを設定し、ルールを遵守しない記帳参加ノードを罰するための罰則メカニズムを確立する必要があります。ブロックチェーンのインセンティブ層は、ブロックチェーン技術システムに経済的要因を導入し、エコシステム内の組織的協力と価値交換の効率を向上させます。パブリックチェーンのインセンティブメカニズムは、ブロックチェーンの健全な発展を保証する重要なメカニズムです。

インセンティブレベルに関しては、以下の点が検討に値します:

  1. パブリックチェーンの発行メカニズムの設計は合理的か?

  2. パブリックチェーンの罰則メカニズムの設計は合理的か?

コントラクト層

コントラクト層は、ブロックチェーンシステムのさまざまなスクリプトコードとアルゴリズム、およびそれらから生成されるより複雑なスマートコントラクトをカプセル化します。データ層、ネットワーク層、コンセンサス層の3つのレベルが、ブロックチェーンの基盤となる「仮想マシン」として、それぞれデータ表現、データ伝播、データ検証の機能を担うとすれば、コントラクト層はブロックチェーン仮想マシンに基づくビジネスロジックとアルゴリズムであり、ブロックチェーンシステムの柔軟なプログラミングとデータ操作を実現するための基盤です。bitcoinを含むほとんどのデジタル暗号通貨は、非チューリング完全な単純なスクリプトコードを使用してトランザクションプロセスをプログラムおよび制御しており、これもスマートコントラクトの原型です。技術の発展に伴い、Ethereumなどのチューリング完全なスクリプト言語が登場し、より複雑で柔軟なスマートコントラクトを実現できるようになり、ブロックチェーンはマクロな金融システムや社会システムの多くのアプリケーションをサポートできます。

コントラクト層に関しては、以下の点を考慮すべきです:

  1. コントラクト仮想マシンのセキュリティ設計はどうか?

  2. コントラクトのデプロイ/実行/インターフェースはどうか?

  3. スマートコントラクトに関連するセキュリティはどうか?

アプリケーション層

アプリケーション層は、ブロックチェーンのさまざまなアプリケーションシナリオとケースをカプセル化します。これは、コンピュータ上のさまざまなソフトウェアプログラムに似ています。一般ユーザーが実際に直接使用できる製品であり、B/Sアーキテクチャ製品におけるブラウザとして理解することもできます。

アプリケーション層に関しては、以下の点を考慮すべきです(パブリックチェーンのみを対象とし、ウォレットアプリ/取引所/DEFIなどは対象としません):

アカウント関連

  1. ウォレットアカウントのCRUDロジック設計はどうか?

  2. ウォレットのインポート・エクスポート権限は確認されているか?

  3. ウォレットパスワードの複雑さの設計はどうか?

  4. ウォレットアカウントアドレスの有効性は確認されているか?

RPC関連

  1. パブリックRPCインターフェースは外部のパブリックネットワークを必要とするか?

  2. パブリックチェーンのRPCインターフェースの権限は明確に分離されているか?

  3. パブリックRPCインターフェースに機密系の操作はあるか?

  4. パブリックRPCインターフェースは例外を処理しているか?

  5. パブリックチェーンRPCインターフェースのデータ処理の最大制限はどうか?

  6. パブリックチェーンRPCインターフェースのリクエストデータのエンコードとデコードはどうか?

  7. パブリックチェーンのRPCリクエスト処理でSSLは有効か?

並行性関連

  1. パブリックチェーンにおける高並行リクエスト処理の設計はどうか?

  2. 最大接続数は設定されているか?

  3. パブリックチェーンのWeb UIインターフェースはリモートアクセスを許可しているか?

  4. パブリックチェーンのwebuiインターフェースにWeb系の脆弱性はあるか?

  5. パブリックチェーンのwebuiインターフェースはパスワード情報のローカル保存を許可しているか?

コード層

実際、パブリックチェーンには「コード層」は存在しません。ここで筆者がこれを提案するのは、主にパブリックチェーン開発の過程で考慮が必要となる可能性のある問題を分類するためです:

  1. パブリックチェーン開発言語の特徴。例えば、Go言語のデータ読み取りにおけるreadall()やappendの特徴など

  2. パブリックチェーン開発言語のバージョン。例えば、Go言語の一部のバージョンにはリモートコマンド実行の脆弱性があります

  3. パブリックチェーン開発仕様のコーディング。例えば、ヌルポインタ、スライシング、例外処理などの操作

  4. パブリックチェーンの暗号化・復号処理。例えば、長さチェックなしの高複雑度なエンコード・デコードなど

  5. データ型変換処理。例えば、hextobyte、integer. Parseint()など

  6. 基本的なビジネスロジック設計。例えば

その他の項目

上記のブロックチェーンアーキテクチャレベルで検討に値する問題に加えて、以下のセキュリティ問題も考慮する必要があります:

ノードセキュリティ

  1. データストレージは暗号化されているか?

  2. ファイルの権限設定は合理的か?

  3. 実行環境は安全か?

  4. ノードはroot以外で起動されているか?

  5. ノード側に脆弱性のあるWebサービスはあるか?

  6. ノードのサーバー側に安全でない設定はあるか?

  7. ノードのサーバー側に不正アクセスの脆弱性はあるか?

  8. ノードのサーバー側でSSHアカウントのパスワードが漏えいしていないか?

計算力攻撃

  1. 51%攻撃

  2. パブリックチェーンのハードフォーク

  3. 計算力のハイジャック(ワームがマイニングマシンに感染)

サードパーティライブラリ

脆弱性のあるサードパーティライブラリを使用していないか。例えば、Jackson databind、fastjsonなど

ミドルウェア

脆弱性のあるミドルウェアを使用していないか。例えば、低バージョンのtendermintなど

クロスチェーン要件

  1. クロスチェーンの方式は信頼性が高く、適切か?

  2. 同型クロスチェーンと異種クロスチェーンの実装方式はどうか?

  3. 上記のセクションのセキュリティ問題を再確認する

メンテナンス

  • Al1ex@Heptagram

ディスカッション

issueで関連する問題のディスカッションに直接参加してください。

ツールをダウンロード