V4 アクセス制御検証の要件
Last-modified: 2020-08-10 (月) 13:52:36
Top/V4 アクセス制御検証の要件
管理目標 †
管理目標 認可 (Authorization) とは、リソースへのアクセスを、その使用を許可されたユーザのみに制限する概念です。検証対象のアプリケーションが次の高次の要件を満たすことを確認します。
- リソースにアクセスするユーザが有効なクレデンシャルを持つ
- ユーザには、正しく定義された一連のロールと権限が割り当てられている
- ロールとアクセス許可のメタデータがリプレイや改ざんから保護されている
セキュリティ検証要件 †
V4.1 一般的なアクセス制御デザイン †
項番 | 説明 | L1 | L2 | L3 | CWE No | タイトル | 概要 |
4.1.1 | 特に、クライアント側のアクセス制御が存在し、それが迂回される可能性がある場合には、アプリケーションは信頼できるサービスレイヤに対してアクセス制御ルールを適用する。 | ✓ | ✓ | ✓ | 602 | クライアント側でのサーバ側セキュリティの実施 | ソフトウェアは、サーバを保護することを目的としたメカニズムを実装するためにクライアントに依存するサーバで構成されています。 |
4.1.2 | アクセス制御で使用されるすべてのユーザ属性とデータ属性およびポリシー情報は、特に認可されていない限りエンドユーザーによって操作されない。 | ✓ | ✓ | ✓ | 639 | ユーザ制御キーによる認証バイパス | システムの認証機能は、データを識別するキー値を変更することで、あるユーザが別のユーザのデータまたはレコードにアクセスすることを防ぐことはできません。 |
4.1.3 | 最小権限の原則が導入されている。ユーザは認可されているものについてのみ、機能やデータファイル、URL、コントローラ、サービス、他のリソースにアクセスできる。これは、なりすましや権限昇格に対する防御となる。 (C7) | ✓ | ✓ | ✓ | 285 | 不適切な認証 | アクターがリソースにアクセスしたり、アクションを実行しようとしたときに、ソフトウェアが認証チェックを実行しないか、または正しく実行されません。 |
4.1.4 | デフォルト拒否の原則が存在する。これにより新規のユーザやロールは最小限の権限または権限なしで開始し、アクセスが明示的に割り当てられるまで新しい機能へのアクセスができません。 (C7) | ✓ | ✓ | ✓ | 276 | 誤った既定の権限 | この製品は、インストール時に、意図しないアクターにオブジェクトを公開する誤った権限を設定しました。 |
4.1.5 | 例外が発生した場合も含めて、アクセス制御がセキュアに失敗する。 (C10) | ✓ | ✓ | ✓ | 285 | 不適切な認証 | アクターがリソースにアクセスしたり、アクションを実行しようとしたときに、ソフトウェアが認証チェックを実行しないか、または正しく実行されません。 |
V4.2 オペレーションレベルアクセス制御 †
項番 | 説明 | L1 | L2 | L3 | CWE No | タイトル | 概要 |
4.2.1 | 機密データおよび API が、他人のレコードの作成や更新、全員のレコードの閲覧、すべてのレコードの削除など、レコードの作成、読み取り、更新、削除を目的とするダイレクトオブジェクト攻撃に対して保護されている。 | ✓ | ✓ | ✓ | 639 | ユーザ制御キーによる認証バイパス | システムの認証機能は、データを識別するキー値を変更することで、あるユーザが別のユーザのデータまたはレコードにアクセスすることを防ぐことはできません。 |
4.2.2 | 認証済みの機能を保護するために、アプリケーションやフレームワークが強力な CSRF 対策メカニズムを実施していること、および有効な自動化対策や CSRF 対策が未認証機能の保護を実施している。 | ✓ | ✓ | ✓ | 352 | クロスサイトリクエストフォージェリ(CSRF) | ウェブアプリケーションは、リクエストを送信したユーザーが意図的に提供した形のある有効で一貫性のあるリクエストであるかどうかを十分に検証できないか、あるいは検証できない。 |
V4.3 他のアクセス制御の考慮 †
項番 | 説明 | L1 | L2 | L3 | CWE No | タイトル | 概要 |
4.3.1 | 管理インタフェースが、不正使用を防ぐために、適切な多要素認証を使用している。 | ✓ | ✓ | ✓ | 419 | 保護されていないプライマリチャネル | ソフトウェアは、管理または制限された機能のためにプライマリチャネルを使用していますが、チャネルが適切に保護されていません。 |
4.3.2 | ディレクトリリスティグは、意図して許可されない限り、無効となっている。また、ファイルやディレクトリのメタデータ (Thumbs.db、.DS_Store、.git、.svn フォルダなど) の検出や開示が許可されていない。 | ✓ | ✓ | ✓ | 548 | ディレクトリ・リスティングによる情報の漏洩 | ディレクトリ・リスティングは不適切に漏洩し、攻撃者に潜在的にセンシティブな情報をもたらします。 |
4.3.3 | アプリケーションが、低価値のシステムを対象とした追加の認可 (ステップアップ認証または適応認証など)や高価値アプリケーションを対象とした職務分掌を備えており、アプリケーションのリスクや過去に行われた不正行為に基づき、不正行為対策の管理策を必須とする。 | ✓ | ✓ | 732 | 重要なリソースへの不正な許可の割り当て | 本製品は、セキュリティ上重要なリソースに対して、意図しないアクターがリソースを読み取ったり変更したりできるような方法で許可を指定しています。 |
参考情報 †
詳しくは以下の情報を参照してください。
- OWASP Testing Guide 4.0: Authorization : https://www.owasp.org/index.php/Testing_for_Authorization
- OWASP Cheat Sheet: Access Control : https://www.owasp.org/index.php/Access_Control_Cheat_Sheet
- OWASP CSRF Cheat Sheet : https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet OWASP REST Cheat Sheet : https://www.owasp.org/index.php/REST_Security_Cheat_Sheet