ウイルススキャンとは
ウイルススキャンは、ウイルスをはじめとする悪意あるソフトウェア(マルウェア)を検知するための手段の1つであり、「ウイルスバスター」や「ウイルススキャナー」といったセキュリティソフトウェアに実装されている標準的な防御機能の1つでもあります。
パターンファイルを用いたウイルススキャン
パターンファイルとは、マルウェアのファイルが持つ特徴を記述したデータベースです。ウイルススキャン時には、個々のファイルとパターンファイルに登録されているデータを照合し、結果が合致(検知)したものを「マルウェア」として断定します。
その後、セキュリティソフトウェアは、マルウェアとして断定されたファイルを速やかにユーザーが触れない領域に退避したり(検疫)、削除したりします(駆除)。
振る舞いによるウイルス検知
最近のマルウェアは、パターンファイルによる検知を逃れるために、ファイルの特徴を少しずつ変化させてしています。 このため、マルウェア全体におけるパターンファイルで検出可能なマルウェアの割合は減少しているといわれています。
このため現在では、マルウェアが動作をする段階(たとえば、外部からの攻撃指所を待っていると思しき動作や、不自然なファイル作成などを行った段階で、対象のファイルをマルウェアと見なすようになってきています。
レピュテーションによるウイルス検知
最近のセキュリティソフトウェアによく見られるのが「レピュテーション」による対策です。セキュリティ事業者側が保有しているマルウェアや、攻撃者が使う性URL などの最新情報を使用し、ユーザーがアクセスしようとしているファイルURLとを逐次比較し、実行やアクセスをブロックします。この方法を使うためにはセキュリティソフトウェアが動作するコンピューターがインターネットを利用できる必要があります。
パッチとは
テキストパッチとは、バグを修正するためのデータの総称です。パッチによってデータの一部を書き換えることでシステムのバグや脆弱性を修正する場合もありますし、既存のファイルをバグのない正しいファイルに差し替えたり、新しいファイルを追加したりすることでシステムを修正する場合もあります。
なお、パッチにはさまざまな種類がありますが、システムの脆弱性に対応するためのパッチのことを特に「セキュリティパッチ」と呼ぶことがあります。
パッチの長所と短所
パッチは、バグや脆弱性が発生したソフトウェアを丸ごと差し替えるのではなく、修正したファイルに限って差し替えるときによく使われます。パッチを適用してシステムを最新の状態にしておけば、攻撃者が狙う箇所は確実に減少します。パッチの適用を迅速に行うことでシステムは強固になります。
これはシステムが持つ攻撃への耐性が、初期状態と比較してより高くなる利点があります。一方でパッチには、パッチを適用することによってソフトウェアの動作が不安定になる可能性がある、という短所もあります。このため、システムの安定性が重要な場合は、いきなり本番環境に対してパッチを適用するのではなく、別途テスト環境を用意して、パッチの適用テストを行うことが多いです。
なおこの場合は、「テスト中は本番環境がずっと危険な状態にある」ということを覚えておくことが重要です。テストを行うことはもちろん大切ですが、あまりにも時間がかかる場合には、ある程度実務に合わせてテストの簡略化や効率化を行う必要があります。
パッチを適用できない場合
すぐにパッチを適用できない場合は、バグや脆弱性を悪用されないよう、他のころでセキュリティを確保する必要があります。具体的には、システムにアクセ入きるユーザーや接続元を制限するなどのアプローチが考えられますが、不特定多数が使うシステムではこの方法は採用が難しいため、別の方法を用いてセキュリティ確保を行うことになります