アプリ開発において、オープンソースライブラリやGitHubのようなレポジトリはなくてはならないものだ。多くのソフトウェアに利用され実績もあるライブラリは、完成コンポーネントとして使えるメリットの他、メジャーなものなら脆弱性の心配も少ないはずだ。
一般論としてはその通りなのだが、そこには落とし穴もある。
●本当は危険なライブラリ
例えばアンドロイドのアプリにおいては、標準的なSDKだけで開発すると、パフォーマンスが出ない、最新機能を使いたい、既存システムやサービスなどにつなぐ必要がある、といった理由で、C/C++のライブラリを利用することがある。
これは本質的に危険であり利用を避けるべきだという専門家もいる。Marc Schonefeld氏は、Google Play Storeの多数のアプリを検証し、それらに潜む脆弱性について研究している。その中で、100万、1,000万ダウンロードされるようなメジャーなアプリについても、危険なライブラリに由来する脆弱性が残っていると警告する。
Schonefeld氏は、PacSec Tokyo 2017において、自身の調査結果とともに具体的なライブラリ名を挙げながら、古いライブラリ、とくにパッケージに組み込まれてバージョンがわからないようなもの、利用そのものが忘れ去られているものの危険性を指摘した。オープンソースライブラリなどは、管理するベンダーやコミュニティによってアップデートされていくが、アプリにインポートされたライブラリは、適宜のメンテナンスを怠ると「劣化」していくことになる。このリスクは、OWASPでもトップ10に入るものだ。
一般論としてはその通りなのだが、そこには落とし穴もある。
●本当は危険なライブラリ
例えばアンドロイドのアプリにおいては、標準的なSDKだけで開発すると、パフォーマンスが出ない、最新機能を使いたい、既存システムやサービスなどにつなぐ必要がある、といった理由で、C/C++のライブラリを利用することがある。
これは本質的に危険であり利用を避けるべきだという専門家もいる。Marc Schonefeld氏は、Google Play Storeの多数のアプリを検証し、それらに潜む脆弱性について研究している。その中で、100万、1,000万ダウンロードされるようなメジャーなアプリについても、危険なライブラリに由来する脆弱性が残っていると警告する。
Schonefeld氏は、PacSec Tokyo 2017において、自身の調査結果とともに具体的なライブラリ名を挙げながら、古いライブラリ、とくにパッケージに組み込まれてバージョンがわからないようなもの、利用そのものが忘れ去られているものの危険性を指摘した。オープンソースライブラリなどは、管理するベンダーやコミュニティによってアップデートされていくが、アプリにインポートされたライブラリは、適宜のメンテナンスを怠ると「劣化」していくことになる。このリスクは、OWASPでもトップ10に入るものだ。