2011-01-29 14 views
0

プロセス名と/ proc/pid/cmdlineからプロセス名を隠すにはどうしたらいいですか? プロセス名がプロセスリストに見える場合は問題ありませんが、その引数はリストに入ってはいけません。 原因引数には、プレーンテキストのパスワードや、機密情報がほとんどないため、非表示にする必要があります。プロセスリストからのプロセスの非表示

TIA、一般的には

+7

パスワードをコマンドライン引数として指定しないでください。 –

+0

あなたはこの質問をhttp://unix.stackexchange.com/またはhttp://superuser.com/ –

+3

に投稿する必要があります。いいえ、これはstackoverflowで問題ないと思います。プログラミングによって最も合理的に解決できる特定の技術的な質問をします。エンドユーザの質問ではありません(エンドユーザは実際には、プログラムを変更せずにこの問題を適切に解決できません) – bdonlan

答えて

1

サティシュは、コマンドライン上の機密情報を渡しません。環境変数*、またはファイルの内容に渡すか、ファイル記述子経由でパイプに渡します。

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

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

+2

-1プロセスの環境変数も読み出すことができるので、これはオプションではありません。 – Daniel

+0

@Daniel、少なくともLinux上ではenv varsは同じユーザーだけが読むことができます。誰かが情報を何とか隠してしまったとしても、単にptrace()を実行してプロセスのメモリを直接読み取ることができます。 – bdonlan

+0

+2 @bdonlan:私はちょうど確認し、これを認識していませんでした。あなたはそれがどのように窓にあるか知っていますか?現在のところ、周囲にはマックしかありません。 – Daniel

3

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

プロセスを非表示にするソフトウェアがあり、rootkitsとして知られています。なぜなら、それらを非表示にしたいからです。

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

+0

私がrootkitを使用している場合は、unhide、プロセス名とその引数を調べるchkhunterのような多くのツールがあります。だから私は別の解決策を探しています。しかし、あなたのためにthnxが助けます。 – SHW