
Linux では、ログイン su などの SUID バイナリに読み取り権限が設定されていないことに気付きました。これはなぜでしょうか。何か経緯があるのでしょうか。それとも、ファイルを読み取ることができればデバッガーをアタッチして、任意のコードを実行できるからでしょうか。
答え1
これは私の経験ではないので、どのディストリビューションを使用しているかを記載する価値があるかもしれません。
ルートでない限り、suid バイナリにデバッガーをアタッチすることはできません。
バイナリを読むことで、プログラムの弱点を見つけて悪用することができます。しかし、自分でディストリビューションをダウンロードし、ルート アクセスを持つコンピューターにインストールして、必要に応じてプログラムを検査することもできます。コア プログラムの一部である場合は、ソースを取得してソース レベルで検査することもできます。
したがって、ファイルの内容を隠しても意味がありません。