アプリケーション開発はこの20年で様変わりしており、とりわけスピードへの要求が強くなった。高速化を支えているのは、多種多様なオープンソースプロジェクトだ。
だが、オープンソースソフトウェアの利用はライセンスなどの法律面、セキュリティ面での課題もある。オープンソース利用管理ソリューションを提供するBlack Duck Softwareの最高マーケティング責任者(CMO)、Bob Canaway氏に話を聞いた。
--企業にとってのオープンソース利用トレンドは?
Black Duck Softwareの最高マーケティング責任者(CMO)、Bob Canaway氏
アプリケーションの重要度が高まり、開発からロールアウトまで短時間で実施することが求められている。そこで、(カスタム開発に対して)オープンソースコンポーネントを使ってアプリケーションを構築するという手法を採るところが増えている。
1998年は約90%がカスタム開発で、残りが商用のソフトウェアパッケージだったのに対し、現在はカスタム開発は約10%に減り、代わってオープンソースソフトウェアが多くを占めるようになった。
一方で、リスク回避のために管理とセキュリティの要件につながっている。2014年以来、検出されたオープンソースの脆弱性は6000件以上に上る。
--具体的にはどのような要件となるのか?
オープンソースの特定が問題になっている。企業の多くが、開発者が自主的にExcelに記入するなど、マニュアルで(オープンソースの利用を)申告してもらっており、これではオープンソースがきちんと管理できない。
この状況は潜在的リスクを招いている。リスクにはいくつかの種類があるが、まずはIP(知的所有権)のリスクがある、すなわち、企業のビジネスモデルと合致しないライセンスがあるというリスクだ。
次に、セキュリティリスクがある。オープンソース技術にも脆弱性があるが、開発者はコードに脆弱性があることを知らないことがよくある。セキュリティリスクで注意しなければならないのは、一過性のイベントではなく、アプリケーションが存在する限り、継続的に新しい脆弱性が発見されるという点だ。だが、現在の方法ではこれに対応できない。
Black Duckの技術を導入することで、開発者が報告していないオープンソースのコンポーネントをみつけることができる。
--セキュリティ問題はサイバー攻撃、ネットワーク、モバイル、データセンターに入ってからなどいろいろあるが、最も注目しているのは?
セキュリティ脅威の全体のランドスケープを「Attack Surface」と呼んでいるが、この一年で大きく変わった。
2000年頃、アプリケーションはローカルにあり、ネットワークは固定網だけで、通常はIT部門がアプリケーションをインストールしていた。アプリケーションは壁の中にあり、ここでの脅威は、ネットワーク経由で脅威が外部から壁に入ってくること、あるいは購入したアプリケーションにウイルスがあるかもしれないというものだった。攻撃の中心は、スパイなどを目的とした一匹狼によるものだった。
今日、アプリケーションはネットワークに移動し、アプリケーションそのものがネットワークになったといってもいいほどだ。攻撃者が情報を得るためにシステムに入るアクセス権を獲得し、そこから攻撃を仕掛けるようになった。
台頭しているトレンドとして、大規模なブラックマーケットビジネスが生まれており、国が別の国を攻撃したり、組織的な犯罪が金銭を目的に行うなどが発生している。
ウェブアプリケーション、モバイルアプリなどアプリケーションが開発される方法が変わっており、共通の開発者のミスを狙っている。対策として、ウェブアプリなら「SQLインジェクション」がないかどうかを調べるツールがあるが、だいたいの場合は静的な解析ツールだ。これらのツールを利用してアプリケーションの脆弱性がないとその時点で判明されれば、リリースしている。
問題は、NVDがアプリケーション脆弱性を追跡し始めてから、7万4000件のオープンソースの脆弱性が記録されているにもかかわらず、これらのツールが判明できた脆弱性はわずか63件しかなかったという点だ。これらのツールには限界がある。
脆弱性は増えており、2014年春に話題となったOpenSSLの脆弱性である「Heartbleed」は有名な例だが、今年に入って、GNU C標準ライブラリ「glibc」にも脆弱性があった。DNSに影響し、攻撃者はこれを悪用してシステムを乗っ取ることができる。
これらの脆弱性が出てくると、企業の多くは何をすべきがわからない。どのアプリケーションが影響を受けるのか、どうやって見つけるのか、たくさんの時間を費やしてシステムを見ようとするが、大規模なアプリケーションがある場合は非常に難しく、非効率な作業になる。
Black DuckのHubのようなすぐれた管理技術を利用することで、顧客は数分でわかり、対策をとることができる。