プログラムの存続期間中に機密情報 (秘密鍵など) を使用するため、機密情報 (秘密鍵など) をメモリに保持するプログラムがあります。このプログラムの製品版では、RLIMIT_CORE を 0 に設定して、機密情報を含む可能性のあるコア ダンプが生成されないようにしています。
ただし、これはcore(8)
マンページには記載されていませんが、Ubuntu wiki のレポートのドキュメントには次のように記載されています。
ulimit が無効なコア ファイルに設定されている場合でも (ulimit -c 0 を使用してゼロのコア ファイル サイズを指定することにより)、apport は引き続きクラッシュをキャプチャすることに注意してください。
プロセスのコア ダンプが決して生成されないように、プロセス内で (つまり、システム外部のシステムの構成に依存せずに) 方法はありますか?
注: root 権限またはプロセス所有者権限を持つユーザーが機密データにアクセスできる方法 (以下のコメントで言及されている方法など) がたくさんあることは承知しています。ここで私が目指しているのは、機密データがディスクに保存されたり、Ubuntu バグ追跡システムに送信されたりすることで、意図せず機密データが公開されるのを防ぐことです。(これを明示してくれたBasile Starynkevitchに感謝します。)