web-dev-qa-db-ja.com

データベースのセキュリティにおける機密性と整合性の違反

データベースのセキュリティに関するいくつかのトピックを読みました。今、私は機密性と完全性違反について2つの質問があります、私に答えてくれた人に感謝します:

  1. 機密性の開示の一種としてデータの可用性を知ることを検討する場合、データベースのセキュリティにおける参照整合性の問題は何ですか?
  2. 機密性違反は完全性違反につながる可能性がありますか?
1
ThisIsMe

1)データの可用性が機密開示の一種であることを知ることを検討する場合?

はい、データの可用性を知ることは一種の機密保持違反です。例は、データベースにユーザー名が存在するかどうかを示すエラーメッセージです。

2)データベースのセキュリティにおける参照整合性の問題は何ですか?

データベース要素を一貫して同期させるには、単一の属性に関するデータを分離する複数のテーブルを適切にリンクする必要があります。つまり、不正なデータセットが存在することはありません。

2つのデータベーステーブルuser_credentialsuser_activityを持つアプリケーションがあるとします。

user_credentialsには、列user_nameおよびuser_passwdがあります。 user_activityにはuser_nameuser_lastlogintimeがあります。

参照整合性は、両方のテーブルがuser_nameフィールドにまったく同じ値を持つプロパティです。これにより、テーブル要素へのアクセスまたは削除の一貫性が保証されます。

3)機密性違反は完全性違反につながる可能性がありますか?

可能です。ただし、両方を個別に検討する必要があります。衝突が判明している壊れたハッシュアルゴリズムが使用されているシナリオを考えます。壊れたアルゴリズムに関する知識を使用して、整合性チェックをバイパスできます。しかし、情報セキュリティの観点からは、壊れたアルゴリズムの使用が原因で完全性違反が発生しますが、これは機密性の侵害の結果です。

2
hax

「参照整合性はデータベース内のデータの可用性を開示し、機密違反につながる可能性があります」

可能です。簡単な例では、顧客に属する注文または支払いレコードがある場合、顧客レコードを削除しようとして失敗することがあります。ただし、これは削除が許可されている状況でのみ機能します。多くの場合、データ項目は「完全削除」(削除)されることはなく、単に「削除」、「アーカイブ」、または「非アクティブ」としてマークされます。

逆に、顧客が存在しない場合、支払いレコードの挿入が拒否される可能性があります。しかし、識別子が任意である場合、攻撃者はしばしば顧客の識別子を知らずにこれを試すことができません。システム内の従業員、顧客、請求書などの数を推定できる可能性が高くなります。

一意性の制約により、情報漏えいが発生する可能性が高くなります(たとえば、クレジットカード、電話番号、または電子メールアドレスが既にシステムに存在している)。

0
Gary