ソフトウェア品質特性を調べてみた6~セキュリティ~

前回の続きで今回は「セキュリティ」についてまとめます。「セキュリティ」はどれだけセキュリティリスクを低減できるかの度合いです。

解説記事はこちら

ソフトウェアの「品質特性」とは?8つの品質特性と31の品質副特性を詳しく紹介

「セキュリティ (Security)」には5つの品質副特性があります

  • 機密性(Confidentiality):許可されたデータだけにアクセスできるか
  • インテグリティ(Integrity):不正なアクセスを防止できるか
  • 否認防止性(Non-repudiation):事実を否認されないように対策されているか
  • 責任追跡性(Accountability):操作や事象を後から追跡できるか
  • 真正性(Authenticity):偽りなく本物であると証明できるか

今回も、イメージしやすいように例を考えてみます。

種類副特性テスト観点の例
ECサイト機密性他人の注文履歴やクレジットカード情報が、URLの書き換え等によって閲覧できないことログイン後のURLの数値を意図的に変更し、他人の情報が表示されず、エラーになるかの確認
インテグリティカート投入後の金額や数量が、ブラウザ側での不正な操作によって書き換えられないこと決済リクエスト送信時に、金額や数量の値を書き換えて送信し、サーバー側でエラーとされるかの確認
否認防止性いつ、誰が、どの端末で購入したかのログが正確に残ること購入し、管理画面やログに実行者、日時、IPアドレス、取引内容が仕様通り記録されているかの確認
責任追跡性商品価格を変更した場合に、どのスタッフがいつ変更したかが追跡可能であること管理画面からデータ更新を行い、操作ログに「誰がどの項目を変更したか」が正確に残っているかの確認
真正性推測されにくいパスワード設定や多要素認証が機能すること脆弱なパスワードの登録拒否や、多要素認証のプロセスが仕様通りに強制されるかの確認
求人サイト機密性応募した企業以外の第三者や、他の求職者からアップロードした履歴書が閲覧できないことログインしていない状態や、別の求職者アカウントから履歴書ファイルURLに直接アクセスし、閲覧が拒絶されるかの確認
インテグリティ企業が掲載している求人内容が、外部からのSQLインジェクション等の攻撃によって書き換えられないこと検索窓や入力フォームに不正な文字列(SQLコマンド等)を投入し、エラーやデータの不正操作が発生しないかの確認
否認防止性応募完了のログと受信確認が確実に残ること応募操作直後に、求職者への控えメール送信と企業側管理画面への即時反映が行われるかの確認
責任追跡性「誰がいつ誰の情報を閲覧したか」が記録されること特定の求職者情報を閲覧後、管理ログにその閲覧操作が記録されているかの確認
真正性セッション管理が適切に行われることログアウト後の「戻る」ボタン押下や、古いセッションIDでのアクセスが、適切にログイン画面へリダイレクトされるかの確認

今回も実際にテストしている観点が多くイメージしやすかった。次回「保守性」に続く。

余談

アイキャッチは、先週の反町公園です。花と桜でにぎやかになっていました。