セキュリティホールとは?

完璧なものなど存在しないのが、我々の住んでいる世界です。

それは、誰でも知っていますが、それでも完全なプログラムを目指して、世界中で、多くの人が、コンピューター用のプログラムを作成しています。

その中には、プログラムの中に隠れた問題を見つけることで、また別の問題を新たに作り出そうとする人も存在しています。

そのような人が、存在することによって、それまで気づくことができなかった、プログラム上の問題が新たに発見される可能性もあります。

しかし、実際には、そのメリットよりも被害の方が圧倒的に大きくなるようです。

 

このような、コンピューターのプログラムに隠れた欠陥が存在することによって、セキュリティ上の問題が発生する可能性がある場合に、そのプログラム上の問題を「セキュリティホール」と、表現するのが一般的です。

特に問題となるのは、やはりネットワーク上から他人がパソコンなどの通信端末に侵入したり、端末の中に保管しているデータが流出したり、コンピューターウィルスなどのマルウェア(不正プログラム)に感染したり、と言ったようなリスクが通常よりも格段に高くなる点です。

 

セキュリティホールとは?

現在のコンピューター用のプログラムには、その中に、何らかの問題を抱えているのが通常です。

そのため、ユーザーなどの指摘に基づいて、頻繁にプログラムの修正を行う必要があります。

実際の修正は、インターネット上から必要なデータをダウンロードしてから、アップデートを行う方法が一般的です。

自社で開発したプログラムを製品として販売しているメーカーでは、このような問題の発見と、その解決のために高額な費用と時間をかけているのが現状です。

それでも、次から次へと、セキュリティ上の問題に繋がりかねない欠陥が発見されているのが現状です。

もしも、多数の人がアクセスする、Webサイトで提供されているサービスの関するプログラムに問題があったら、その影響はとても大きなものとなります。

その欠陥に偶然気がついた人が、もしも、それを悪利用することを、思いつくとしたらどうするでしょうか?

おそらくは、その欠陥を利用してそのサービスにアクセスした通信端末の全てに、遠隔操作を可能とするようなタイプのマルウェア(不正プログラム)を感染させるように罠を仕掛けるでしょう。

 

セキュリティホールの危険性

これだけ、コンピューターに関する技術が進歩した時代に、なぜ、このような問題が多数発生するのでしょうか?

それには、コンピューター用のプログラムに特有の問題があります。

つまり、どれだけ優れた頭脳を持っている人であっても、プログラムの全ての部分を、一人で作成することはできません。

通常は、数人から、数千人の規模で、開発チームを作る必要があります。

それぞれの担当するプログラムの一部が、もしも他のメンバーの担当しているプログラムと、後で、一つのプログラムとして、製品化されることによって、何らかの問題を発生する可能性があるとしたらそれに気がつくでしょうか?

 

その問題が、通常では行わないような、特殊な利用方法によるときだけ発生するものであれば、完成したプログラムを検証しても、発見することは非常に困難となります。

通常は、新しいプログラムの提供を開始する前に、念入りな検証作業を行って、プログラムに隠れた欠陥(「バグ」と呼びます。)を探します。

それでも提供を開始した後で、重大な問題が発見されることがあります。

ある部分、見切り発車で提供を開始して、実際に利用したユーザーからの障害報告によって、より完成された姿に近づける、と言うような手法で開発されているのが現状です。

 

セキュリティホールはこれからも発生?

この種の問題が、根絶される可能性は、コンピューターが、人間の作成したプログラムに従って、動作する機器である以上無くなりません。

しかし、対策がない訳ではありません。

そのパソコンや、その中に入っている各種のアプリケーションのアップデートを、速やかに実行することが一番の対策です。

もちろん、セキュリティ対策も十分に行う必要があります。

 

しかし、OSなどに存在するセキュリティの問題を解決していなければ、どうしても、外部からの侵入に対する守りが十分にできなくなります。

パソコンのOSは、できるだけ最新のバージョンへ乗り換えることをお勧めします。他の対策が完璧でも、OSが古いのでは意味がありません。

ちょうど、お城の石垣を頑丈にしても、家老の一人がこれから戦う敵国とすでに内通しているような状態です。

外も内もできる対策はすべて行うことによって、少なくとも現在よりは危険性を低くすることが可能となります。