オープンソースの利用は脆弱性を抱えて危険なのか?

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

パソコンに既にインストールされているソフトウェアのセキュリティホール(脆弱性)を突いてパソコン内に侵入することは、高度な技術が必要とされている。このような仕様のソフトウェアであれば、このようなエクスプロイト攻撃を行うとこのような反応をするのではないかという推測をもとに様々な攻撃を試みて、セキュリティホールがないか探すのだ。実はこの作業はとても効率が悪く、自作で少しばかり自動化しても完全なものはブラックマーケットにも存在しておらず、悪意をもった人であっても脆弱性は見つけづらいものだ。

BadGuyしかし、ソースコードを閲覧することができれば話は別だ。ソースコードを読み込めば、プログラミングミスに起因するものや、想定外の事が発生した場合の処理ルーチン、すなわち非正常系処理が完全でなければ、脆弱性を発見することができる可能性が高まるのだ。このため、ソースコードが公開されているオープンソースソフトウェアが危険だと言われる原因となっている。

だが、活発なオープンソースソフトウェアは多くのプログラマがコミュニティに参加しており、またイニシアチブをとっている企業もあるため、脆弱性に関しては一人のプログラマがプログラミングをするよりも多くのプログラマの目にソースコードが触れるため、結果として非正常系処理に対しても強くなり、ひとりのプログラマが作り上げたものよりも完成度が高くなってくることがある。

市販ソフトウェアよりも活発なオープンソースコミュニティで開発されたものであれば、脆弱性リスクは低いと考えてもいいかもしれない。また脆弱性情報も公開され、それへの対応も迅速になされるのもメリットだ。コミュニティに参加し、注意していればこれほど安全なものはない。

しかし、無償だからと多く使われ、イニシアチブがあまり取られておらず、また国際的でない(日本だけでしか使われていない等)オープンソースの場合は、注意が必要だ。あるECサイトのオープンソースソフトウェアは、アーキテクチャ設計がしっかりしておらず、脆弱なポイントが多岐に渡って存在しているが、その修正をイニシアチブをもとっている企業が行っていないものもある。カード決済され、重要な顧客データベースがあるのにも関わらず、顧客データは平文でデータベースに格納されている始末である。考えるだけでもとても恐ろしい。

何が良いか、恐ろしいものかの判断は

(1)国際的に活発に活動しているコミュニティであり、イニシアチブをもっている企業が存在しているか

(2)ソフトウェア名で検索をしてみると、問題があるなどのBLOGが多数存在していないか、また脆弱性を突かれた事件が発生していないか

(3)最後のビルド(改定)が、かなり過去ではないか

などを確認することで、良し悪しの判断はある程度できることだろう。悪質なクラッカーの手から大切な資産を守るためには、良いオープンソースソフトウェアを探し出すメキキができることも重要なのだ。

 

 

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る