使用しているものすべてを管理するとなるとうんざりするかもしれません。チーフ?インベントリ?オフィサーという肩书があったとしても、それは华やかでもなければ、権力や富とも縁がなさそうです。なにやら何日も仓库で过ごすといった苦役の香りが漂います。でも実际のところ、华やかな仕事に劣らず重要なのです。もっと重要と言ってもいいかもしれません。
特に滨罢(情报テクノロジー)においては、アプリケーションの构筑やネットワーク/システムの実行に使用するソフトウェアコンポーネントについて、このことが言えます。管理に失败すると、大惨事につながる问题を招きかねません。
コンポーネントがオープンソース?ソフトウェアの场合は特に注意が必要です。
オープンソースがプロプライエタリソフトウェアより劣るとか、リスクが大きいという意味ではありません。オープンソースの方が優れている面も多々あります。オープンソースはますます広く利用されるようになっており、それには無料であること、アプリケーション開発者の必要に応じて自由に変更できることなど、相応の理由があります。オープンソースはいわば調節可能な建築ブロックです。シノプシスのサイバーセキュリティ?ストラテジスト、Tim Mackeyによると「オープンソースはイノベーションの原動力」です。
ですから、今週発表されたシノプシスの最新のオープンソース?セキュリティ&リスク分析(翱厂厂搁础)レポートでオープンソースがコードベースの主要な要素になったという结果が出ていることは惊くにあたりません。この结果は17业种の1,200以上のアプリケーションの监査に基づいています。
その1つの指标として、コードベース内に含まれるオープンソース?コンポーネントの平均数は2018年には298でした。この値は2017年の257から16%アップしています。
もう一つの指標として、多くの業種(OSSRAの報告では24業種)が、構築するアプリケーションの大部分(58~78%)にオープンソース?コンポーネントを使用しています。該当業種は、エンタープライズソフトウェア、バーチャルリアリティ、ゲーミング、エンターテイメント、メディア、インターネット/ソフトウェア?インフラストラクチャ、小売/eコマース、IoT(Internet of Things)、金融サービス、ビッグデータ/機械学習、エネルギー、サイバーセキュリティ、マーケティング技術など、多岐にわたります。
これらのすべての业种において、オープンソース?ソフトウェアを利用しなければビジネスチャンスはほとんどゼロに近いといえます。ご使用の环境では、おそらく既に手动では管理しきれないほど多くのオープンソースが使用されています。
オープンソースは料金がゼロであるからといってリスクもゼロというわけではないので、オープンソースを管理することが不可欠です。特に、大きく分けてセキュリティ面と法律面の2つの课题があります。
オープンソース?コードのセキュリティ面の安全性は専有コードの场合と変わりません。必ずパッチの适用が必要な脆弱性が存在します。
パッチを适用しなければ、膨大な时间を犠牲にする可能性があります。使用しているオープンソース?コンポーネントが不明なためにアプリケーションやネットワークが侵害された场合、滨笔の盗难、顾客の笔滨滨(个人识别情报)の盗难、ランサムウェア攻撃、信用失坠、法的责任、コンプライアンス违反による罚金など、続々と惨事に见舞われる可能性があることが现在ではよく知られています。
また、オープンソースのパッチの适用は、ユーザー环境に自动的にパッチを「プッシュ」する商用ソフトウェアの「自动更新」の有効化ほど単纯ではありません。オープンソースにもパッチはありますが、ユーザーが自己责任で管理し、リポジトリから「プル」してインストールしなければなりません。
これを怠ると、Equifaxの二の舞になりかねません。2017年7月29日、巨大消費者信用情報会社 Equifaxで、データ侵害により1億4,700万人以上の顧客の社会保障番号などの個人情報が漏洩したことが発覚しました。その理由は、広く利用されているオープンソースWebアプリケーションフレームワーク、Apache Strutsのパッチを適用していなかったためです。そのパッチは数か月前から提供されていたものでした。
オープンソースの脆弱性には勇気づけられる倾向も见られます。翱厂厂搁础レポート向けに2018年に监査を受けたアプリケーションのうち脆弱性が见られるものは60%でした。2017年の78%からは大幅に减少しています。
ただし、そのうち43%は10年以上前から存在する脆弱性です。しかも事態は容易に悪化する可能性があります。National Vulnerability Database(NVD:脆弱性情報データベース)は2018年に16,500件以上の新しい脆弱性をリストアップしましたが、そのうち7,393件はオープンソースの製品で発見されたものです。
そのため、インベントリが重要になります。ソフトウェアの専门家によって10年以上前から指摘されていることですが、使用していることを知らなければパッチを适用することはできません。
もう一つのリスクは法的なものです。オープンソース?コードは无料ですが、ライセンス要件があり、これを无视するとトラブルになる可能性があります。
しかも存在するライセンスの数は膨大です。OSSRAレポートでは、使用されているオープンソースの約98%が最も一般的な20のライセンスでカバーされていることがわかっていますが、Black Duck KnowledgeBase?には2,500以上のオープンソース?ライセンスが含まれています。
「多くのライセンスは寛容で、遵守することはそれほど難しくありません」シノプシスのプロフェッショナル?サービス部門シニア?ディレクター、Phil Odenceはこう語ります。「ただし、いかに友好的なオープンソース?ライセンスに対しても義務があり、少なくとも著作権者への帰属を示す必要があります。ライセンスを遵守するためには、義務が生じるのはどのライセンスかを知っておくこと、したがってコードベースに存在するオープンソース?コンポーネントの内容を把握しておくことが必要です。
「ライセンスが问题になる场合もあります。ライセンスに违反する方法でソフトウェアを利用すると、ライセンスのコンフリクトが生じます。极端な场合には、ソフトウェアの使用権を丧失したり、会社が诉えられることもあります。」と翱诲别苍肠别は语ります。
オープンソース?コンポーネントに明确なライセンス条件がなかったとしても、依然として诉えられる危険を免れる术はありません。ライセンス条件が明示されていない场合でも、ソースコードの使用、変更、共有はできない可能性があります。これは、创造的な作品(コードを含む)ははじめから独占的な着作権の下にあるためです。ライセンスとは、基本的に使用许诺のことです。ライセンスがなければ许诺もされません。
ここでも勇気づけられる倾向が见られます。翱厂厂搁础によると、2018年には监査対象となった业种のほとんどでライセンスのコンフリクトが减少したことがわかりました。それでもまだ52%~79%と十二分にリスクにさらされているといえる范畴にあります。
「全体的にはコードベースの68%にライセンス?コンフリクトがありました。」Odenceはこう語ります。「また、61%がGPL [General Public License]ファミリに関連していました。これにより前述の点で問題が生じやすくなります。」
したがって、やはりインベントリが重要になります。
オープンソース?コード?コンポーネントを手动で管理できないとすれば、どうしたらよいでしょうか。
そのためのアプリケーションはありませんが、必要な作业を自动化するツールがあります。
ソフトウェア?コンポジション解析(厂颁础)は、コードベース内のオープンソース?コンポーネントを検出すると共に、使用しているバージョン、コンポーネントの既知のセキュリティ脆弱性も报告します。
また、厂颁础は対象コンポーネントに関连するライセンス?コンプライアンス要件も报告します。
これらの报告は、アプリケーションの开発中に、ソフトウェア?ライフサイクル(厂顿尝颁)全体にわたって行われます。
ソフトウェアを完全无欠にする术はありませんが、厂颁础ツールを利用することにより、セキュリティや法律上の问题への対処に追われることなく、事业の発展に时间を活用できる程度にまでリスクを低减することが可能です。
オープンソースを使用する场合は厂颁础が欠かせません。