DUICUO

オープンソースソフトウェアは安全ですか?

デスクトップ コンピュータで Linux を使用することを好み、オープン ソース ソフトウェアの使用を推奨する人であれば、タイトルに提示された質問に対して、力強い肯定的な答えが返ってくると期待するかもしれません。

しかし、オープンソースソフトウェアの利点について議論するだけにとどまるつもりはありません。一緒に、より多くの視点を探求しましょう!

この記事では、オープンソース ソフトウェアが安全であるかどうか、またそのセキュリティに関連する要素は何かという点について私の考えを共有したいと思います。

オープンソース ソフトウェアが安全かどうかに注意を払う必要があるのはなぜですか?

Linux を使用する場合でも、他の種類のオペレーティング システムを使用する場合でも、ある程度 (直接的または間接的に) オープン ソース ソフトウェアに囲まれることになります。

たとえば、ほとんどの独自のソフトウェア ツールは、適切に機能することを保証するために何らかの形式のオープン ソース ライブラリに依存しています。

さらに、あらゆる規模の企業 (Google、Microsoft、Facebook など) がオープンソース ソフトウェアに依存したり、何らかの形でオープンソース コミュニティにリソースを提供したりするのには何かしらの理由があります。

したがって、オープンソース ソフトウェアのセキュリティを理解する必要があります。

オープンソースソフトウェアのセキュリティに関する誤解

オープンソース ソフトウェアはセキュリティの面で欠陥があると主張する理由は数多くありますが、その理由の中には実際には意味のないものもあります。

誰でもオープンソース ソフトウェア コードを閲覧し、悪意を持って悪用することができます。

はい、オープンソースソフトウェアのコードは誰でもアクセスできます。ただし、コードを閲覧できるからといって、使用できるとは限りません。

それは非現実的だ。

誰でもソフトウェアを複製(またはコピー)できたとしても、元のソフトウェアは簡単に変更したり使用したりすることはできません。

通常、プロジェクトのメンテナー(またはメンテナンスチーム)がコードリポジトリを管理し、貢献者からの提出を受け入れます。オープンソースソフトウェアのコードは、受け入れ前にレビューされます。誰もコードを勝手に乗っ取ることはできません。

オープンソース ソフトウェアであってもクローズドソース ソフトウェアであっても、攻撃者はコードの脆弱性を悪用したり悪意のあるコードを追加したりするために努力する必要があります。

専任チームがなければ、セキュリティは問題外です。

多くの人は、専任の人員やチームなしではオープンソース ソフトウェアのセキュリティを維持するのは難しいと考えています。

それどころか、さまざまな種類の貢献者の追加と離脱により、オープンソース ソフトウェアはより幅広い開発者から注目を集めるようになりました。

彼らは、プロプライエタリソフトウェア企業に雇用されている少数の開発者よりも、セキュリティ上の問題を見つける能力が高いかもしれません。

Mozillaのような企業のプロジェクトの中には、セキュリティ問題を効率的に処理するための専任チームを設けているところもあります。同様に、成功しているオープンソースプロジェクトのほとんどには、セキュリティ確保のために多大なリソースが割り当てられています。

したがって、オープンソースソフトウェアのエコシステムは、包括的なセキュリティパッケージです。専任チームがいなくても、オープンソースプロジェクトは多様な貢献者からの支援を受けることができ、その中には主に利益を追求する人々もおり、それがプロジェクトにより多くの時間と労力を費やす動機となっています。

オープンソース ソフトウェアは安全です。その理由は次のとおりです。

オープンソース ソフトウェアのセキュリティに関する誤解を解消したので、オープンソース ソフトウェアがセキュリティの問題にどのように対処するかについて説明したいと思います。

つまり、オープンソースソフトウェアはセキュリティの面で利点があるということです。

オープンソース ソフトウェアの利点も、Linux が Windows より優れている理由の一部であることを忘れないでください。

オープンソース ソフトウェア コードにはもっと注意を払う必要があります。

独自のソフトウェアとは異なり、(オープンソース ソフトウェアの) コードへのアクセスは、少数の開発者に限定されません。

一部のオープンソース プロジェクトでは、コードを表示、レビューし、セキュリティ上の問題をフラグ付けして修正できる開発者が数万人いることもあります。

これにより、クローズドソース ソフトウェアと比較して、オープン ソース プロジェクトでは、問題を迅速に特定し、できるだけ早く修正できるという利点があります。

開発者を増やすだけが目的ではありません。企業は、利用するオープンソースプロジェクトに積極的に参加し、コードのレビューと検証も行います。

これにより、外部レビューの新たな手段が提供され、オープンソース ソフトウェアのセキュリティの向上につながる可能性があります。

逆に、クローズドソースソフトウェアの場合、開発者の数が限られているため、あらゆる種類のセキュリティ問題を特定できない可能性があります。さらに、発見した問題の修正に非常に長い時間を要する可能性があります。

コミュニティがセキュリティ問題の優先順位を決定します。

クローズドソース ソフトウェアの開発者は、どのような問題にいつ対処するかに関して、一定の制限や優先順位を持つ場合があります。

オープンソースプロジェクトでは、貢献者コミュニティが自ら優先順位を決定し、対処すべき問題と適切な修正方法を特定できます。セキュリティ問題を解決するために、ベンダーの決定に頼ったり、ベンダーの指示に従ったりする必要はありません。

オープンソースソフトウェアプロジェクトでは、セキュリティ問題の解決と修正に関する意思決定がより透明性と柔軟性に優れています。そのため、より効果的であることが証明され、以下の3つのメリットがあります。

  • 透明性
  • サプライヤーに依存しない
  • より高速なセキュリティアップデート

オープンソース ソフトウェアは完全無欠ではありません。その理由は次のとおりです。

オープンソース ソフトウェアは状況によってはセキュリティ面で有利になる場合もありますが、それに影響を与える要因は依然としていくつかあります。

企業や個人がオープンソース ソフトウェアのセキュリティに関してより適切な判断を下せるよう、これらの問題の存在を認識することが重要です。

コードと不確実性を精査する目が足りません。

オープンソース ソフトウェアのコードは世界中の開発者が自由にアクセスできますが、オープンソース コードを徹底的にレビューできる貢献者や開発者がプロ​​ジェクトに不足している可能性が依然として存在します。

したがって、オープンソース ソフトウェアのピア レビューにはまさにこの点が欠けているため、あまり信頼を置くことはできません。

オープンソースソフトウェアは、オープンソースであるという理由で最高レベルのセキュリティを備えていると「主張」することがあります。しかし、プロジェクトに十分な数の開発者がいない場合には、これは誤解を招きます。

同様に、何人の開発者がコードをレビュー/検査しているのか、あるいはコード検査がどの程度進んでいるのかを知る方法はありません。

例えば、Heartbleed脆弱性

ソフトウェアの責任と説明責任

これは個々のユーザーにとっては重要ではないかもしれませんが、オープンソース プロジェクトでは通常、何の保証もありません

したがって、企業がこれを使用する場合、ソフトウェアの使用によって生じたすべてのデータの損失と損害を企業が負担する必要があります。

これは、100%安全で脆弱性のないものは存在しないことを示しています。コードにどれだけの人が注目していても、貢献者のスキルがどれほど高くても、セキュリティリスクであれデータ損失であれ、何らかのリスクは常に存在します。

これは現実を物語っています。オープンソース ソフトウェアは完全無欠ではないのです。

オープンソースソフトウェアには、セキュリティが高いという利点がありますが...

セキュリティに関しては、どちらが勝者かは分かりません。クローズドソースであろうとオープンソースであろうと、セキュリティの問題に関しては同じ原則が適用されます。

ソフトウェアのセキュリティに影響を与える外部要因は数多くありますが、これらの要因の多くはソース コードに依存しません

セキュリティを確保するには、何らかの形でコードを監視する必要があります。

確かに、オープンソースの道はクローズドソースのソフトウェアにはない利点を提供しますが、それはオープンソースのソフトウェアが万全であることを意味するものではありません。

オープンソースソフトウェアのセキュリティ状況について、どのようなご意見をお持ちですか?オープンソースソフトウェアはプロプライエタリソフトウェアソリューションよりも優れていると思いますか?