2012-01-12 13 views
1

アプリケーションキャッシュオブジェクト=>セッションオブジェクトを取得して変更して使用する必要があります。すべて正常に動作しますが、私はFortifyからTrust Boundary Violationの脅威を受けています(詳細はhttps://www.fortify.com/vulncat/en/vulncat/sql/trust_boundary_violation.html)。アプリケーションキャッシュとセッションデータを結合する際の信頼境界違反

これを修正する方法についてのご意見はありますか?

+0

[詳細]タブの下部に表示されるルールID、影響および尤度は何ですか? – LaJmOn

+0

影響度と尤度両方0.0この数字が何を意味するのか説明してください。 – Grasshopper

+1

影響は、この攻撃がどれほど悪いかについてのFortify Security Research Groupの推定値で、0〜5の数値です。 SQLインジェクション= 5、ヌル= 0.2などの冗長チェックなどがあります。尤度は0〜5でも、この攻撃の頻度とこの問題の検出の正確さを組み合わせたものです。 – LaJmOn

答えて

4

信頼境界違反はしばしば修正するのが簡単ではありません。これを実際に理解するには、セキュリティ監査者とアーキテクトとの協議を行い、信頼境界が何であるかを判断する必要があります。これを行うには、キャッシュ、エンドユーザー、およびアプリケーションがインターフェイスする必要がある他のすべてのシステムを含む、アプリケーションの論理アーキテクチャを描きます。

次に、保護する必要があるアプリケーションの部分を点線で描きます。この行の中のすべては、チェックする必要のないものです。それはおそらく開発者によって作成されたすべてのデータです。そうでない場合は、入力検証関数によってスクラブされていて、データの種類あなたは期待しています。 (https://www.owasp.org/index.php/Data_Validationを参照してください)

ここで、キャッシュはどこですか?それは、信頼境界内なら

  1. は、このトラスト境界違反は偽陽性であり、ソースがそのファイルまたはパッケージから来た場合、問題が隠されるように、あなたは、フィルタを作成することができます。

    カテゴリ: "信頼境界違反" パッケージ:com.example.mycachepackage

    または

    カテゴリ: "信頼境界違反" ファイル:MyCacheObject.java

  2. あなたのフィルタは、次のようになります
  3. キャッシュが信頼境界外にある場合、攻撃者はプログラムやユーザーを攻撃するメカニズムとしてキャッシュを使用することが想定されています。次に、データをキャッシュに入れたり、キャッシュから何かを取り出したりするたびに、すべてのデータをチェックする必要があります。

あなたはセキュリティ監査、キャッシュ・メカニズムの検証機能(複数可)を定義またはコンサルタントがすべて修正された問題が消えるようになるカスタム検証ルールを記述します強化したら。

関連する問題