SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

開発生産性向上に寄与するツール大研究(AD)

正しく使うことでOSSは強力な味方となる! ライセンス違反や脆弱性の適切な管理を実現するツール「FOSSID」

  • このエントリーをはてなブックマークに追加

 今や業務系、組み込み系問わず、ソフトウェア開発にオープンソースソフトウェア(OSS)は、必要不可欠なものになりつつある。なぜならOSSの活用には、「無料で欲しい機能が手に入り拡張できる」「ゼロから作るより信頼性がある」「新しい技術が取り込める」「ビジネスがスピードアップできる」などメリットがたくさんあるからだ。だがこのメリットを享受できるのは、OSSを正しく使えてこそ。コンプライアンス(ライセンス)違反がないか、脆弱性がないか。OSS活用をソフトウェア開発の強力な追い風にするには、この2つの観点から、OSSをきちんと管理するしくみが必要になる。それを可能にするツールが「FOSSID」だ。

  • このエントリーをはてなブックマークに追加

なぜ、OSSの管理が必要とされるのか

 昨今、ソフトウェア開発のシーンで不可欠になっているOSS。2000年頃よりLinuxの台頭が始まり、その後、MySQLなどのDBMSやRuby on Railsなどのプラットフォームが登場。今やAIやブロックチェーンを実現するフレームワークなど、最先端のITキーワードを支える存在となっている。

 OSSの活用が進むのは、「無料で欲しい機能が手に入り、拡張可能」「自分でゼロから作るより安定している」「新しい技術を取り込める」「開発およびビジネスのスピードアップ」「国際標準規格のプロトコルやAPIを備えているため、グローバル展開が容易」「技術者不足の解決」など、たくさんのメリットがあるからだ。

 しかし、OSSの利用には次のような懸念すべき点もある。「緊急時のサポートが受けられない」「セキュリティ(脆弱性)に不安がある」「OSSコミュニティ終了など、サポートの継続性が心配」「パッチやバージョンアップの管理が煩雑」「ライセンス違反の恐れ」といったものだ。これらの中でも特に問題なのが「ライセンス違反や脆弱性です」とFOSSID株式会社の金 承顕氏は指摘する。

FOSSID株式会社 金 承顕氏
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で管理さえしていれば、新しい脆弱性が見つかっても通知されるため、脆弱性のリスクを大幅に減少させることができるのだ。

OSSライセンス&セキュリティ管理ツール「FOSSID」についての詳細はこちら

自動車や半導体など、モノづくりの現場で採用する企業も

 日本で販売を始めて1年ほどになるが、「すでに10社以上に採用されている」と金氏。ではどのような目的で活用が進んでいるのか。第1のユースケースはリリース前の最終チェックや委託先からの納品物のチェックだ。

規模の大きいOSSは、内部に他のOSSを含んでいる可能性も高い
規模の大きいOSSは、内部に他のOSSを含んでいる可能性も高い

 「例えば自動車メーカーでは、車を構成する部品コンポーネントをBOM(部品表)で管理してきました。現在はソフトウェアについても部品同様、コンポーネントを可視化して納品時に提供することが求められるようになってきています。このような場面でFOSSIDは有効に活用できます」(金氏)

 第2はコードレビュー時のOSSのチェック。

 「許可していないOSSが含まれていないかどうか、FOSSIDは開発者にもカジュアルに使ってもらうことができます」(今井氏)

開発者が意識せずにOSSを使用していることもあり得る
開発者が意識せずにOSSを使用していることもあり得る

 さらにFOSSIDはJenkinsなどのCIツールと連携して、DevSecOpsを目指すといった使い方もできるという。この場合重要となるのは、事前に検出された結果をどのように処理するのか決めておくことだ。

 「FOSSIDを含め、現在市場に出回っているOSSのライセンス&セキュリティ管理ツールは、このOSSは使っていい、使ってはいけないといった識別作業を人間が行う必要があります。FOSSIDでは、あらかじめ許可されたOSSをカタログ化して登録しておけるので、識別作業の手間を減らすことができます。それだけでなく、カタログ化しておくことで、OSSの再利用の活性化が図れるようになります。そのしくみができれば、OSS活用のメリットがさらに大きくなると思います」(金氏)

CIツールとの自由な連携も可能
CIツールとの自由な連携も可能

 現在、FOSSIDのGUIは英語表記となっているが、「マニュアルはすべて日本語。またサポートはテクマトリックスが行うので、安心して採用していただけます」と金氏は力強く語る。今井氏も「サポート品質を保つためのしくみをきちんと用意し、お客さま対応に取り組んでいきます。OSS管理に初めて取り組む場合は不安に感じるかもしれませんが、OSSの利用と管理についてのトレーニングやコンサルティングサービスも用意しています。相談していただければいつでも案内することができます」と力を込める。

ライセンス&セキュリティ管理の強化を図る機能の提供を予定

 今後、FOSSIDはどのような進化をしていくのか。「2つの機能強化を予定しています」と金氏。ひとつは現在、スキャンした後に人の目で識別作業を行っているが、その作業を極力ゼロに近づけるための機能の提供だ。

 「お客さまの作業を減らしていくため、AIなどを使って自動識別の強化を図っていきます」(金氏)

 もうひとつは脆弱性検知を強化する製品の提供。現在のFOSSIDは、コンポーネントのバージョンに基づいて脆弱性の有無を判断しているため、脆弱性を修正しても、脆弱性があると判断されてしまう問題があった。この問題を解決するため、同社では脆弱性の原因となる実際のコードをピンポイントで検出する製品「VulnSnippet Finder」を、2019年度中にリリースする予定だという。「マーケットからも非常に期待されている製品です」と金氏は語る。

 OSSを正しく活用するには、もはや人の手のみでは不可能。正しく活用し、ビジネスのスピードを上げる。それを実現するための手段が、OSSライセンス&セキュリティ管理ツール「FOSSID」の導入である。ぜひ、検討してみてはいかがだろうか。

OSSライセンス&セキュリティ管理ツール「FOSSID」についての詳細はこちら

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11470 2019/05/22 14:28

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング