.NET Security Blog : FullTrust on the LocalIntranet
まぁ多少は考えているらしい。
レジストリのHKLM\Software\Microsoft\.NETFramework registry keyにLegacyMyComputerZoneという名前でDWORD値を1に設定すれば今まで通りの挙動となる。ただこれはやっぱりデフォルトが逆でこのようなレジストリを設定して初めて共有先からの起動が許可されるか、あらかじめこの設定がなされているべきだと思う。
今回のLocalIntranetゾーンがFullTrustになるが、以下の制限が設けられる。
- Any managed .exe which is launched directly from a network share
- Any assembly in that .exe’s process which is loaded from the same directory as the .exe itself was.
- マネージドな.EXE(実行ファイル)はネットワーク共有から起動することができる。
- アセンブリは.EXEのプロセスが起動された同じディレクトリからのみ起動できる。
その場合以下のことは禁止される。
- Assemblies loaded from a subdirectory of the share where the .exe was launched from
- Assemblies loaded from shares other than the one where the main .exe was launched
- Any assembly loaded on a machine with the LegacyMyComputer registry value set to 1
- Any assembly loaded into a CLR host, including assemblies loaded into Internet Explorer as controls.
- Any assembly loaded from shares by an application that was launched from the "real" MyComputer zone.
- .EXEのプロセスが起動されたディレクトリのサブディレクトリからのアセンブラ(DLL)を起動すること
- .EXEのプロセスが起動されたディレクトリとは別の共有先からのアセンブラ(DLL)を起動すること
- LegacyMyComputerレジストリの値が1になっているコンピュータで共有先から起動すること
- Internet Explorer内部でコントロールとしてホストされているCLRにアセンブリとして(共有先のアセンブリを)ロードすること
- 「現実の」MyComputerゾーンから起動されたアプリケーションから共有先のアプリケーションを起動すること。
ということで一応は考えて対策されてはいるようです。でもやっぱりデフォルトは逆だよ。
コメント