2010-11-24 11 views
4

にはどうすれば完了するまでにしばらく時間がかかることがあり、バックグラウンドで仕事をしているWindowsサービスを停止またはクラッシュ、改ざんからユーザーを防ぐことができますか?信頼されていないユーザーからのWindowsサービスを保護する

停止要求を受信すると、サービスは停止する前に作業が完了するまで待機する必要があります。

はサービスのためのCanStopのフラグがありますが、私はOnStopメッセージに応答するかどうかはわかりません。ユーザーがサービスをクラッシュさせようとした場合、どうすれば改ざんを防止できますか?


編集:すべてのバックグラウンド・プロセスへのペアレンタルコントロールから一般質問。

+0

を試すのに役立ちます、それが終了しているからタスクを防止することができるのかどうかを尋ねる多くの質問がありました。これらは常に別の疑問を提起します。電源コードを引き抜くとどうなりますか? – wj32

+0

@ wj32:私は取り組むことができる問題を解決することに集中することを好む。 –

+0

私の主張は、あなたが問題に対処できないということです。私があなたに与えた例を考えてみましょう。ドライバからPsTerminateProcessを呼び出すような、ソフトウェア終了メソッドとの違いは何ですか? – wj32

答えて

3

サービスを停止するには、管理者権限が必要です。私はボックスに管理者を持つ誰かからプログラムを保護する簡単な方法はないと思います。 「信頼できないユーザー」がサービスを停止しないようにするには、「信頼されていないユーザー」の管理者権限を与えないでください。

ので、私は少しを明確にしましょう、この時点比べていくつかのトリッピングがあるようです。管理者がプログラムをアンインストールすると決めたとします。これは、通常、ほんの数回のマウスクリックです。あなたはそれを防ぐために措置を取るつもりですか?

あなたの答えをここで慎重に考えてください。 意図的に管理者によるアンインストールを防止しようとするプログラムは、定義により、malwareです。

NTはすべての家庭用PCユーザーに管理者権限を与えてくれたので、彼らは心の中にゲームをインストールしてプレイできるようになっています。しかし、これはVistaとWin7ではそれほど重要なことではなく、人々はその習慣から脱出するべきです。 「信頼できる」ユーザーであっても、非常に悪いセキュリティ実践です。彼らは実際にいくつかのセキュリティ慣行に従うことを持っていることをユーザーに伝える

は悪いことではありません。彼らは、マルウェアやウィルスを自分のマシンからはるかに少なくしなければならないことも発見します。

+0

はい、ただし、完全に合理的な制限であっても、ユーザーが管理者権限を持つことがあります。私はおそらく馬鹿な方法ではないことを知っていますが、信頼できないユーザーがサービスを妨害するのはどうすれば難しいですか? –

+1

しかし、管理者は定義上、信頼できるユーザーです – shf301

+0

管理者権限を持つユーザーは、多くの場合購買決定を行うユーザーです。あなたは彼らを危険にさらして怒らせる。 –

1

threat modelは何ですか?脅威モデルがなければ、あなたの努力を費やす正しい方法を理解することは不可能です。瞬間のために

は、ちょうどむしろ予防よりも、停止してからサービスを防止または改ざんやクラッシュを検討してみましょう。

T.E.Dは、管理者がサービスを停止したい場合、通常はこれを防ぐようにはしないでください。それ以外の場合、管理者はどのようにフォールト・アイソレーションを行うことができますか、Windowsをベア・ボーン・モードで起動することができますか?

あなたが言うように、ServiceBase.CanStopプロパティは、サービスの停止を防ぐために使用されます。このプロパティは通常、である必要があるOSクリティカルサービスによってのみ使用されます。

メインサービススレッドでは、OnStopイベントを無視し、永遠にループすることができます。だからSCMは、まだ実行中であってもサービスが停止したと思うでしょう。これはかなり厄介ですが、うまくいくはずです。 SCMは実際に停止を強制するのではなく、停止要求を発行しています。グループポリシーを使用して

+0

私は悪意のある攻撃者についてあまり心配していませんが、そのプロセスが完了するまでサービスを停止できるように、ワーカープロセスを開始したログインユーザーにはサービスを停止させたくありません。サービスは、完了するまで停止要求をブロックする必要があります。 –

関連する問題