Android標準ブラウザに深刻な脆弱性――KitKatへのアップグレードを検討すべき理由
まだAndroid 4.4 KitKatにアップグレードしていない方へ。切り替えを前向きに検討するきっかけになるニュースです。KitKat以前のAndroid端末に搭載されている標準ブラウザに重大な脆弱性が発見され、悪意のあるウェブサイトが他のサイトのデータへアクセスできてしまう可能性があることが判明しました。一見怖い話に聞こえますが、まずは何が起きているのかを順を追って見ていきましょう。
この問題は、セキュリティ研究者のRafay Baloch氏によって最初に発見されました。悪意のあるウェブサイトが他のフレームへ任意のJavaScriptを注入できてしまうため、Cookieの盗難や、サイトの構造・マークアップへの直接干渉が可能になってしまうのです。
セキュリティ業界はこの事態に強い懸念を示しています。有名なペネトレーションテストフレームワーク「Metasploit」を手がけるRapid7社は、この脆弱性を「プライバシーに関する悪夢」とまで表現しました。どのような仕組みで攻撃が成立するのか、なぜ危険なのか、そして何ができるのか。詳しく解説していきます。
基本原則「同一オリジンポリシー」が突破された
そもそもこの種の攻撃を防いでいるのが、「Same Origin Policy(SOP/同一オリジンポリシー)」と呼ばれるセキュリティの基本原則です。簡単に言えば、あるウェブサイト上で動作するクライアントサイドのJavaScriptが、別のウェブサイトに干渉してはならない、というルールです。
このポリシーは1995年にNetscape Navigator 2で初めて導入されて以来、Webアプリケーションセキュリティの礎となってきました。すべての主要ブラウザがこのポリシーを基本的なセキュリティ機能として実装しており、だからこそ、この種の脆弱性が実際に発見されるのは極めて珍しいことなのです。
SOPの仕組みについてさらに詳しく知りたい方は、上記の動画がおすすめです。OWASP(Open Web Application Security Project)のドイツでのイベントで行われた講演を収録したもので、これまで見てきた中でも最も分かりやすい解説の一つと言えます。
ブラウザがSOPバイパス攻撃に対して脆弱である場合、被害の範囲は非常に広くなります。攻撃者は、HTML5で導入された位置情報APIを使って被害者の現在地を特定することから、Cookieを盗み出すことまで、理論上あらゆることが可能になるのです。
幸い、ほとんどのブラウザ開発者はこの種の攻撃を真剣に受け止めています。だからこそ、こうした攻撃が「実際に野放しになっている」こと自体が特筆すべき出来事なのです。
攻撃はどのように仕組まれているのか
同一オリジンポリシーの重要性は分かりました。そして、Android標準ブラウザの重大な欠陥によって、この重要なセキュリティ対策が回避されうることも分かりました。では、具体的にはどのような仕組みなのでしょうか?
Rafay Baloch氏が公開した概念実証(PoC)コードは、おおよそ次のような構成でした。
まず登場するのはiFrameです。iFrameとは、あるウェブページの中に別のウェブページを埋め込むためのHTML要素です。SEO上の扱いにくさから、現在では以前ほど使われなくなりましたが、それでも時々見かけることがあり、HTML仕様の一部として今も非推奨にはなっていません。
その後に続くのは、入力ボタンを表すHTMLタグです。ここには特別に細工されたJavaScriptが含まれており(末尾の「\u0000」に注目してください)、クリックすると現在のウェブサイトのドメイン名を出力する仕組みです。ところが、Android標準ブラウザのバグにより、このスクリプトはiFrameの属性へアクセスしてしまい、「rhainfosec.com」というドメイン名がJavaScriptのアラートボックスとして表示されてしまうのです。
Google Chrome、Internet Explorer、Firefoxで同じ操作を行うと、攻撃は単純にエラーとなります。ブラウザによっては、JavaScriptコンソールに「攻撃をブロックした」というログが出力されます。ところが、なぜかAndroid 4.4以前の端末の標準ブラウザだけは、その防御が働かないのです。
ドメイン名を表示させるだけなら大したことはありません。しかし、他のサイトのCookieへアクセスし、任意のJavaScriptを実行できるとなると話は別です。これは非常に懸念すべき状況です。幸い、ユーザー側で取れる対策は存在します。
ユーザーにできる対策
ユーザーが取れる選択肢はいくつかあります。まず第一に、Android標準ブラウザの使用をやめることです。古く、安全性にも問題があり、現在の市場にははるかに優れた選択肢が揃っています。GoogleはAndroid版Chromeをリリースしています(Ice Cream Sandwich以降の端末が対象)。また、FirefoxやOperaのモバイル版も利用可能です。
特におすすめしたいのがFirefox Mobileです。優れたブラウジング体験を提供するだけでなく、Mozilla独自のモバイルOS「Firefox OS」向けアプリの実行や、豊富なアドオンのインストールにも対応しています。
さらに徹底的に対策したい方には、Firefox Mobile用に移植されたNoScriptもあります。ただし注意が必要なのは、多くのウェブサイトがクライアントサイドの表示にJavaScriptへ大きく依存しているため、NoScriptを有効にするとほとんどのサイトが正常に動作しなくなる点です。これこそが、James Bruce氏がNoScriptを「悪の三種神器」の一部と呼んだ理由かもしれません。
最後に、可能であればAndroid標準ブラウザを最新バージョンに更新し、併せてAndroid OSも最新版へアップデートしておきましょう。今後Googleがこのバグの修正をリリースした場合に備えて、常に保護された状態を保つことができます。
ただし、この問題がAndroid 4.4 KitKatのユーザーにも影響を与える可能性を示唆する声がある点には留意が必要です。とはいえ、読者の皆さんにブラウザの切り替えを強く勧めるほど確かな情報は、現時点では出ていません。
重大なプライバシーバグ
誤解のないように言っておきますが、これはスマートフォンセキュリティにおける重大な問題です。しかし、別のブラウザへ切り替えてしまえば、事実上この脅威から守られることになります。一方で、Android OS全体のセキュリティについては、依然として多くの疑問が残されています。
あなたはより安全な選択肢、たとえばセキュリティに定評のあるiOSや(筆者のお気に入りの)BlackBerry 10へ乗り換えますか?それともAndroidに留まり、Paranoid AndroidやOmniROMといったセキュアなカスタムROMを導入しますか?あるいは、そこまで心配する必要はないと感じているかもしれませんね。
ぜひあなたの考えを聞かせてください。コメント欄は下にあります。皆さんの意見をお待ちしています。
-
毎日をもっと楽しく!思わず笑ってしまうおすすめAndroidアプリ4選
スマートフォンはつい仕事や生活を効率化するための道具として使いがちですが、その過程で日々の笑いや癒しの時間をおろそかにしていませんか?ダウンロードするアプリの中に、「思わず笑顔になれるアプリ」のためのスペースをぜひ確保しておきましょう。Google Playストアには面白いアプリがたくさんありますが、今回はその中から特におすすめの4本を厳選してご紹介します。 1. 9GAG 9GAGは多くの方が一度は耳にしたことがあるかもしれません。まだの方は、毎日の笑いの供給源を見逃していると言っても過言ではありません。9GAGには数千件もの写真やミーム(ネタ画像)が投稿されており、Google Play
-
Microsoftの衝撃的事実――Office 365はマルウェアの温床だったのか?セキュリティ専門性に疑問の声
記事の要点:Office 365でのマルウェア攻撃について、Microsoftは以前から把握していたことが判明。同社はなぜこの問題を見過ごしていたのでしょうか? 最近のあるツイートが大きな論争を巻き起こしました。それは、Microsoftの人気製品であるOffice 365におけるセキュリティの脆弱性を暴く衝撃的な内容でした。世界中で広く利用されているWindows PCとそのサービスが、ユーザーの安全を守るために十分な努力をしていなかったかもしれない――これは私たちにとって驚きの事実です。詳しく見ていきましょう。 サイバーセキュリティ専門家(The Analyst)と元Microsoft