# ディペンダビリティ ## 定義 ディペンダビリティ(dependability)とは、「正当に信頼できるサービスを提供する能力」であり、可用性(availability)・信頼性(reliability)・安全性(safety)・完全性(integrity)・保守性(maintainability)を属性として包含する統合概念である。セキュリティは機密性(confidentiality)・完全性・可用性の合成であり、ディペンダビリティのサブセットとして位置づけられる。(Source: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] §2.3) 代替定義: 「許容範囲を超える頻度・深刻度のサービス失敗を避ける能力」。この定義からディペンダビリティ失敗(dependability failure)概念が導かれる。ディペンダビリティへの脅威は**障害(fault)→エラー(error)→失敗(failure)** の基本連鎖で記述される。(Source: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] §2.2, §4.1) 達成手段は障害防止(fault prevention)・フォールトトレランス(fault tolerance)・障害除去(fault removal)・障害予測(fault forecasting)の 4 カテゴリに集約される。 ### 属性の一覧 | 属性 | 定義 | 対象 | |---|---|---| | 可用性(availability) | 正規サービスの提供準備が整っている状態 | Dep + Sec | | 信頼性(reliability) | 正規サービスの継続性 | Dep | | 安全性(safety) | 壊滅的結果の不在 | Dep | | 完全性(integrity) | 不適切なシステム改変の不在 | Dep + Sec | | 保守性(maintainability) | 修正と修繕を受け入れる能力 | Dep | | 機密性(confidentiality) | 情報の不正開示の不在 | Sec | ### 障害タクソノミーの概要 8 基本視点(フェーズ・ドメイン・境界・自然/人為・意図・目的・故意性・能力)から 31 複合障害クラスを定義。主な上位グループ: 開発障害 / 物理障害 / 相互作用障害(§3.2)。 ### 信頼(trust)の形式化 依存(dependence): システム A のディペンダビリティがシステム B のそれによってどれだけ影響を受けるかの程度。信頼(trust)は受け入れられた依存関係(accepted dependence)として形式化できる。(§4.2) ## 横断的知見 (本論文が 1 ソース目。横断的知見は 2 ソース目以降の ingest で蓄積する。以下は 1 ソース目時点で見えた予備的観察。) - **「障害防止・フォールトトレランス・障害除去・障害予測」という 4 手段の体系は SRE の実践と対応関係にある**: [[SRE]] の「エラーバジェット」はディペンダビリティ属性の定量化に相当し、「トイル管理」は障害防止に、「緊急対応 (oncall)」は障害除去に、「信頼性テスト」は障害予測に対応すると読める。(Source: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]], [[@2016__OReilly__SRE Book - Chapter 3 Embracing Risk]]) - **「脆弱性(vulnerability)は外部障害がシステムを侵害するのを可能にする内部障害」という定義は、[[Metastable Failure]] の構造と共鳴する**: Metastable Failure は「通常は無害なトリガを壊滅的な失敗に増幅する内部状態の特性」であり、Avizienis 2004 の vulnerability 概念の特殊ケースと見なせる。(Source: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] §2.2; [[Metastable Failure]]) - **現代の [[障害緩和]] 研究はディペンダビリティの「達成手段」のうちフォールトトレランス+障害除去の境界領域に位置する**: AIOps の緩和(SRE の oncall 対応)は「実行時の障害除去」と「フォールトトレランスの一形態(サービス継続しながら修復)」の両方の性質を持ち、どちらに分類されるかは修復の「外部エージェント(人/エージェント)の関与」の有無で変わる。 ## 未解決の問い - ディペンダビリティの「定量的な」達成度はどう測るか。Avizienis 2004 は「許容範囲を超える頻度・深刻度の失敗」という枠組みを提供するが、頻度・深刻度の具体的な計測手法は「さらなる精緻化が必要」と論文自身が認める。SLO/SLA とディペンダビリティ仕様はどのように対応づけられるか。[[エラーバジェット]] は属性ごとの「許容可能な失敗量」の運用的表現と見なせるが、安全性(safety)や機密性(confidentiality)のように確率論的な目標設定が馴染まない属性をどう扱うか。 - ディペンダビリティとセキュリティの「共通尺度」は 2004 年時点で未解決とされた。現在の状況は。攻撃者の能力を確率論的にモデル化するセキュリティ評価の枠組みはどこまで進んでいるか。 - 「信頼(trust)= 受け入れられた依存関係」という定義は、AI エージェントがインフラを操作する [[agentic SRE]] において何を意味するか。エージェントへの信頼のレベル付け([[SRE AI Autonomy Levels]])はこの形式的定義の上に構築できるか。 - 「コンピテンシー欠如(incompetence)」は人為的障害クラスとして分類されたが、AI/ML モデルが開発・運用に組み込まれた場合にどのカテゴリに属するか。意図的でなく非悪意の開発障害として扱うべきか。 - ソフトウェアエージング(software aging)は開発障害クラスの特殊ケースとして分類されたが、LLM 推論・継続学習における「モデルの劣化」はどの障害クラスに相当するか。 - カバレッジ(coverage)の概念は「フォールトトレランス有効性の尺度」として定義されるが、AI エージェントが診断・修復を実施する場合のカバレッジをどう定量化するか。 ## 関連 - ソース: [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]] - 概念: [[ソフトウェア耐障害性]] / [[障害緩和]] / [[障害注入]] / [[Metastable Failure]] / [[可用性]] / [[SRE]] / [[agentic SRE]] - 人物: [[Algirdas Avizienis]] / [[Jean-Claude Laprie]] / [[Brian Randell]] / [[Carl Landwehr]] - 組織: [[IFIP WG 10.4]] / [[LAAS-CNRS]] - 関連 MOC: [[structures/SRE - MOC]] ## 出典 - [[@2004__TDSC__Basic Concepts and Taxonomy of Dependable and Secure Computing]](全文: §2〜§5, 図 1・2・11・14・22)