オープンソース[[ソフトウェア]](OSS)のセキュリティ評価は、
ソフトウェアにおける誤用、障害、不正アクセスに対する保護レベルを測る重要なプロセスです。プロプライエタリ
ソフトウェアとは異なる特性を持つOSSのセキュリティについて、そのメリット、デメリット、具体的な評価モデルと手法を解説します。
オープンソースのメリット
プロプライエタリ
ソフトウェアでは、利用者はベンダーが提供するパッチやアップデートに依存せざるを得ません。しかし、OSSではコンパイラのソースコードが公開されているため、開発者は不正な意図がコンパイラに潜んでいないかを確認できます。
ケン・トンプソンが提唱したように、コンパイラが
バックドアを仕込まれ、意図しない不正な
ソフトウェアが生成されるリスクを、OSSは軽減する可能性があります。デイビット・A・ウィーラーは、異なる2つのOSSコンパイラを用いることで、コンパイラが改竄されていないことを確認できると述べています。
ケルクホフスの原理も重要な視点です。この原理は、システムの秘密が漏洩してもセキュリティが保たれるべきだという考えに基づいています。現代のセキュリティでは、隠蔽に頼るのではなく、公開された情報に基づいて安全性を確保することが重要視されています。
オープンソースのデメリット
OSSのソースコードが公開されているからといって、自動的にセキュリティが向上するわけではありません。マルクス・J・ラナムの事例が示すように、多くの人がツールを利用しても、フィードバックやパッチを返す人は少数です。「リーナスの法則」が示すように「多くの目」はバグ発見に役立ちますが、セキュリティバグに注目し、修正に貢献するとは限りません。したがって、OSSのセキュリティは、コミュニティの積極的な関与と専門知識によって支えられているのです。
セキュリティ評価モデルと手法
セキュリティシステムを評価するための、いくつかのモデルと手法が存在します。
脆弱性改修日数の計測
脆弱性が発見されてから修正されるまでの期間は、システムが最も脆弱な状態にあると考えられます。この日数を計測することで、セキュリティシステムの評価が可能です。ただし、すべての脆弱性が同じ危険度を持つわけではないため、この評価には注意が必要です。たとえば、多くの軽微な障害を迅速に修正するよりも、重大な影響を及ぼす少数の障害を修正する方が重要となる場合もあります。
ポアソン過程
ポアソン過程は、OSSと
クローズドソースソフトウェア間でセキュリティ障害が発覚する割合を評価するために使用できます。ここでは、脆弱性の数をNv、有償レビュー者の数をNpとします。無償レビューグループが障害を発見する割合をλv、有償レビューグループが障害を発見する割合をλpとします。これにより、無償レビューグループが障害を発見するまでの期待時間は1/(Nv λv)、有償レビューグループが障害を発見するまでの期待時間は1/(Nv λp)と計算できます。
モーニングスターモデル
投資ファンドの評価に用いられるモーニングスターの格付けモデルのように、OSSプロジェクトを星の数で比較することで、プロジェクトのセキュリティ強度を分析できます。十分なデータセットがあれば、この分析を用いて全体的な有効性を評価できます。具体的には、以下のような基準で評価します。
星1: 脆弱性が非常に多い
星2: 信頼性に問題がある
星3: 最善のセキュリティ原則に準拠している
星4: 安全な開発スタイルが文書化されている
*
星5: 独立したセキュリティレビューを通過している
これらの評価基準を通じて、様々なプロジェクトのセキュリティレベルを客観的に比較することができます。
まとめ
オープンソース[[ソフトウェア]]のセキュリティは、単にソースコードが公開されているだけでは保証されません。コミュニティの積極的な関与、専門家の知識、適切な評価モデルと手法の活用が不可欠です。これらの要素が組み合わさることで、OSSはプロプライエタリ
ソフトウェアと同等、あるいはそれ以上のセキュリティレベルを実現できます。