Linuxでは、プロセスの環境変数が他の(root以外の)ユーザーによって観察可能かどうかを判断しようとしています。
差し迫ったユースケースは、環境変数に秘密を入れることです。これはウェブ全体の多くの場所で安全ではないと議論されていますが、Linuxの正確な露出ポイントに焦点を合わせることができませんでした。
私は平文の秘密をファイルに入れることについて話していないことに注意してください。また、ルートアカウントへの露出については話していないことに注意してください(私は、ルートを非スターターとして攻撃者から秘密を隠そうと試みていると考えています)。
この質問は、環境変数を完全にセキュリティなし、または単に難読化されていると分類するコメントで、私の質問に対処しているように見えますが、どのようにアクセスしますか?
私のテストでは、1人の非特権ユーザーがプロセステーブル(「ps auxwwe」)を介して別のユーザーの環境変数を監視できません。環境変数を設定するコマンド(例:エクスポート)は、プロセステーブルに追加されないシェル組み込みコマンドであり、拡張により/ proc / $ pid / cmdlineにはありません。/ proc / $ pid / environは、プロセス所有者のUIDによってのみ読み取り可能です。
おそらく、混乱は異なるオペレーティングシステムまたはバージョン間のものです。Web上のさまざまな(最近の)ソースは環境変数の安全性を非難していますが、異なるLinuxバージョンのスポットチェックは、少なくとも2007年まで遡ってこれが不可能であることを示しているようですテストする手)。
Linuxでは、非特権ユーザーは他のプロセスの環境変数をどのように監視できますか?