ペンタセキュリティは7月22日、「オープン・ソース・ソフトウェア(Open Source Software)」の安全性について、同社ブログで解説している。

「オープン・ソース・ソフトウェア」とは、従来の「クローズド・ソース・ソフトウェア(Closed Source Software、以下CSSと言う)」に対立する概念のことだ。「ソースコードに対する全てのユーザのアクセスを許可することで、自主参加や協力によって最高の技術を生み出すことができる」という概念は、ある種の哲学としての魅力を備える。OSSの哲学に共感する開発者は、開発や配布、修正の作業に積極的に参加しているという。

OSSのメリットは、多くのユーザがそのほとんどを無料でダウンロードし、学習用に使用できる点。これによって企業は人材確保が容易になり、システムの導入コストを削減できる。また異種ソフトウェア間の相互連動性が高く、利便性の向上や課題と解決策をユーザが共有しながら運用する開発環境が確立しているため、CSSに比べて技術の進歩が速いのも大きなメリットと言える。

しかし、100%個人の参加意志によって開発が行われるため、確実で具体的な発展は期待できない点がデメリットと言えるだろう。

OSSの直接開発および配布、デバッギングには、世界の数多くの開発者が参加している。その結果、閉鎖的な組織の中で開発される独占的ソフトウェアに比べ、比較的安定的な操作が保証されている。その一方で、こうしたOSSの信頼性と安定性は、多くの開発者が積極的に参加した結果得たものなので、その開発状況や評判を注意深く検討する必要が発生するのも事実だ。

また、OSSは独占的ソフトウェアに比べ、不確実で不明確な発展をする場合が多い。突然アップデートが停止されたり、ライセンス関連の法的イシューが発生しポリシーが変更されることもある。そうなった場合、ダウンロードしたOSSが高い安全性を持っていても、それを生かせない結果になってしまう。

OSSはユーザのそれぞれのフィードバックに断片的に対応し、全体の仕様を整えていくものだ。そのため、例え問題が発生した場合でも、OSSの仕様が確立されるまでの間は、総合的な検討は不可能という結論が出て、「セキュリティ性」を左右する問題となってしまう。

OSSの大部分は安全と言える。問題が発生すれば全世界の数多くの開発者が問題の解決に当たるため、OSSを構成する各機能はその部分に限っては完璧に安全と言えるからだ。しかし、ソフトウェア全体の仕様を視野に入れるなら、一概に安全とは言い切れないのが現状だ。

つまり、全体ICTシステムの各階層や各部分を縦横問わず全体的に検討し、総合的に完成するべきなのが「セキュリティの体系」と言える。OSSを利用してシステムを構成する際は、各機能における構成を整えた最終の全体構成図を基に、セキュリティを設計・点検する必要があるだろう。

代表的なOSSである「MySQL」を見てみると、そのシステムの安全性について、ユーザがいかに検討を重ねなければいけないかが分かる。

事実、「MySQL」にはデータ暗号化のためのツールも多く、ほぼ全ての暗号化方法論をサポートされている。このことは、部分的な機能における安全対策の、ある程度の堅牢性を保証する事実だ。

しかし、「MySQL」のシステム全体の仕様に関し、安全性を確認するには、多くの手順を踏む必要がある。「MySQL」のデータベースをエンジンレベルで暗号化するシステムを構築し、場合によってはAESのような国際標準暗号アルゴリズムもサポートできるようにする必要がある。

また、パスワード暗号化のためには一方向暗号化を、インデックスカラムのためには部分暗号化を、PCI-DSS準拠のためにはクレジットカード番号のマスキング機能を有効にする必要があるだろう。

これらの手順を踏めば、OSSが安全であるか確認可能だ。しかし、これらの確認は本来データベースのセキュリティ専門家の仕事であり、もしユーザがこれらの手順をすべて踏めば、本来の業務を妨げる一因になってしまうだろう。

ペンタセキュリティは、OSSの安全性に関し「データベースのセキュリティのためには、データベースのセキュリティソリューションを利用すればよい」と結論を出している。