パイプを使用するのはなぜ危険だと考えられているのですか? これらのセキュリティの問題を回避するにはどうすればよいでしょうか?
主に Windows に興味がありますが、他の OS 情報があれば提供してください。
パイプを使用するのはなぜ危険だと考えられているのですか? これらのセキュリティの問題を回避するにはどうすればよいでしょうか?
主に Windows に興味がありますが、他の OS 情報があれば提供してください。
(「c」と「IPC」の言及からUnixの名前付きパイプについて話していると仮定します。Windowsの名前付きパイプの動作は多少異なります)
権限を持つ人は誰でも名前付きパイプに書き込むことができるため、権限とロックには注意する必要があります ( flock()を参照)。アプリケーションが名前付きパイプから取得した入力を信頼する場合 (入力検証を明示的に組み込まない限り、通常はそうなるでしょう)、悪意のあるユーザーは、権限があれば、必要なデータを名前付きパイプに書き込むことができます。
また、パーミッションを持つすべてのユーザーは、パイプを排他的にロックしていない場合、パイプから読み取り、そこから出てくるデータを傍受できます。その場合、リーダーが予期している入力ストリームからデータが失われます。