0

プロセス リストおよび /proc/pid/cmdline からプロセスの名前を非表示にするにはどうすればよいですか。プロセス名がプロセスリストにある場合は問題ありませんが、その引数はリストに含まれるべきではありません。原因の引数には、非表示にしたいプレーンテキストのパスワードやいくつかの機密情報が含まれています。

ティア、サティシュ

4

2 に答える 2

3

隠すことはできません。これが、非常に多くの優れた CLI プログラムがコマンド ラインでパスワードを提供しない理由です。

プロセスを隠すためのソフトウェアがあり、それらは隠したいため、ルートキットとして知られています。

パスワードを付与するより良い方法は、プロセス ユーザーのみが読み取り可能なファイルを提供し、そこにパスワードを保存することです。これは、たとえばマウントによって行われ、credentials オプションが使用されます。

于 2011-01-29T14:07:58.047 に答える
1

一般に、コマンド ラインで機密情報を渡さないでください。環境変数*、またはファイルの内容で渡すか、ファイル記述子を介してパイプします。

プログラムの起動後にコマンド ラインを変更することは可能ですが (argv[1] が指すメモリを上書きすることにより)、プログラムの起動時とその引数の消去時との間に脆弱性のウィンドウが残ります。これは一般的に避けることはできません。そのため、機密データにはプログラム コマンド ライン引数を使用しないでください。

* - 環境変数のセキュリティは、UNIX 間で異なる場合があります。Linux では安全なはずです。env 変数を読み取ることができる場合は、プロセス メモリを直接読み取ることもできます。

于 2011-01-29T14:07:25.313 に答える