アカウント名:
パスワード:
LD_PRELOAD 環境変数を用いてすべてのプロセスの実行時に読み込ませる仕組みだ。
ライブラリやらモジュールやらって、各アプリの起動時に、必要なもの読ませれば良いじゃん。なんでこんなリソースの無駄遣い+脆弱性の呼び水にしかならんような仕様があるのか理解できん。
> ライブラリやらモジュールやらって、各アプリの起動時に、必要なもの読ませれば良いじゃん。
その必要なものを読み込ませるの使うんだよ。頭使え。同じ名前のライブラリが複数ある時に使うものを選べる。LD_PRELOAD 無しでどうやってライブラリの開発するんだ?別環境で実行できないようなライブラリのバイナリ互換性とかチェックするのに必要なんだよ。いやなら ld-linux 入れ換えて LD_PRELOAD を根本から無効にしても良いし SELinux とかで防御しても良い。
そもそも root 権限取られてる状態で LD_PRELOAD だけ気にしてもしょうがいだろ。カーネル入れ換えられたり、カーネルモジュール入れ換えられたり、libc 入れ換えられたり、BIOS 入れ換えられたり、どこにでも何でも仕掛けられるんだから。最近なら弱々な systemd とか狙い目だぞ。
危険性はそんなに増えないのに、利便性が増えるから存在してるんだよ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stay hungry, Stay foolish. -- Steven Paul Jobs
なんでこんな仕様があるのか (スコア:1)
LD_PRELOAD 環境変数を用いてすべてのプロセスの実行時に読み込ませる仕組みだ。
ライブラリやらモジュールやらって、各アプリの起動時に、必要なもの読ませれば良いじゃん。
なんでこんなリソースの無駄遣い+脆弱性の呼び水にしかならんような仕様があるのか理解できん。
Re: なんでこんな仕様があるのか (スコア:0)
> ライブラリやらモジュールやらって、各アプリの起動時に、必要なもの読ませれば良いじゃん。
その必要なものを読み込ませるの使うんだよ。頭使え。同じ名前のライブラリが複数ある時に使うものを選べる。
LD_PRELOAD 無しでどうやってライブラリの開発するんだ?
別環境で実行できないようなライブラリのバイナリ互換性とかチェックするのに必要なんだよ。
いやなら ld-linux 入れ換えて LD_PRELOAD を根本から無効にしても良いし SELinux とかで防御しても良い。
そもそも root 権限取られてる状態で LD_PRELOAD だけ気にしてもしょうがいだろ。
カーネル入れ換えられたり、カーネルモジュール入れ換えられたり、libc 入れ換えられたり、BIOS 入れ換えられたり、どこにでも何でも仕掛けられるんだから。最近なら弱々な systemd とか狙い目だぞ。
危険性はそんなに増えないのに、利便性が増えるから存在してるんだよ。