オープンソースが重要な理由

オープンソースとは?

オープンソースソフトウェアとは、そのソースコードが著作権者によって公開されているソフトウェアです。真のオープンソースライセンスの下で、ソフトウェアは共同で開発され、他のプログラマーは自分の目的でコードを見たり、修正したり、使用したりできます。この「純粋な」オープンソースモデルは、多くの場合FOSS(無料のオープンソースソフトウェア)と呼ばれます。.


オープンソースのバリアントは「ソース利用可能」です。つまり、コードを変更または使用する許可は与えられませんが、検査は可能です。セキュリティ上の理由から、これは真のオープンソースと同じくらい良いので、この記事で「オープンソース」と言うときは、「ソース利用可能」なコードを含めます.

クローズドソースとは?

ほとんどのソフトウェアは、営利企業によって作成および開発されています。当然のことながら、これらの企業は、他人にハードワークや企業秘密を盗まれないようにしたいので、暗号化を使用してying索好きな目からコードを隠します。許可なくコードを使用または変更しようとすると、訴訟または悪化します.

それで問題は何ですか?

私が言うように、これはすべて非常に理解しやすいですが、セキュリティに関して言えば、大きな問題があります。プログラムの詳細を誰も見ることができない場合、悪意のあることを実行していないことをどのようにして知ることができますか?基本的に私たちはできないので、関係する会社を単純に信頼する必要があります。.

オープンソースが最良のソリューションである理由?

コードがオープンソースである場合、バックドア、脆弱性、またはその他のセキュリティ問題がないことを確認するために、資格のある人が個別に検査および監査できます。オープンソースは完璧な解決策ではありませんが(下記参照)、ソフトウェアが本来の動作を正確に実行していることを確認する唯一の方法です。.

コードが監査されていない場合でも、開発者が悪意のあるコードを含めてオープンなままにして、だれでも発見できる可能性は低いため、監査できるコードが自由に入手できるという事実は、それが信頼できることを強く示しています見たい.

完璧なソリューションではありません…

残念ながら、オープンソースソフトウェアを監査するスキルと時間の両方を備えた個人は限られています(通常無料)。つまり、オープンソースプログラムの大部分は監査されていません。.

この問題は、多くのオープンソースプログラムが非常に複雑であり、数千行から数千行のコードを含んでいるという事実によって悪化しているため、監査されたとしても、監査人が問題を見逃した可能性があります(特に悪意のあるコードが故意に隠された).

だが…

したがって、オープンソースは、プログラムが「クリーン」であることを保証しませんが、それでも、それがそうであることを私たちが持っている(または持つことができる)ことを保証する最良の保証です。代替はクローズドソースであり、いかなる保証も提供しません.

オープンソースプログラムを常に検証する

したがって、オープンソースはセキュリティに最適です。わーい!しかし、ダウンロードしたばかりのオープンソースプログラムが何らかの形で改ざんされていないことをどのようにして確認できますか?

これは奇抜な妄想陰謀幻想のように聞こえるかもしれませんが、2016年2月にLinuxオープンソースオペレーティングシステムの最も人気のあるバージョンの1つであるLinux MintのWebサイトがハッキングされ、OSの侵害されたバージョンがダウンローダーで利用可能になりました,

「ハッカーは、バックドアを組み込んだ修正済みLinux Mint ISOを作成し、それを指すようにWebサイトをハッキングすることができました。」

感染したLinux ISOイメージは、インターネットリレーチャット(IRC)バックドアTsunamiを備えた完全なOSをインストールしました。これにより、攻撃者はIRCサーバーを介してユーザーのシステムにアクセスできました。脅威は非常に現実的です.

この場合、ファイルのMD5ハッシュのチェックサムに苦労したダウンローダー(これを行う方法についてはこちらを参照してください)は詐欺を見つけたでしょうが、そのようなハッシュチェックは、Webサイトがそもそもハッキングされる可能性があるため、信頼できる保護ではありません公開されたチェックサムを、構成されたファイルを検証する偽のチェックサムに置き換えるのは簡単です.

開発者がソフトウェアにデジタル署名することで、ユーザーがファイルの出所を確認できるようになります(ソフトウェアがデジタル署名されておらず、使用されたMD5ハッシュ関数さえも知られているため、Mint開発者はこの点で非常に緩慢でした)壊れる!)

デジタル署名に関する私の記事をご覧ください-詳細については、デジタル署名を使用する理由と方法を参照してください。残念ながら、デジタル署名の検証は苦痛ですが、セキュリティに関心がある場合は必要です.

また、理想的には、すべてのソフトウェアにデジタル署名と検証を行う必要がありますが、オープンソースコードは誰でも自由に変更できるため、クローズドソースコードよりも簡単に改ざんできることに注意してください。したがって、オープンソースプログラムを検証することが特に重要です.

オープンソース:結論

オープンソースは完璧なソリューションではありませんが、ソフトウェアを信頼できる最高の(そして唯一の)保証を提供します。代替手段はクローズドソースであり、いかなる保証も提供しません(会社に対する盲目的な信仰以外は、ハイテク企業には値しません).

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me