Androidアプリ障害の原因になった「WebView」ってなに?
GmailやLINEなど、一部のAndroidアプリが3月23日朝から正常に起動できなくなっていた問題。原因となった「WebView」について解説する。
GmailやLINEなど、一部のAndroidアプリが3月23日朝から正常に起動できなくなっていた問題。米Googleは同日午後3時21分に「問題を修正した」と発表し、Google Playから「WebView」と「Google Chrome」をアップデートするよう呼び掛けている。
朝からGmailやLINEといった主要なアプリが開けない状態が一部ユーザーの間で続いたため、Twitter上では「WebView」「アップデート」「アンインストール」などがトレンド入りするほど話題になった。
今回、さまざまなAndroidアプリで問題を引き起こした「WebView」とは何だろうか。
アプリ内ブラウザのための「部品」
WebViewは端的にいえば、Androidアプリを作るときに、アプリ内でWebコンテンツを表示するための部品だ。
Androidアプリは、基本的にAndroid OS上に用意された部品を組み立てて作る。特にアプリのUI(ユーザーインタフェース)は、「Viewクラス」という分類の部品群で構成される。例えば、要素を順番に配置する「LinearLayout」の中に、文字を表示する「TextView」や、リストを表示する「ListView」を設置する、という具合だ。
WebViewをアプリ内に設置すれば、Google ChromeなどのWebブラウザに遷移しなくてもアプリ内でWebコンテンツを表示できる。
この仕組みは、表示コンテンツを動的に切り替えたい場合に適している。例えば、スマホゲーム内でのお知らせはHTMLで作成し、WebViewで表示するようにすればゲーム画面からユーザーを離脱させずに情報を提供できる。他にも、アプリの機能自体をWebアプリとして作ってしまい、WebViewで実装する手法などもある。
なぜ「部品」をGoogle Playからアップデートする仕組みに?
WebViewはもともとはOSに組み込まれたシステムで、WebViewを実装したAndroidアプリはこれを呼び出して利用していた。しかしAndroidの開発チームは、2014年にAndroid 5.0を発表した際に、WebViewを個別にアップデートできるよう仕様を変更した。
ChromeやFirefoxなど主要なWebブラウザのアップデート頻度を見ても分かるように、Webブラウザの脆弱性は断続的に発見されるため、安全を保つには定期的に修正対応をしなければならない。
従来の仕組みではシステムアップデートでWebViewの修正や機能追加に対応していたが、システムアップデートはファイルサイズが大きくなり、端末の再起動なども必要とする。アプリのように個別にアップデートできるようにしたのは、頻繁かつ簡単に修正できるよう見直した結果というわけだ。
「WebViewアンインストール」の応急処置は正しかった?
Googleは原因について詳しくは明らかにしていないものの、WebViewの直近のアップデートにバグが紛れ込んだのが今回の問題につながったとみられる。
Android 5.0以降も、ベースとなるWebViewがシステムに組み込まれているのは変わらないため、Google PlayからWebViewのアップデートを削除すれば問題が起きていたアプリでも起動できる状況ではあった。
しかし、スマートフォンのシステムに詳しいインターネットイニシアティブ(IIJ)の堂前清隆副部長(広報部/MVNO事業部シニアエンジニア)はTwitterで「アンインストールによりアップデートで対策されたはずの脆弱性(セキュリティホール)が再発する懸念がある」とした上で「やむを得ずアンインストールした場合、後で最新版に更新必須。放置すると危険」と呼び掛けていた。
他のOSを見れば、米MicrosoftのWindowsにはアップデートごとに番号が割り振られており、問題のあるアップデートのみを一時的に削除できる仕組みがある。
人が作業する以上、アップデートに紛れ込むバグをゼロにするのは難しい。しかしWebViewのバグが広範囲に影響を及ぼすと今回分かった以上、GoogleはWebViewのアップデートについて、セキュリティを考慮した切り戻し方法を提供するなど、何らかの対応策を検討した方がよさそうだ。
関連記事
- スマホが使えなくなった……「世界一受けたい授業」が紹介した「SIMカードロック」でトラブル相次ぐ 専門家は「危険性の高い機能」と指摘【日テレのコメントを追記】
日本テレビの番組「世界一受けたい授業」の6月27日放送回を見た視聴者から、「テレビを見てSIMカードにロックをかけようとしたら、スマホが使えなくなった」というトラブルの報告が相次いでいる。専門家は「紹介された内容はおすすめできない機能」と話す。 - 「Android版LINEやGmailが開けない」報告相次ぐ ゲームアプリにも影響、原因はWebView機能?
Twitterで「Android版のLINEやGmailなどが正常に起動できない」とする報告が相次いでいる。米Googleの「WebView」の不具合とみられるが、現時点でGoogleから原因についてアナウンスはない。 - AndroidでGmailなどが開けない問題、GoogleがWebViewとChromeの修正アップデート公開
Android端末でGmailやLINEが開けなくなった問題で、Googleは問題が解決したとしてWebViewとChromeのアップデートを公開した。
Copyright © ITmedia, Inc. All Rights Reserved.