なぜ、OSSの管理が必要とされるのか
昨今、ソフトウェア開発のシーンで不可欠になっているOSS。2000年頃よりLinuxの台頭が始まり、その後、MySQLなどのDBMSやRuby on Railsなどのプラットフォームが登場。今やAIやブロックチェーンを実現するフレームワークなど、最先端のITキーワードを支える存在となっている。
OSSの活用が進むのは、「無料で欲しい機能が手に入り、拡張可能」「自分でゼロから作るより安定している」「新しい技術を取り込める」「開発およびビジネスのスピードアップ」「国際標準規格のプロトコルやAPIを備えているため、グローバル展開が容易」「技術者不足の解決」など、たくさんのメリットがあるからだ。
しかし、OSSの利用には次のような懸念すべき点もある。「緊急時のサポートが受けられない」「セキュリティ(脆弱性)に不安がある」「OSSコミュニティ終了など、サポートの継続性が心配」「パッチやバージョンアップの管理が煩雑」「ライセンス違反の恐れ」といったものだ。これらの中でも特に問題なのが「ライセンス違反や脆弱性です」とFOSSID株式会社の金 承顕氏は指摘する。
OSSは自由に入手、利用、改変、再配布ができるが、それはあくまでソフトウェア利用許諾契約書(ライセンス)に則った上でのこと。例えばGPLライセンスの場合、ソースコードを公開せずにリリースするとライセンス違反となる。コミュニティからは「この企業はOSSの精神を理解していないと判断され、ブランドイメージの低下にもつながりかねません」と金氏。
そしてもうひとつ、大きな問題となるのが脆弱性だ。OSSは脆弱性の情報も公開されるため、ターゲットにされやすい。2017年にサイバー攻撃を受け、1億人以上の個人情報を流出した米消費者信用情報会社Equifaxの事件はその代表例だ。脆弱性と対策が公開されたのは2017年3月。その2カ月後の5月から7月に攻撃を受けたという。この例から見てもわかる通り、対応に充てられる時間は非常に短い。個々の脆弱性はOSSのバージョンに依存しているため、自分たちがどのバージョンを使っているか把握する必要がある。
たとえ、十分これらのことに気をつけていたとしても、「そもそもOSSが知らぬ間に開発ソースコードに混入していることに気がつかないケースが多い」と金氏は語る。旧来のコードにOSSが使われていたり、他社に委託したコードにOSSが使われていたりなどはその一例だ。「オフショア開発を利用している場合は、水際での検証が必要」と金氏は苦言を呈す。
このように膨大なソースコードの中からOSSを見つけるのは難しい。そこで活用したいのが「FOSSID」である。
FOSSIDが持つ3つの特長
FOSSIDは2016年にスウェーデンで設立されたFOSSID社が提供するOSSのライセンス&セキュリティ管理ツールである。OSSの活用が始まった2000年前半から、OSSの管理ツールが登場しだした。「そうしたツールは、2000年前半に開発されたものが土台となっているため、ソフト自体が古くなっている。そろそろ世代交代の時期に来ているのです」と金氏は話す。
FOSSIDは後発だからこその「強みがあります」と、同ツールの販売を行っているテクマトリックス株式会社 システムエンジニアリング事業部 ソフトウェアエンジニアリング技術部 部長の今井 敦氏は語る。
第1は、先進的なソフトウェアスキャニングアルゴリズムを用いた検出エンジンを持つことに加え、業界最大規模のデータベースを持っていること。「世の中には約9000万件のオープンソースプロジェクトがあると言われていますが、FOSSIDはその4分の3の7800万件のオープンソースプロジェクトの情報をDBに格納しています」と今井氏。一般的なOSS管理ツールは数百万件と言われているため、「桁違いの情報量を持っているのです」と今井氏は説明を続ける。しかも速度が速く、1秒間に70ファイルをスキャンできるという。
「これまでは2日間ほどかかっていたスキャンが、3~4時間で終了します」(今井氏)
しくみは下図の通り。プロジェクトが登録されたOSS DBはクラウド上にあるが、アップロードされたコードとプロジェクト・スキャン・ユーザー情報などを含むDBは社内ネットワーク内にあるので、ソースコードは外部ネットワークに送信されることはない。
第2にあらゆる形態のOSSの検出が可能なこと。「例えばOSSのある一部だけコピーして自作のソフトに組み込んだり、ファイル名を変更して使っていたりしても、スニペットをもとにOSSの候補を挙げることができます。この強みが、FOSSIDが受け入れられる最大の理由になっています」と今井氏。
そして第3の強みはコストだ。
「ライセンスは、年間300万円~。解析対象のソースコードの容量に制限はなく、開発規模で価格が決まります。高価なツールを使っていた多くのお客さまがコストメリットを感じてくださっており、また、これまで手を出せなかった方にも触れていただける価格帯だと思います」(今井氏)
FOSSIDは使い勝手の良さも特長だ。ディレクトリをドラッグ&ドロップするだけで自動スキャンされる。スキャンした結果はコンポーネントごとにシンプルにまとめて表示。ファイルやスニペット単位でもライセンス情報の識別が可能となっている。「FOSSIDはマッチ率の高いものから順にコンポーネントやファイルのライセンスと著作者情報が表示されるため、特定するための時間も大幅に短縮できます」と今井氏は語る。
コンポーネントに含まれる脆弱性については、米国政府の支援を受けた非営利団体のMITER社が提供している共通脆弱性識別子CVE(Common Vulnerabilities and Exposures)単位で表示。また対策方法については、NISTが管理している脆弱性情報データベースNVD(National Vulnerability Database)の各ページにリンクさせることで、確認できるようになっている。
「次バージョンでは、今使っているOSSに新たな脆弱性が見つかった場合、アラートを上げる機能が搭載される予定です」と金氏。FOSSIDで管理さえしていれば、新しい脆弱性が見つかっても通知されるため、脆弱性のリスクを大幅に減少させることができるのだ。