🎸

ISO/IEC 25010 SQueREにおけるセキュリティ DevOpsとマイクロサービス時代のQA キーワード解説

2024/05/23に公開

ISO/IEC 25010 SQueREにおけるセキュリティとは

ISO/IEC 25010のセキュリティ(Security)は、ソフトウェアが不正なアクセスやデータの漏洩から保護される能力を評価する品質特性です。セキュリティは、以下のサブ特性に分かれます。

  1. 機密性(Confidentiality):許可されていない情報の開示を防ぐ能力。
  2. 完全性(Integrity):許可されていない変更や削除からデータやシステムを保護する能力。
  3. 可用性(Availability):許可されたエンティティが必要なときにアクセスできる能力。
  4. 偽装防止(Non-repudiation):行為の否認を防ぐ能力。
  5. 認証(Authentication):エンティティの正当性を確認する能力。
  6. 監査証跡(Accountability):行為を追跡・監査できる能力。

これらの特性をQA、DevOps、およびマイクロサービスの観点から詳しく説明します。

https://youtube.com/shorts/fNwceCn7uV0

1. 機密性(Confidentiality)

QAの観点

  • 機密性を確保するために、データの暗号化とアクセス制御をテストします。
  • ペネトレーションテストやセキュリティレビューを実施し、機密情報が保護されていることを確認します。

DevOpsの観点

  • 継続的デリバリー(CD)パイプラインにセキュリティテストを組み込み、データの暗号化やアクセス制御が適切に行われているかを確認します。
  • セキュリティポリシーを自動化し、アクセス制御を一貫して適用します。

マイクロサービスの観点

  • サービス間の通信を暗号化し、データの漏洩を防ぎます。APIゲートウェイを利用して、アクセス制御を一元管理します。
  • 各サービスが独立して機密性を保つためのメカニズムを実装します。

2. 完全性(Integrity)

QAの観点

  • データの完全性を確認するために、データの変更履歴やバリデーションをテストします。
  • セキュリティテストを実施し、不正なデータ変更が行われないことを確認します。

DevOpsの観点

  • コードの変更やデプロイメントプロセスにおいて、データの完全性を保つためのチェックを組み込みます。
  • バージョン管理システムを活用し、変更の追跡とレビューを行います。

マイクロサービスの観点

  • サービス間のデータ転送時に、データのハッシュを使用して完全性を確認します。
  • 各サービスが独立してデータのバリデーションを行い、データの一貫性を保ちます。

3. 可用性(Availability)

QAの観点

  • 可用性を確保するために、負荷テストや耐障害性テストを実施します。
  • 可用性のメトリクスを監視し、システムが高い稼働率を維持していることを確認します。

DevOpsの観点

  • 自動化されたデプロイメントとモニタリングツールを使用して、システムの可用性を維持します。
  • リカバリープランを策定し、障害発生時の迅速な復旧を可能にします。

マイクロサービスの観点

  • サービスが独立してスケーラブルであり、障害時にも他のサービスに影響を与えない設計を採用します。
  • サービスメッシュを利用して、サービスの可用性を管理し、障害時の自動フェイルオーバーを実現します。

4. 偽装防止(Non-repudiation)

QAの観点

  • 取引や操作が後から否認されないように、監査ログやデジタル署名のテストを行います。
  • セキュリティレビューを実施し、偽装防止のメカニズムが正しく機能していることを確認します。

DevOpsの観点

  • 操作ログを一元的に管理し、取引や操作の履歴を追跡できるようにします。
  • デジタル署名や証明書を利用して、操作の正当性を証明します。

マイクロサービスの観点

  • 各サービスが取引や操作の履歴を独自に記録し、サービス間のトランザクションの一貫性を保ちます。
  • APIゲートウェイを通じて、全ての操作を監視し、偽装防止を強化します。

5. 認証(Authentication)

QAの観点

  • 認証メカニズムのテストを実施し、不正なアクセスを防ぐことを確認します。
  • 多要素認証(MFA)の実装とテストを行い、セキュリティを強化します。

DevOpsの観点

  • 継続的インテグレーション(CI)パイプラインに認証テストを組み込み、認証プロセスが常に安全であることを確認します。
  • シングルサインオン(SSO)やOAuthなどの認証プロトコルを使用して、認証を一元管理します。

マイクロサービスの観点

  • サービス間で共通の認証メカニズムを使用し、統一された認証を提供します。
  • APIゲートウェイを利用して、全てのリクエストに対して認証を強制します。

6. 監査証跡(Accountability)

QAの観点

  • 監査ログのテストを実施し、全ての操作が正しく記録されていることを確認します。
  • 監査証跡の完全性を確認し、後からの追跡が可能であることを検証します。

DevOpsの観点

  • ロギングとモニタリングツールを使用して、全ての操作をリアルタイムで記録します。
  • 監査ログを中央で管理し、セキュリティインシデントの追跡と分析を容易にします。

マイクロサービスの観点

  • 各サービスが独立して操作の監査証跡を記録し、サービス間の操作を追跡可能にします。
  • 分散トレーシングツールを使用して、サービス間のトランザクションを詳細に監視します。

結論

ISO/IEC 25010のセキュリティ特性は、ソフトウェアの品質と信頼性を保つために不可欠です。QA、DevOps、およびマイクロサービスの観点から、それぞれが異なるアプローチでセキュリティを確保し、不正アクセスやデータの漏洩を防ぎます。機密性、完全性、可用性、偽装防止、認証、監査証跡の各側面に注力することで、高いセキュリティを実現し、安全で信頼性の高いソフトウェアを提供します。

Discussion