====== 6.2 攻撃ベクトルと対策 (Attack Vectors and Mitigations) ======  このサブセクションでは、Qubicネットワーク内の潜在的な脆弱性を特定し、それらを軽減するために採用されている戦略の概要を説明します。これらの脅威に先制的に対処することで、Qubicは悪意のあるアクターやネットワークの中断に対する回復力を高めます。潜在的なシビル攻撃や51%攻撃の軽減において、Qubicのモデルはビザンチン障害耐性(BFT)の原則を取り入れています。 ===== 6.2.1 (Sybil Attacks) ===== * **説明**: *[[tag/シビル攻撃]] 攻撃者が複数のアイデンティティ(シビルノード)を作成し、不釣り合いな影響力を獲得しようとします。 * **対策**: * **有用なプルーフ・オブ・ワーク ([[tag/UPoW]])**: * UPoWは計算能力をAIトレーニングなどの有用なタスクに向けさせ、シビル攻撃を成功させるために必要な計算リソースを蓄積することを攻撃者にとってコスト的に不可能にします。 * **適切な署名**: * Qubicでは、選ばれた676台のComputorのみが投票権を持ちます。対応する秘密鍵を持たなければ、シビル攻撃は不可能です。 ===== 6.2.2 フォーキング攻撃 (Forking Attacks) ===== * **説明**: 悪意のあるComputorが代替チェーンを作成し、ネットワークを混乱させたり分裂させたりします。 * **対策**: * **強力な確定性 (Strong Finality)**: ティックがクォーラムによって承認されると、それは最終的なものと見なされ、後続のティックはその上に構築されます。 * **チェーン選択ルール**: 正当なComputorは、クォーラム投票による累積的な支持が最も高いチェーンに従います。 ===== 6.2.3 共謀攻撃 (Collusion Attacks) ===== * **説明**: * 悪意のあるComputorのグループが共謀してコンセンサスの決定を操作します。 * **対策**: * **障害耐性閾値**: アルゴリズムは、共謀するComputorの数が226台未満である限り、共謀を許容します。 * **ランダムなクォーラム選定**: 各クォーラムに対するComputorの予測不可能な選定は、持続的な共謀の可能性を低下させます。 ===== 6.2.4 リプレイ攻撃 (Replay Attacks) ===== * **説明**: * 攻撃者が有効な取引を再送信してネットワークを混乱させます。 * **対策**: * **重複の無視**: すでに既知の取引はComputorによって無視されます。 ===== 6.2.5 51%攻撃 (51% Attacks) ===== **脅威の説明**:  * 攻撃者がネットワークの計算リソースまたは投票権の50%以上を支配し、取引を差し戻したり新しい取引の確定を阻止したりすることでブロックチェーンを操作します。 **対策戦略**: * **ビザンチン障害耐性**: コンセンサスメカニズムは最大 ''f ≦ (N-1)/3'' の故障Computorを許容するため、攻撃者がネットワークの大部分を支配せずに成功することは不可能です。 * **Computorの分散化**: 広範な参加を促すことで、中央集権化のリスクを軽減します。 * **Qubicにおける要件**: Qubicでネットワークを乗っ取るには、全ネットワークの約3分の2にあたる451票以上が必要です。 * **経済的抑止力**: 51%攻撃を実行するために十分なリソースを獲得するコストが、潜在的な利益を上回ります。 ==== 6.2.6 エクリプス攻撃 (Eclipse Attacks) ==== **脅威の説明**: * 攻撃者がノードまたはノードのグループのすべての着信・発信接続を制御することでそれらを隔離し、被害者のネットワークビューを操作できるようにします。 **対策戦略**: * **多様なピア選定**: ノードは多様なピアのセットとの接続を維持し、すべての接続が攻撃者によって制御される可能性を減らします。 * **接続制限**: 単一のIPアドレスまたはサブネットからの接続数を制限します。 * **発信・着信接続の分離**: ノードが発信接続から遮断されることはありません。 * **定期的なピアのリフレッシュ**: 長期的な隔離を防ぐために、ピア接続を定期的にランダムに更新します。 ==== 6.2.7 スマートコントラクトの脆弱性 (Smart Contract Vulnerabilities) ==== **脅威の説明**: * スマートコントラクトコードの欠陥が、意図しない動作、セキュリティ侵害、または攻撃者による悪用を招く可能性があります。 **対策戦略**: * **コード監査**: 展開前に信頼できる第三者によるスマートコントラクトの強制的な監査を行います。 * **制限された言語機能**: スマートコントラクトにおける複雑またはリスクの高い言語機能の使用を防止します。 ==== 6.2.8 量子コンピューティングの脅威 (Quantum Computing Threats) ==== **脅威の説明**: * 量子コンピューティングの出現により、従来の暗号アルゴリズムが解読され、ネットワークのセキュリティが侵害される可能性があります。 **対策戦略**: * **[[tag/量子耐性]]暗号**: * **研究開発**: 量子コンピューティングの進歩を監視し、量子耐性のある暗号スキームを開発します。 * **アルゴリズムのアジリティ (柔軟性)**: 新しい暗号アルゴリズムが利用可能になった際に統合できるようにプロトコルを設計します。 * **ポスト量子アルゴリズム**: 格子ベース暗号(例: NTRU)やハッシュベース署名(例: XMSS)などのアルゴリズムを検討します。 ==== 6.2.9 マルウェアとノードの侵害 (Malware and Node Compromise) ==== **脅威の説明**: * マルウェアへの感染や不正アクセスによってノードが侵害され、データ漏洩や悪意のある活動への参加を招く可能性があります。 **対策戦略**: * **安全なソフトウェアプラクティス**: コードセキュリティのベストプラクティスの実装と、定期的なセキュリティ評価を行います。 * **隔離技術**: Qubicは基盤となるオペレーティングシステムを必要とせず、ベアメタル上で動作します。 * **定期的な更新とパッチ適用**: 既知の脆弱性を軽減するために、ソフトウェアと依存関係を最新の状態に保ちます。 {{tag>量子耐性 対攻撃性 }}