V7 エラー処理とロギング検証の要件 の変更点
Top/V7 エラー処理とロギング検証の要件
- 追加された行はこの色です。
- 削除された行はこの色です。
- V7 エラー処理とロギング検証の要件 へ行く。
- V7 エラー処理とロギング検証の要件 の差分を削除
#author("2020-07-17T17:02:27+09:00","","") #author("2020-08-10T14:11:25+09:00","","") [[OWASP ASVS 4.0]] *管理目標 [#w039ad7c] エラー処理とログ記録の主な目的はユーザー、管理者、インシデントレスポンスチームに対して有用な情報を提供することです。その目的は大量のログを作成することではなく、廃棄されるノイズよりもより多くのシグナルを持つ高品質のログを作成することです。~ 高品質のログは機密データを含むことが多く、地域ごとのデータプライバシー法や規制に従って保護する必要があります。これには以下が含まれます。 -特に必要がない限り機密情報を収集や記録しません。~ -ログに記録されたすべての情報がセキュアに処理され、そのデータ分類に従って保護されていることを確認します。 -ログは永続的に保存されるのではなく、可能な限り短い絶対存続時間を持つことを確認します。 個人データや機密データ (国ごとに定義が異なります) をログに含む場合、そのログはアプリケーションにより保持される最も機密性の高い情報の一つとなり、攻撃者にとってそれ自体が非常に魅力的です。~ また、アプリケーションがセキュアに失敗し、エラーが不要な情報を開示しないようにすることも重要です。 *V7.1 ログ内容要件 [#qc5e9d42] 機密情報をログに記録することは危険です。そのログは分類され、暗号化する必要があり、保有ポリシーの対象となり、セキュリティ監査で開示する必要があります。必要な情報のみをログに保存し、決済、資格情報 (セッショントークンを含む) 、機密情報、個人識別情報を含めてはいけません。~ V7.1 は OWASP Top 10 2017:A10 をカバーしています。2017:A10 とこのセクションはペネトレーションテストが不可能であるため、以下の点が重要です。~ -開発者はすべての項目が L1 としてマークされているものとして、このセクションに完全準拠していることを確認します。 -ペネトレーションテスト担当者はインタビュー、スクリーンショット、アサーションを介して V7.1 のすべての項目の完全準拠を検証します。 *管理目標 [#z9069a77] エラー処理とログ記録の主な目的は、ユーザ、管理者、インシデント対応チームに有用な情報を提供することです。目的は、大量のログを作成することではなく、廃棄されるノイズよりも多くのシグナルを含む高品質のログを作成することです。 高品質のログには機密データが含まれていることが多く、現地のデータプライバシー法や指令に従って保護されなければなりません。これには以下が含まれます。 -特に必要とされない限り、機密情報の収集やロギングを行わないこと -すべてのログ情報が安全に処理され、データ分類に従って保護されていること -ログは永久に保存せず、可能な限り短い絶対的な寿命を持つようにすること 定義は国によって異なりますが、ログに個人情報や機密性の高いデータが含まれている場合、ログはアプリケーショ ンによって保持される最も機密性の高い情報の一部となり、攻撃者にとって非常に魅力的なものとなります。 また、アプリケーションが安全に失敗し、エラーが不必要な情報を開示しないようにすることも重要です。 &br; **V7.1 ログ内容の要件 [#v4dcd14a] 機密情報をログに記録するのは危険です。ログそのものが機密情報に分類されるため、暗号化する必要が生じ、保存ポリシーの対象となり、セキュリティ監査で開示する必要があります。必要な情報のみをログに保存し、支払い、資格情報(セッショントークンを含む)、機密情報または個人を特定できる情報は絶対に含めないでください。 V7.1はOWASP Top 10 2017:A10をカバーしています。2017:A10とこのセクションはペネトレーションテストが不可能なため、以下の点が重要です。 -開発者は、このセクションでL1とマークされているすべての項目に完全準拠すること -ペネトレーションテスターは、インタビューやスクリーンショットまたはアサーションを介してV7.1のすべての項目への完全準拠を検証すること |50|350||||60|150|250|c |項番|説明|L1|L2|L3|CWE No|タイトル|概要|h |7.1.1|アプリケーションがクレデンシャルまたは支払い情報をログに保存していない。セッショントークンは、不可逆的なハッシュ形式でのみログに保存する。 (C9, C10)|✓|✓|✓|532|ログファイルへの機密情報の挿入|ログファイルに書き込まれた情報は機密性が高く、攻撃者に貴重なガイダンスを与えたり、機密性の高いユーザー情報を暴露したりする可能性があります。| |7.1.2|現地のプライバシー法または関連するセキュリティポリシーで定義されているその他のセンシティブなデータをログに記録していない。 (C9)|✓|✓|✓|532|ログファイルへの機密情報の挿入|ログファイルに書き込まれた情報は機密性が高く、攻撃者に貴重なガイダンスを与えたり、機密性の高いユーザー情報を暴露したりする可能性があります。| |7.1.3|成功および失敗した認証イベント、アクセス制御の失敗、デシリアライゼーションの失敗、および入力検証の失敗を含むセキュリティへの影響が考えられるイベントについてログを保存する。 (C5, C7)||✓|✓|778|不十分なロギング |セキュリティ上重要なイベントが発生した場合、ソフトウェアはイベントを記録しないか、ログを記録する際にイベントに関する重要な詳細を省略します。| |7.1.4|各ログのイベントには、イベント発生時のタイムラインを詳細に調査するために必要な情報が含まれている。 (C9)||✓|✓|778|不十分なロギング |セキュリティ上重要なイベントが発生した場合、ソフトウェアはイベントを記録しないか、ログを記録する際にイベントに関する重要な詳細を省略します。| &br; **V7.2 ログ処理の要件 [#u64a7a9d] タイムリーなログ記録は、監査イベント、トリアージおよびエスカレーションにとって重要です。アプリケーションのログが明確で、ローカルまたはリモートの監視システムに送信されたログのいずれかで簡単に監視および分析できることを確認してください。 V7.2はOWASP Top 10 2017:A10をカバーしています。2017:A10とこのセクションはペネトレーションテストが不可能なため、以下の点が重要です。 -開発者は、このセクションでL1とマークされているすべての項目に完全準拠すること -ペネトレーションテスターは、インタビューやスクリーンショットまたはアサーションを介してV7.2のすべての項目への完全準拠を検証すること |50|350||||60|150|250|c |項番|説明|L1|L2|L3|CWE No|タイトル|概要|h |7.2.1|センシティブなセッションIDやパスワードを保存せずに、すべての認証判定がログに記録されている。これには、セキュリティ調査に必要な関連メタデータを含むリクエストを含める。||✓|✓|778|不十分なロギング |セキュリティ上重要なイベントが発生した場合、ソフトウェアはイベントを記録しないか、ログを記録する際にイベントに関する重要な詳細を省略します。| |7.2.2|すべてのアクセス制御判定がログに記録され、失敗したすべての判定がログに記録される。これには、セキュリティ調査に必要な関連メタデータを含むリクエストを含める。||✓|✓|285|不適切な認証 |アクターがリソースにアクセスしたり、アクションを実行しようとしたときに、ソフトウェアが認証チェックを実行しないか、または正しく実行されません。| **V7.3 ログ保護の要件 [#wa5a3296] 簡単に変更や削除が可能なログは、調査や訴追には使えません。ログの公開により、アプリケーションまたはアプリケーションに含まれるデータに関する内部の詳細が明らかになる可能性があります。不正な開示、変更、削除からログを保護する際には注意が必要です。 |50|350||||60|150|250|c |項番|説明|L1|L2|L3|CWE No|タイトル|概要|h |7.3.1|ログインジェクションを防ぐためにユーザ指定のデータを適切にエンコードする。 (C9)||✓|✓|117|ログの不適切な出力中和|このソフトウェアは、ログに書き込まれた出力を中和したり、誤って中和したりしません。| |7.3.2|ログ閲覧ソフトウェアで表示したときに、すべてのイベントがインジェクションから保護されている。 (C9)||✓|✓|117|ログの不適切な出力中和|このソフトウェアは、ログに書き込まれた出力を中和したり、誤って中和したりしません。| |7.3.3|セキュリティログが不正なアクセスや改変から保護されている。 (C9)||✓|✓|200|機密情報の非公認俳優への暴露について|この製品は、その情報へのアクセスを明示的に許可されていないアクターに機密情報を公開します。| |7.3.4|時刻源が正しい時間と正しいタイムゾーンに同期されている。システムがグローバルである場合は、インシデント後のフォレンジック分析を支援するためにUTCでのみログを記録することを強く検討する。 (C9)||✓|✓|||| 注:ログのエンコーディング(7.3.1)は、自動化された動的ツールやペネトレーションテストによるテストやレビューは困難ですが、設計者、開発者、ソースコードレビュー者はログのエンコーディングをL1の要件と考える必要があります。 &br; **V7.4 エラー処理 [#fa37fee2] エラー処理の目的は、アプリケーションが監視やトリアージおよびエスカレーションのためにセキュリティ関連のイベントを提供できるようにすることです。目的はログを作成することではありません。セキュリティ関連のイベントをログに記録するときは、ログに目的があること、およびSIEMまたは分析ソフトウェアによって区別できることを確認してください。 |50|350||||60|150|250|c |項番|説明|L1|L2|L3|CWE No|タイトル|概要|h |7.4.1|予期しないエラーまたはセキュリティ上重要なエラーが発生したときに、サポート担当者が調査に使用できる一意のIDとともに一般的なメッセージが表示される。 (C10)|✓|✓|✓|210|機密情報を含む自己生成のエラーメッセージ |ソフトウェアはエラー状態を識別し、機密情報を含む独自の診断メッセージまたはエラーメッセージを作成します。| |7.4.2|予期されるエラーおよび予期されないエラー状態を説明するために、例外処理(または機能的に同等なもの)がコードベース全体で使用されている。 (C10)||✓|✓|544|標準化されたエラー処理メカニズムがない |ソフトウェアは、コード全体でエラーを処理するための標準化された方法を使用していないため、一貫性のないエラー処理とその結果としての弱点が発生する可能性があります。| |7.4.3|未処理の例外をすべて捕捉する「最後の手段」となるエラーハンドラが定義されている。 (C10)||✓|✓|460|例外がスローされたときの不適切なクリーンアップ |例外がスローされたときに、製品がその状態をクリーンアップしなかったり、不適切にクリーンアップしたりしたため、予期しない状態や制御フローが発生します。| 注:SwiftやGoのような特定の言語や(および一般的な設計手法を通して)多くの関数型言語は、例外や最終手段イベントハンドラをサポートしていません。このような場合、設計者と開発者は、パターン、言語またはフレームワークで簡単に使える方法を使用して、例外や予期しないイベントまたはセキュリティ関連のイベントをアプリケーションが安全に処理できるようにする必要があります。 *参考情報 [#d4a9e9ec] 詳しくは以下の情報を参照してください。 -OWASP Testing Guide 4.0 content: Testing for Error Handling : https://www.owasp.org/index.php/Testing_for_Error_Handling