よくこんな質問を耳にします。「なぜ私のコンピューターでは、こんなにたくさんのものが動いているのですか?」そして、「取り除くことはできますか?」と続きます。

 Microsoft Windowsオペレーティングシステムは、拡張性の高いプラットフォームです。プログラマは、ユーザーが実行を選択できるアプリケーションを書くだけでなく、ユーザーがプログラムの開始に悩まないようにソフトウェアを自動開始するという“価値”を追加することができます。例えば、WindowsエクスプローラーやInternet Explorerに表示または非表示の機能を追加したり、独自のハードウェアとやり取りする、または既存のハードウェアを動かす仕組みを変えるようなデバイスドライバーを提供したりして、自動開始機能を組み込みます。

 ユーザーのためのせっかくの“価値”も、ときには不審なもののように見えることがあります。他の人にとっては本当に“価値”だとしても、あるユーザーにとってはそのソフトウェアの動きが有害に見えます(そのとき、そのソフトウェアはマルウェアと呼ばれます)。

Windowsは数多くのプログラムが起動時に実行されている

 ここで用いる自動開始(Autostart)という用語は、ユーザーによって意図的に開始されるのではなく、自動的に起動するソフトウェアのことを意味します。これには、コンピューターの起動時に開始するドライバーやサービス、ユーザーのログオン時に開始するアプリケーション、ユーティリティ、シェル拡張、およびInternet Explorerの開始時に読み込まれるブラウザー拡張が含まれます。

 x86バージョンのWindowsには、自動開始を設定可能なファイルシステムとレジストリの場所が100以上あります。x64バージョンのWindowsはもっとあります。それらの場所のことを、自動開始拡張ポイント(Autostart Extensibility Points)あるいはASEP と呼ぶことがあります。

 ASEPには、正当かつ貴重な目的があります。例えば、あなたがオンラインかどうかをインスタントメッセージングのコンタクト情報に知らせるには、あなたがログオンしたときにメッセージングクライアントを自動開始するのが非常に有効です。検索ツールバーとPDFリーダーがInternet Explorerの一部になれば、ユーザーにとって便利です。そして、Windows自身、多くの部分が、ドライバーやサービス、エクスプローラー拡張の形でASEPを介して実装されています。

 一方で、コンピューターベンダーが新しいコンピューターにプレインストールし、タスクバーの通知領域をいっぱいにしている、過剰なほどのフリーの体験版ソフトウェアを考えてみてください。あるいは、正規のベンダーが、自社のアプリケーションがより早く開始するように見せるために、隠しプロセスを常に実行しているとしたらどうでしょう。

 絶えずリソースを消費し続けるこれらのプロセスは、本当に必要なものですか? おまけに、マルウェアはたいてい1つあるいはそれ以上のASEPを悪用します。実際、WindowsのあらゆるASEPが、マルウェアによって利用されてきました。