windows diffender の リアルタイム監視

05-28,2019


最近、気づいたことがあります。

Windows Diffender や、その前進である windows security essentials の、
リアルタイム監視が、特定のソフトやアプリを監視することで、
そのソフトやアプリだけが重くなるという現象です。


これは、調べようとしても、
該当の現象を記した記事を呼び出すのは、結構難しいことだったので、
Google検索だけでは、なかなか気付けませんでした。

もし、そのようなことを調べようとすると、
「Windows Diffender自身を監視しようとして、監視できずに暴走するという記事」
が、ずらーーっと出てきます。


これに気付いたのは、2台のPC間で、アプリを起動させていた時でした。
片方では正常なのに、
片方では重くなったのです。

重くなった方は、マシンスペックが上位の
新しい環境でした。

マシンスペックが上なのに、重い。

最初はプログラムの問題かと思い、奮闘しましたが、
どうもおかしい。

というのも、タスクマネージャーで見ていても、
該当のアプリは、言うほどCPUを使用していませんでした。

古い方のPCでは、15%ほどを使用していて、
新しい方では3%ほど。

その3%の方が重く、15%の方はスイスイ、という意味不明さ。

しかも、この現象が起きたのは、
ある瞬間から、突然発生しだしました。


答えは、Windows Diffenderでした。

新しい環境の方では、
Windows Diffenderが、ある瞬間に、定義ファイルを自動更新。

その瞬間から、そのアプリは監視対象に該当されたらしく、
起動中ずっと監視され出した、というわけでした。

古い方の環境では、
Windows Updateを無効化していたので、
監視対象にはならなかった、というだけのことでした。


分かってしまえば簡単なことですが、
この現象の問題点は、
もしそれが発生してしまっても、
なかなか気付くことはできないという点です。

なにしろ、CPU使用率も上がっていないのに、
アプリの内容が重くなってしまいます。

たとえばこのアプリを配布した場合は、
何も知らないユーザーは、
「このアプリは、重いアプリだ」と勘違いすることになるでしょう。



ちなみに、シーツリーやA-WARが重い、という人を時々聞きますが、
恐らくこれが原因の人もいるかと思います。


対策としては、
Windows Diffender内の、ウィルスの脅威と防止の項目内から、
除外という項目へ移動し、
フォルダ、ファイルを指定し、更には、プロセス指定にも、アプリ名を記述しpcを再起動
とすることで、一応解決するようです。

これをすると、ものの見事に、
新しい環境でも、アプリはスイスイと動き出しました。

Windows Diffenderを使っていて、
シーツリーやa-warがもし重いという人がいたら
試してみるといいと思います。


ちなみに、事象を特定した上で、再検索してみると、
似たような現象は3年前くらいにはもう発生していたようで、
市販ゲームなどのサイトのヘルプなどで、
同様の記事をいくつか見つけることができました。


あと、この現象に気付ける唯一の挙動を発見したので、書いておきます。
インスートルとかが特に要らないアプリ限定ですが、
まずそのソフトを再ダウンロードするか、他のフォルダに丸々コピー。
要は、それまでとは違う場所で、新たに起動するのが目的です。
そして、実行ファイルにカーソルを合わせて起動しようとすると・・・・・・

恐らくここで、PCが待機状態になります。

起動していなくても、カーソルを合わせただけでなるかもしれません。

といっても、数秒。

しかし、起動してから重いならまだしも、
起動してもいないのに、ぐるぐると待機カーソルが回り出すので、
一瞬、ん? となります。

恐らくこれが、Windows Diffenderが、
そのアプリを新たな監視対象として設定していることに気付ける最初の瞬間です。

この瞬間に、タスクマネージャーを見ていると、
Windows diffender周辺のMalware scanツールがCPUをぐいぐい使用して
動いているのが分かります。

そして、一通りスキャンし終わると、
Diffenderは身を潜め、あとは特に変化も見られず、
その後は、アプリを何度実行しても、サクッと起動するようになりますが、
アプリ自体の挙動が重くなっています。


という、かなり隠密的な挙動もまた、
気付けなかった要因だと思われます。


さて、
Windows Diffenderは、
個人的には、市販のウィルス対策ソフトよりずっと好きです。

これが市販ウィルス対策ソフトだったら、多分、監視などせずに、
最初から削除してしまう所でしょう。


とはいえ、これでまた一つ、
個人開発における、頭を抱える問題が増えたことになります。

特に対策できることはないので、
せいぜい、アプリ内にその可能性を示すことくらいしかできないのが辛い所です。