4.1 ソフトウェアのアップデートの必要性

ソフトウェアには「脆弱性*1(ぜいじゃくせい)」が存在します。脆弱性とは、プログラムの不具合や設計上のミスが原因となって発生した情報セキュリティ上の弱点・欠陥です。脆弱性には、何らかの条件で動作が若干緩慢になってしまうといったある程度許容できるレベルものから、ウイルス感染などの何らかの攻撃に悪用されるような危険なものまであります。特に、攻撃に悪用される可能性のある不具合を一般的に脆弱性と呼びます。

脆弱性に対策するためには、「修正プログラム*2」を導入してソフトウェアを定期的にアップデート(更新)する必要があります。メーカーのサポート期限が切れたソフトウェア、すなわち修正プログラムが提供されなくなったソフトウェアを使い続けることも危険であり、「買い替え」や「バージョンアップ」が必要です。


  • *1:脆弱性は「セキュリティホール」とも呼ばれています。
  • *2:修正プログラムは「セキュリティ更新プログラム」または「パッチ」とも呼ばれています。

この話を簡単に言い換えれば、「古いものを古いまま使ってはいけない」ということです。耐久年数の過ぎた古い家電製品が火を噴いて火事を起こすことがあるように、また耐用年数の過ぎた古い消火器が突然噴出や破裂を起こすことがあるように、コンピュータソフトウェアを更新せずに古いままの状態で使い続けるのは危険なのです。ただし、家電製品などとは異なり、ソフトウェアの「耐久年数」は極めて短く、場合によっては数日である場合もあります。そのため、メーカーなどが提供する脆弱性および修正プログラムの情報を常に注意して見ておく必要があるのです。

コンピュータ上で動くOSや多くのアプリケーションソフトウェアは非常に複雑なコンピュータプログラムです。しかし、あまりに複雑であるため、プログラムの設計者ですら気付かない「不具合」が含まれている可能性は常に存在しています。神ではない人間の作るものである以上「完璧」はありえません。例えば、最近の自動車はコンピュータ制御が一般的になっていますが、その制御プログラムの不具合により、事故が発生し、リコール問題に発生したケースもあります。

コンピュータのプログラムに含まれるこのような不具合、すなわち脆弱性は日々発見されており、メーカーは脆弱性を修正するための修正プログラムを開発し、提供しています。この修正プログラムを適用することで、ソフトウェアが更新され、脆弱性をなくすことができるのです。

脆弱性を放置しておくと、ウイルス感染の危険性は飛躍的に高まります。2005年7月にTelecom-ISAC Japanが発表した報告によると、修正プログラムを一切適用していないWindowsパソコンをインターネットに接続すると、わずか4分でウイルスに感染したそうです。

多くのウイルスは、修正プログラムが公開済みの脆弱性を悪用しています。したがって、既に公開されている修正プログラムを全て適用しておくだけでも、ウイルス感染の危険性は大幅に低減します。

もちろん、脆弱性を発見するのも人間であるため、全ての脆弱性が発見されているわけではなく、また発見された脆弱性の全てをメーカーが把握しているわけではありません。発見された脆弱性をメーカーが知る前に悪意のある人物が知った場合には、修正プログラムのない脆弱性を悪用したウイルスが誕生する可能性もあり、実際に被害も発生しています。このような修正プログラムのない脆弱性を悪用した攻撃を「ゼロデイ攻撃」と呼びます。

ゼロデイ攻撃という防ぎようのない攻撃もありますが、それでも数限りなく存在するウイルスの大半は修正プログラムが公開済みの脆弱性を悪用しています。セキュリティ対策の基本中の基本として、ソフトウェアの更新が必須であることは間違いありません。