例外strackトレースをログに記録するアプリケーションがあり、本番環境にデプロイするときに、これらのスタックトレースにファイル名と行番号を含める必要がありました。アセンブリを使用してデバッグシンボルを展開する方法を理解しましたが、問題を調査する過程でこの質問に遭遇しました。これは、本番環境にpdbファイルを含めることはお勧めできないことを意味します。受け入れられた回答へのコメントは、「...デバッグ情報は機密データを提供し、攻撃ベクトルになる可能性があります。アプリが何であるかによって異なります」と述べています。
では、どのような種類の機密データが公開される可能性がありますか?デバッグシンボルを使用してアプリケーションを危険にさらすにはどうすればよいですか?技術的な詳細に興味がありますが、私が本当に探しているのは、特定のアプリケーションおよび実稼働環境にデバッグシンボルを含めるリスクを評価するための実用的な方法です。言い換えれば、起こりうる最悪の事態は何でしょうか。
編集:フォローアップの質問/説明
したがって、これまでの全員の回答に基づくと、この質問は.NETアプリケーションでは少し単純化できるようです。MichaelMaddoxの回答にリンクされているJohnRobbinsブログのこのビットは、私に飛び出しました。
.NET PDBには、ソースファイル名とその行、およびローカル変数名の2つの情報のみが含まれています。他のすべての情報はすでに.NETメタデータに含まれているため、PDBファイルで同じ情報を複製する必要はありません。
私にとって、これは他の人がReflectorについて言っていることを繰り返しますが、本当の問題はアセンブリへのアクセスであるという意味です。それが決定されたら、PDBに関して行う唯一の決定は、ファイル名、行番号、およびローカル変数名を公開することを気にするかどうかです(最初にエンドユーザーにスタックトレースを表示していないと仮定します)。それとも私はこれを単純化しすぎましたか?