マルウェア・ウィルスってそもそもどんなもの?

サイバー攻撃でしばしば登場する、マルウェアやウィルスという言葉。よく聞く言葉ですがちゃんと理解されている方は意外と少ないようです。ウィルス、という言葉から、人間が風邪をひくときにかかるウィルスのイメージを漠然と持たれているのではないでしょうか。もちろんイメージとしては間違ってはいません。ただ、あたり前ですが動物に感染するウィルスはそれ自体、生き物ですが、コンピュータに感染するウィルスは生き物ではありません。ただのプログラムです。ウィルスと呼ばれる所以はまるで人間に感染するウィルスのように感染したコンピュータの調子を悪くさせたり、ワームのように自己増殖して、ほかのコンピュータにさらに感染させる動きがウィルスにそっくりだからです。
ここで言葉の定義を分かりやすく纏めておきましょう。
【マルウェア】
ウィルスやトロイの木馬といった悪意あるプログラムの総称です。よくウィルスを総称と勘違いされています。マルウェア (malware) は悪意のソフトウェア(malicious software)の略称です。
【トロイの木馬】
一見、無害なふりをしてコンピュータに侵入したあと、悪意あるふるまいをするプログラムのこと。また偽装をしていなくてもOSやJavaといったプログラムの脆弱性をついて閲覧しただけで感染させるドライブバイダウンロードもトロイの木馬に含まれることもあります。
【ウィルス】
マルウェアの一種で自立せず、動的に活動せず、プログラムファイルからプログラムファイルへと静的に感染するものを指す。
【スパイウェア】
ユーザーがパソコンを使用した動きを監視して外部に流出させるプログラム。主な利用のされ方はキーロガーのようにユーザーが銀行のWebサイトで入力したパスワードを抜き取ったり、ブラウザーの履歴やパソコン内のデータファイルを外部に流出させたります。
つまり総称としてマルウェアがあり、利用目的によってウィルスやトロイの木馬といった種類に分類されているイメージでしょうか。
最近よく聞く、ランサムウェアは、まずスパムメールに添付されているダウンローダーと呼ばれるプログラム(これ自体は悪意あるものではない)を展開すると、外のサーバーからマルウェアが再度ダウンロードされこちらが実際に悪意ある行為をします。このとき、ダウンローダーがトロイの木馬、ということになります。
さらに細かい話ですがエクスプロイト、またはエクスプロイトコード、エクスプロイトキットといった言葉は聞いたことないでしょうか。
上記でご説明した、悪意あるマルウェアを作成する土台のようなもので、本来はOSやアプリケーションの開発者がそれらの脆弱性を調べるために使用するプログラムのことです。デバッグは様々な環境(パソコンやプラットフォームを変えて)で実験する必要があるために、エクスプロイトコードを作成し、いろんな開発者に送って実験してもらうものでした。
しかし脆弱性が発見されるということは攻撃者に悪用されるというリスクがあります。攻撃者は本来、正しい目的のために作成されたエクスプロイトコードを悪用してマルウェアを作っているのです。またエクスプロイトキットとは様々なエクスプロイトコードをパックにして、感染対象者の環境を調べて脆弱性の種類に応じたコードを埋め込むためのものです。
もうお分かりかと思いますがこれらの性格から、脆弱性をできるだけつぶしておくのが最大の対策となるわけです。OSやJava、PDFといったアプリケーションを最新版にし、ウィルス対策ソフトの定義ファイルも最新版にしましょう。その上で、怪しいスパムメールは読まない、添付ファイルは開かないように心がけましょう。