機密情報を含むエラーメッセージの生成

説明

このアプリケーションは、スタックトレースなどのエラーデータを返すことが判明しています。エラーメッセージに含まれるデータによっては、攻撃者がこの情報を使ってさらなる攻撃を行う可能性があります。スタックトレースは開発中やデバッグ中に有用ですが、エラーが発生した時にユーザーに提示すべきではありません。

対処法

アプリケーションは例外条件を内部で処理し、既知のエラータイプをユーザーに表示できるエラーコードにマップする必要があります。これらのエラーコードはアプリケーションに合わせてカスタマイズされ、関連する 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.1false209受動的