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」についての詳細はこちら

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

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

  • このエントリーをはてなブックマークに追加
開発生産性向上に寄与するツール大研究連載記事一覧

もっと読む

この記事の著者

中村 仁美(ナカムラ ヒトミ)

 大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング