私たちはプログラミング上のミスによる影響を、 特権 (root権限) をもたない子プロセス内に閉じこめることで その影響を制限することにしています。 特権をもたない子プロセスからシステムをやぶることはできません。 つまり、私たちの目標は OpenSSH の中で完全に特権を分離することなのです。 特権分離には 2つのプロセスを使用します。 特権をもつ親プロセスは、特権をもたない子プロセスの進行を監視します。 子プロセスは特権をもっていません。これはその uid/gid を実際には使われない ユーザのものに変更し、chroot() によってそのプロセスの ファイルシステムへのアクセスを /var/empty に制限することで 達成されます。これはネットワークデータを処理するためだけのプロセスなのです。 特権をもつ親プロセスは、非常に小さな有限状態遷移機械として モデル化することが可能であり、こ