既知のスパイウェアの多くは、ソフトウェアの更新やそれに対抗するソフトによってその被害を防ぐことが出来る。
ソフトウェアの定期的な更新.
ソフトウェアの欠陥を利用して入り込むスパイウェアは、その欠陥を補修するソフトウェアのアップデートを導入することでその導入を防ぐことができる。しかし、そのソフトウェアの元々の仕様やその開発会社によっては十分なアップデートが必ずしも提供されるわけではない。
スパイウェア駆除ソフトウェアの導入.
スパイウェアの検索・駆除を専門とするアンチスパイウェアと呼ばれるソフトウェアがある。また、近年のアンチウイルスソフトにも同等の機能を搭載するものが多い。すでにインストール済みのスパイウェアを駆除するだけでなく、常にシステムを監視しスパイウェアのインストールを未然に防ぐ機構を持つものもある。これらの開発元は絶えずスパイウェアを監視しており、スパイウェアの新種に対する対策は一般的に早い。
未知のスパイウェア向け対策.
コンピュータウイルスと同様に、大きな問題を引き起こすスパイウェアの多くが「新種」であることから、#既知スパイウェア向け対策だけでは不十分である。また、スパイウェアの発生や感染から長期間経過しても有効かつ安全な駆除方法が見つからない場合もある。有効な対策が存在しないスパイウェアに対しては、バックアップを用いて復旧する方法が効果的である。
環境復元ソフトウェアによるバックアップ.
環境復元ソフトウェアと呼ばれるバックアップソフトウェアの一種を用いることで導入されたスパイウェアを除去することが出来る。環境復元ソフトウェアは、スパイウェアが混入していないある時点のシステム全体をバックアップしておき、再起動や特定の操作によってそれを書き戻すことで、スパイウェアを完全に除去できる。ウイルス対策ソフトは既知のスパイウェアにしか効力を持たないが、環境復元ソフトではあらゆるスパイウェアに対して有効である。
その一方、バックアップデータに適切なアップデートがなされていないと、復旧後に既存の脆弱性を狙ったスパイウェアのインストールを許してしまう欠点もある。
監視システムとしてのスパイウェア.