V11: ビジネスロジック

定義

アプリケーションセキュリティにおけるビジネスロジックとは、アプリケーションの特定の要件や、アプリケーションが提供するビジネスのニーズに応じて、アプリケーションを保護するカスタマイズされたルールとプロセスを指します。これらのルールは、ユーザインタラクション、データ処理、システム動作など、さまざまな側面を規定し、各アプリケーション、ビジネス、業界の固有の特定に合わせて調整されます。

ビジネスロジックの脆弱性の例をいくつかあげます。

例 1

  • ビジネスルール: 詐欺や未払いによる損失を防ぐため、トランザクションが正常に検証された後にのみ、商品を顧客に提供する必要があります。

  • 脆弱性: 攻撃者がアプリケーションを操作して、購入が検証される前に製品を届けることができれば、支払いを受けずに商品を提供し、ビジネスに金銭的損失をもたらすリスクがあります。

例 2

  • ビジネスルール: 特定の閾値以上の高額トランザクションは、正確性、正当性、ビジネスポリシーへの準拠を確保するために、手動でレビューする必要があります。

  • 脆弱性: 攻撃者がアプリケーションを操作して高額トランザクションのレビュープロセスをスキップできれば、不正または誤ったトランザクションが気付かれず、金銭的損失やコンプライアンス違反のリスクが高まるかもしれません。

管理目標

検証対象のアプリケーションが以下の上位要件を満たすことを確認します。

  • ビジネスロジックフローはシーケンシャルであり、順番に処理され、迂回できません。

  • ビジネスロジックには継続的な小額の資金転送や一度に百万の友人の追加の自動攻撃を検出および防御するための制限とコントロールを含んでいます。

  • 高価値のビジネスロジックフローでは悪用ケースや悪意のある人物を考慮し、なりすまし、改竄、情報漏洩、権限昇格の攻撃に対する保護を有しています。

V11.1 ビジネスロジックセキュリティ

ビジネスロジックセキュリティはすべてのアプリケーションにはそれぞれ個性があるため、一つのチェックリストをすべてに適用することはできません。ビジネスロジックセキュリティは外部からの脅威に対して保護するようにシステム内に設計されている必要があります。Web アプリケーションファイアウォールやセキュア通信を使用して追加することはできません。

#説明L1L2L3CWE

11.1.1

アプリケーションは同じユーザのビジネスロジックフローをシーケンシャルなステップ順序でのみ処理し、ステップをスキップしない。

841

11.1.2

[11.2.1 へ移動]

11.1.3

[修正, 11.1.5 からマージ] ビジネスロジックの制限とバリデーションはアプリケーションのドキュメントに従って実装される。

11.1.4

[11.2.2 へ移動]

11.1.5

[削除, 11.1.3 へマージ]

11.1.6

[修正] アプリケーションは内部データの一貫性を保ち、ユーザーの状態を維持し、'time of check to time of use (TOCTOU)' 脆弱性などの競合状態を防ぐために、機密性の高い操作に対して同期およびロックのメカニズムを使用する。

367

11.1.7

[7.2.4 へ移動]

11.1.8

[7.2.5 へ移動]

11.1.9

[追加] "アトミックトランザクション" はビジネスロジックレベルで使用されてビジネスロジックオペレーション全体が成功するか、以前の正しい状態にロールバックされる。

V11.2 アンチオートメーション

#説明L1L2L3CWE

11.2.1

[11.1.2 から移動] アプリケーションはすべてのステップで現実的な人的時間、すなわちトランザクションがあまりに速く送信されていない、で処理されたビジネスロジックフローのみを処理する。

799

11.2.2

[修正, 11.1.4 から移動] アプリケーションは大量のデータ流出、ジャンクデータ作成、リソースクォータの枯渇、レート制限違反、帯域外通信のフラッディング、サービス拒否、高価なリソースの過剰使用などを引き起こす可能性のあるアプリケーション機能への過度の呼び出しから保護するための自動化防止コントロールがある。

770

参考情報

詳しくは以下の情報を参照してください。

Last updated