ニュース一覧ソフトウェアの脆弱性とはOpenSSLの脆弱性が大きく取り上げられている中、WindowsXPも公式に脆弱性への技術サポートが終了する事になりました。この脆弱性とは、いったいどうして発見されるのでしょうか。脆弱性が発見されるとよくないのでしょうか。ソフトウェアの脆弱性とはソフトウェアの脆弱性とは、簡単に説明すると、ソフトウェアの欠陥です。現在話題になっているOpenSSLを例にとります。OpenSSLはサーバーとクライアントの間、Webサーバーと、Webブラウザの間の暗号化を行うものです。この暗号化は、双方に保存された鍵ファイルがなければ、お互いのデータを暗号化以前に戻す事ができない事が基本の機能です。インターネットの通信は、突然片方から切断する事、回線が遅くなってしまうこと、などを十分含めて設計を行わなければなりません。OpenSSLはその機能を拡張していく中で、Heartbeat(心拍)というサーバーとクライアント間の接続を長く保持する機能を持ちました。Heartbeatというデータを送信している限り、ネットワークは途切れていないので、接続を保持してくださいという指示を出します。このHeartbeatという機能に欠陥があり、そのHeartbeatのデータを不正な形に加工する事で、OpenSSLが予期しない動作を起こす事が発見され、それが今回のHeartBleed(心臓出血)と名付けられた脆弱性になります。このHeartbeatは定められた規格によれば、データの大きさというものを保持するようになっています。そのデータそのものと、データの大きさを違ったものにすると、OpenSSLはサーバーのメモリに格納された余分なデータを返却してしまうという、欠陥です。このような仕様以外のデータに対して、誤ったデータとして処理すべきものですが、その部分が大きく抜けてプログラムが作成されていた、ということが今回の問題を引き起こしています。脆弱性が見つかるとどうなるかOpenSSLはオープンソースソフトウェアという、プログラムのコードがすべて公開されたソフトウェアで、組み込む事は無料です。OpenSSLはWebサーバーをはじめとして、インターネットを介した暗号化通信のスタンダードとして利用されてきました。本来あってはならない欠陥が発見され、修正は行われましたが、その適用をサーバーに対して行うのは、サーバーの管理者になります。脆弱性を放置されたサーバーは数多くあるという事です。これらに対して、脆弱性が公開されると、同じ状態を再現する事は簡単な事になります。脆弱性を見つけるのは難しくとも、公開されてしまえば、再現は簡単なのがソフトウェアの世界です。このOpenSSLのようなソフトウェアは、非常に膨大なコードから成り立っています。すべてのコードに欠陥があるかどうかを、一から洗い出しきる事はかなり難しい事です。機能が増えれば増えるほど、あり得るケース、あり得ないケースのすべてを確かめる事が必要ですが、その部分に漏れがあったという事です。OpenSSLほど広く使われているものは、すべてが最新版に置き換わるまでは非常に長い時間がかかり、その間ユーザーのデータは危険にさらされ続ける事になります。脆弱性に対しどう向き合うのかコンピュータの世界は、このように複雑なプログラムの集合体で、それはスマートフォン、タブレットであっても全く同じです。WindowsXPのように10年以上現役で使われていたシステムでも、すべての欠陥を洗い出す事ができないため、今後新たな欠陥が見つかる可能性はほぼ100%です。それがユーザーにとって深刻なものか、あるいは公開されずに秘密裏に利用されるものかは、わかりません。放置されれば、悪用される危険性は一秒ごとに増していくものです。システムがアップデートにアップデートを重ねているのは、現在のソフトウェアがより複雑になっていく中で、さけられない事です。WindowsXPの更新が停止してしまったという事は、今後脆弱性は放置されるという事、そしてWindowsのプログラムのコードは公開されていないので、実質Microsoft社でしか修正できない、という二点が重要なポイントです。▲お問い合わせフォームはこちらお客様のビジネスの規模・内容に従い、最適なアプリケーションをご紹介します。アプリケーションの導入・連携支援は、ぜひ、システムキューブにお任せください。