2009-09-20 6 views
7

"ローカルシステム"として動作する.NET Windowsサービスを作成しました。最近私はそれを読んで、ローカルシステムとして実行すると、システムクレデンシャルがハッカーに公開され、システムを引き継ぐ可能性があります。 ローカルシステムとしてサービスを実行すると、どのようなリスクが発生し、どのようにそれらを防ぐことができますか?あなたが実行するか、私は任意のアプリケーションを信じている任意のサービスでWindowsサービスを「ローカルシステム」として実行する際のセキュリティリスクは何ですか?

答えて

6

サービスは、システムの信頼された空間の一部です。技術的に言えば、彼らはSeTcbName特権を持っています。これは、中でもを意味し、そのようなサービスはセキュリティ設定を変更し、すべての特権を付与し、一般にWindowsが行うことができるすべてを行うことができます。

結果として、システム機能に渡された非安定化された入力、不正なdll検索パス、バッファオーバーランなどのサービスの欠陥は、クリティカルなセキュリティホールになります。このため、エンタープライズ環境のシステム管理者は、サービスがLocalSystemで実行されている場合、そのサービスのインストールを許可しません。 LocalServiceNetworkServiceアカウントを使用してください。

0

、あなたはハッカーの影響を低減するために、必要とされていないアプリケーションの削除の権限を持っている必要があります。サービスは、ローカルディレクトリへの書き込み、または削除する必要がない場合

ので、その権限を削除。

また、あなたは、レジストリキーへのアクセスを必要とするかどうかを調べることができます。

あなたが行うことができます損傷を制限するために削除することができ、様々な権限があります。

編集:あなたはS2を見つけるをしたいことがあります。ウィンドウシステムサービスを使用して、ローカルシステムによるリスクの詳細を確認してください。 http://www.sans.org/top20/

0

私は、主な問題は、誰かが彼にアクセスシステムのリソースをすることができますあなたのサービスでのセキュリティバグを発見および/またはコードを実行するかどうかということだと思う - それはアクセス/ローカルシステム権限で実行(構築されたものと同じです管理者の場合)。 質問は、あなたのサービスがハッカーの証拠であると確信していますか? :LocalSystemとして実行されているP

+0

組み込み管理者はNT 4以降にデフォルトで 'SeTcbName'を持っていないので、' LocalSystem'はローカル管理者よりもさらに多くの権限を持っています。 –

関連する問題