木曜日, 11月 28, 2019

数千ものAndroidアプリに「脆弱性のあるコード」

 

Facebookからヤフーまで、数千ものAndroidアプリに「脆弱性のあるコード」が含まれている:調査結果


フェイスブックや日本のヤフーによるアプリを含む数千ものAndroidアプリに、コードに由来する脆弱性が含まれていることがセキュリティ企業の調査で明らかになった。


あなたが利用しているアプリの多くは、完全に独自につくられたものではない。開発者が誰でも利用できるように、あらかじめ用意されたコードを使っていることが多いからだ。
こうしたコードのライブラリーには、ほかのソフトウェアと同じようにセキュリティの脆弱性が含まれている可能性がある。そのコードをそのままアプリに利用すると、気づかないうちに脆弱性までコピーされてしまう。いまAndroidの世界において、こうした事態が大きな問題になっているのだ。


数千ものアプリに脆弱性を発見

古い脆弱なヴァージョンのコードを利用していることが原因で、セキュリティのリスクを抱えているアプリがどれほどあるのか──。その実態を定量化しようとする新たな研究が、このほどセキュリティ企業のチェック・ポイント・ソフトウェア・テクノロジーズによって実施された。このなかで同社の研究者らは、「Google Play ストア」にある数千のアプリにセキュリティ上の欠陥が含まれており、なかには数年前から存在しているものもあることを発見したのである。

「アプリには多くの脆弱性が含まれています」と、チェック・ポイントのサイバーリサーチ部門を統括するヤニフ・バルマスは言う。「そうした脆弱性の一部はアプリ固有のものではなく、コードライブラリーから見つかりました。現代のアプリは、数十、数百ものそうしたライブラリーを利用して動作しているのです」

コードライブラリー(ソフトウェアライブラリーと呼ばれることも多い)のおかげで、開発者はJavaScriptなどの特定の分野で専門的な知識をもたなくても、すでに作成されたコードを利用することができる。

チェック・ポイントの研究者らは、脆弱性を含む既存のコードライブラリーを調査し、Playストアのアプリと比較した。現在進行形の脅威を発見するために、同社のセキュリティチームは定期的にAndroidアプリを精査しているという。

「結果は驚くべきものでした。一部に脆弱性が見つかることは予想していましたが、これほど多いというのは予想外でした」と、バルマスは語る。「実際に数千というアプリに(脆弱性が)見つかりました」。さらにチェック・ポイントが発見した脆弱性のなかには、数年前から存在していて長期間パッチが当てられていないものもあったという。

「あるオープンソースプロジェクトに脆弱性が存在し、それが固定化された場合、その脆弱性に影響を受ける可能性のあるネイティヴライブラリーや、そのライブラリーを利用しているアプリを(通常は誰も)コントロールできません」と、チェック・ポイントは今回の研究についてブログ記事で指摘している。「そのため脆弱性が発見されても、長年古いヴァージョンのコードを使い続けているアプリが存在するのです」


フェイスブックやヤフーのアプリにも脆弱性


研究者らは、数十種類の脆弱性を発見したという。だが今回の研究で引用されているのは、3つのみだ。そこで触れられている脆弱性は、オーディオソフトウェア、動画ストリーミング、そしてそのメディアの扱われ方に関する問題である。チェック・ポイントは、発見したすべての問題を公表するのは適切ではないと指摘している。

世界最大規模のアプリの一部も問題を抱えていると見られている。チェック・ポイントによると、フェイスブックの「Facebook」「Messenger」「Instagram」に加えて、「WeChat」、日本のヤフーのアプリなどが脆弱性を抱えているという。同社は500万~10億ダウンロード以上を記録しているアプリを例に挙げている[編註:調査結果によると、「Yahoo!カーナビ」「Yahoo! MAP」などヤフーの4つのアプリが含まれる]。
フェイスブックの広報担当者は、同社のサーヴィスの利用者は「これらのコードを利用しているわたしたちのシステムの設計上、チェック・ポイントが指摘したいかなる問題に対しても脆弱ではありません」と語っている。同社は現在のコードベースに脆弱性が存在しないとは主張していない。ただし、Instagramについてはチェック・ポイントが指摘した脆弱性に晒されている可能性があり、パッチを当てているという。

チェック・ポイントのバルマスは、問題の本質は個別の欠陥にはないのだと言う。「わたしたちが発見した特定の脆弱性は興味深いものですが、そこが重要というわけではありません」と、バルマスは言う。「フェイスブックのアプリに脆弱性が見つかったと指摘することはできますが、問題はコンセプトにあると思っています」


現在進行形の問題


ではその解決策は? チェック・ポイントによると、アプリの開発者は最新のパッチが当てられたヴァージョンのコードベースを使い続けるべきだという。それと同じく「Play ストア」をはじめとするアプリストアも、サーヴィス内で提供しているアプリの精査により力を入れるべきだと指摘する。

「アプリ開発者に対して“総当たり攻撃”を仕掛けるのは有効かもしれません」と、バルマスは語る。当初、数カ月前に調査を実施したチェック・ポイントは、グーグルに問題を報告していた。グーグルの広報担当者は、報告された結果に対して調査を実施しており、開発者とセキュリティ研究者との協力を促すためにPlay ストアにおいて脆弱性の発見に関する報奨金システムを拡充したという。

この取り組みは現在進行中だが、バルマスによると脆弱性を含むアプリは、いまもPlay ストアに存在しているという。エンドユーザーには、アプリをアップデートし続ける以外にできることはほとんどない。

「今回公開した脆弱性は、2カ月前に実施したテストで発見されたものです」と、バルマスは言う。「もし同じテストを改めて実施したら、まったく異なるアプリからまったく異なる脆弱性が見つかるでしょう。