10

Mutex を使用して単一インスタンスの WPF アプリケーションをセットアップしました。これにより、ユーザー切り替えを使用している場合に、各ユーザー アカウント内でアプリケーションを実行できます。アプリケーションは、WCF 名前付きパイプをセットアップして、別のプロセスから単一のインスタンスと通信できるようにします (つまり、Mutex が原因で終了する前に 2 番目のプロセスが実行される場合)。

名前付きパイプを保護するために何かを行う必要があるかどうか (ベスト プラクティス) を知りたいですか?

また、名前付きパイプ メッセージがシステム内で実行中のすべてのプロセスに到達するのか、それとも現在のユーザー セッション内でのみ到達するのかを知りたいです。名前付きパイプがシステム全体に送信される場合、通信を現在のユーザー セッションに制限するための最適な実装は何でしょうか?

4

3 に答える 3

7

WCF の名前付きパイプはネットワークからアクセスできず、それらを保護するための暗号化は必要ありません。ただし、WCF サービスはromkynsで言及されている攻撃に対して安全ではありません。

この投稿を読むことをお勧めします:

WCF 名前付きパイプ バインディングの探索 - パート 1

WCF 名前付きパイプ バインディングの探索 - パート 2

WCF 名前付きパイプ バインディングの探索 - パート 3

WCF 名前付きパイプ バインディングの探索 - パート 4

関連するセキュリティの問題について。

要するに、WCF では、任意のプロセスが自分自身をサービスとして偽装することができます。

  1. サービスをシミュレートするか、または
  2. 不正なプロセス自体がサービスに接続することを想定して、データを盗聴および改ざんします。ただし、サービスがアクセス セキュリティを使用して呼び出し元ユーザーの身元を確認する場合、これは不可能な場合があります。
于 2010-08-26T11:53:24.593 に答える
2

名前付きパイプは、通信が同じマシン上でポイント ツー ポイントであることを意味します。デフォルトでセキュリティが確保されていると思いますが、同じネットワーク上であっても通信がマシンから離れることはないため、少なくとも名前付きパイプ コンポーネントとその消費者。

Juval Lowy による「Programming WCF Services 2nd Edition」を参照してください。第 10 章では、コンポーネントのセキュリティについて説明します。514 ページで、彼は次のように書いています。パイプ。

于 2009-06-23T15:43:40.793 に答える
1

名前付きパイプのセキュリティに関するこのペーパーでは、このトピックについて詳しく説明しています。

つまり、注意を怠ると、標準ユーザー権限で実行されている悪意のあるプログラムがパイプを悪用して、名前付きパイプ サーバーと同じ特権レベルに自分自身を昇格させる可能性があります。

残念ながら、WCF の実装がデフォルトでこの種の攻撃に対して安全であるかどうかはわかりません。

于 2010-04-27T15:19:30.370 に答える