V7: エラー処理とログ記録
管理目標
エラー処理とログ記録の主な目的はユーザ、管理者、インシデントレスポンスチームに対して有用な情報を提供することです。その目的は大量のログを作成することではなく、廃棄されるノイズよりもより多くのシグナルを持つ高品質のログを作成することです。
高品質のログは機密データを含むことが多く、地域ごとのデータプライバシー法や規制に従って保護する必要があります。これには以下が含まれます。
特に必要がない限り機密情報を収集や記録しません。
ログに記録されたすべての情報がセキュアに処理され、そのデータ分類に従って保護されていることを確認します。
ログは永続的に保存されるのではなく、可能な限り短い絶対存続時間を持つことを確認します。
個人データや機密データ (国ごとに定義が異なります) をログに含む場合、そのログはアプリケーションにより保持される最も機密性の高い情報の一つとなり、攻撃者にとってそれ自体が非常に魅力的です。
また、アプリケーションがセキュアに失敗し、エラーが不要な情報を開示しないようにすることも重要です。
V7.1 ログ内容
機密情報をログに記録することは危険です。そのログは分類され、暗号化する必要があり、保有ポリシーの対象となり、セキュリティ監査で開示する必要があります。必要な情報のみをログに保存し、決済、クレデンシャル (セッショントークンを含む) 、機密情報、個人識別情報を含めてはいけません。
V7.1 は OWASP Top 10 2017:A10 をカバーしています。2017:A10 とこのセクションはペネトレーションテストが不可能であるため、以下の点が重要です。
開発者はすべての項目が L1 としてマークされているものとして、このセクションに完全準拠していることを確認します。
ペネトレーションテスト担当者はインタビュー、スクリーンショット、アサーションを介して V7.1 のすべての項目の完全準拠を検証します。
7.1.1
✓
✓
✓
532
7.1.2
✓
✓
✓
532
7.1.3
✓
✓
778
7.1.4
✓
✓
778
V7.2 ログ処理
タイムリーなログ記録は監査イベント、トリアージ、エスカレーションにとって重要です。アプリケーションのログが明確であり、ローカルでまたはリモートの監視システムに送信されたログでのいずれかで簡単に監視および分析できることを確認します。
V7.2 は OWASP Top 10 2017:A10 をカバーしています。2017:A10 およびこのセクションはペネトレーションテストが不可能であるため、以下の点が重要です。
開発者はすべての項目が L1 としてマークされているものとして、このセクションに完全準拠していることを確認します。
ペネトレーションテスト担当者はインタビュー、スクリーンショット、アサーションを介して V7.2 のすべての項目の完全準拠を検証します。
7.2.1
機密性の高いセッショントークンやパスワードを保存せずに、すべての認証判定がログに記録されている。これにはセキュリティ調査に必要な関連メタデータを伴うリクエストを含めるべきである。
✓
✓
778
7.2.2
すべてのアクセス制御判定がログに記録されており、失敗したすべての判定がログに記録される。これにはセキュリティ調査に必要な関連メタデータを伴うリクエストを含めるべきである。
✓
✓
285
V7.3 ログ保護
簡単に改変や削除が可能なログは調査や遂行の役に立ちません。ログの開示はアプリケーションやそこに含まれるデータに関する内部の詳細を漏洩する可能性があります。不正な開示、改変、削除からログを保護する際には注意が必要です。
7.3.1
✓
✓
117
7.3.2
[削除, 7.3.1 と重複]
7.3.3
✓
✓
200
7.3.4
✓
✓
注意: ログのエンコーディング (7.3.1) は自動動的ツールやペネトレーションテストを使用してテストやレビューをすることが困難ですが、設計者、開発者、ソースコードレビュー担当者は L1 要件とみなすべきです。
V7.4 エラー処理
エラー処理の目的はアプリケーションが監視、トリアージ、エスカレーションのためにセキュリティ関連のイベントを提供できるようにすることです。その目的はログを作成することではありません。セキュリティ関連のイベントをログに記録する際には、ログに目的があること、および SIEM または解析ソフトウェアにより識別できることを確認します。
7.4.1
✓
✓
✓
210
7.4.2
✓
✓
544
7.4.3
✓
✓
431
注意: Swift や Go (および一般的なデザインプラクティスを通じて) 多くの関数型言語などの特定の言語は、例外やラストリゾートイベントハンドラをサポートしていません。この場合、設計者と開発者はパターン、言語、フレームワークにフレンドリーな方法を使用して、アプリケーションが例外イベント、予期しないイベント、セキュリティ関連のイベントをセキュアに処理できるようにする必要があります。
参考情報
詳しくは以下の情報を参照してください。
Last updated
Was this helpful?