機密情報を含むエラーメッセージの生成
説明
このアプリケーションは、スタックトレースなどのエラーデータを返すことが判明しています。エラーメッセージに含まれるデータによっては、攻撃者がこの情報を使ってさらなる攻撃を行う可能性があります。スタックトレースは開発中やデバッグ中に有用ですが、エラーが発生した時にユーザーに提示すべきではありません。
対処法
アプリケーションは例外条件を内部で処理し、既知のエラータイプをユーザーに表示できるエラーコードにマップする必要があります。これらのエラーコードはアプリケーションに合わせてカスタマイズされ、関連する HTTP エラーコードとともに返されるべきです。
エラーが発生すると、アプリケーションはエラーの種類やクラスを特定し、ユーザーに数値を表示します。ユーザーがエラーコードを表示されたときに、対応するリクエスト ID を持つように、リクエストも追跡されるべきです。サポートチームは、HTTPエラー、カスタマイズされたエラーコード、ログファイル内のリクエストIDを関連付けることで、エンドユーザーに詳細を漏らすことなく、エラーの根本原因を特定することができます。
カスタマイズされたエラーを返す例:
HTTP/1.1 500 Internal Server Error
...
Error [0004] Occurred, please contact support or re-try your request again shortly.
Request ID [a4bc91def12]
...
詳細
ID | 集計 | CWE | 種類 | リスク |
---|---|---|---|---|
209.1 | false | 209 | 受動的 | 低 |