とある最近の記事によりますと、なにやら「iPhone や iPad から iCloud のパスワードを盗める重大な脆弱性」が発覚したそうでして。
ざっくり言うと、メーラー内に偽の iCloud パスワード入力画面を表示して、ユーザー自身にアカウント名とパスワードを送信させちゃうという話なのですが。
まぁ、手口としては使い古されているので、おそらく Apple としても、いまさら騒ぎ立てるようなものでも無いと判断して、まともに取り合ってなかったのでしょう(被害も、まだ確認されていないそうです)。
しかしながら、この問題の本質は、メーラーがどうのという部分ではないようにも思えます。
詳しくは後述しますが、iOS の普段の挙動が原因で、予期せぬ場面で思わず引っかかってしまう人も出てくるかも知れません。
そこで、iCloud や iTunes & App Store のパスワード関連の記事をいくつか書いていることもあり、それらの追補として、いちおう記事にしておきます。
よろしければ、本文をご覧ください。
ちなみに、上の記事では iCloud アカウントとパスワードが対象ですが、iTunes & App Store のパスワード入力画面に見せかけることも同様に可能です。
いずれにせよ、不審なパスワード入力画面が唐突に表示されても安易に入力せずに、なるべく歯車アイコンの設定アプリに移動して iCloud や iTunes & App Store へサインインするように心掛けた方が良いかも知れませんね。
2015/10/31 追記:
最近また、こんな報告が増えているようです。
うっかり引っかからないように、気をつけましょう。
2015/06/19 追記:
立て続けにと言いますか、このエントリで触れているものとは異なる、OS X(Mac)と iOS(iPhone / iPad / etc.)のキーチェーンに関する別の虚弱性が公開されたそうで。
- iOSとMac OS Xに複数の脆弱性、パスワード盗まれるおそれ | マイナビニュース
- iOSとOS XでiCloud・メール・ブラウザ保存のパスワードが盗まれる脆弱性が発覚、Appleは半年以上も黙殺 - GIGAZINE
- 最新のOS X&iOSのKeychainに他のアプリを経由してパスワードを取得できてしまう脆弱性が発見され、この脆弱性を利用できるアプリがAppStoreの審査を通過したもよう。
- AgileBits、1Password miniとブラウザ拡張機能間に存在する「XARA」脆弱性についてコメント
- Unauthorized Cross-App Resource Access on MAC OS X and iOS (PDF)
詳しくは、上の引用記事やレポートに任せますが、どうやらこちらはガチの虚弱性のようです。
とある手順で、キーチェーンに保存されたパスワード等の重要な情報に想定外のアクセスをされてしまうことがあるというヤバさもさることながら、現状ではこの虚弱性を利用したアプリが正規の App Store の審査を通ってしまうのが問題なのでして。
ゼロデイ虚弱性の類いですので、いまのところ一般ユーザーがすぐに取り得る対策としては、「怪しいアプリをダウンロード&実行しない」という、セキュリティセミナーの標語のような当たり前のことになるかと思うのですが、これまでのように「App Store からインストールしたアプリなら安全だろー」という常識が通用しないということになりかねません。
それでも、アプリは正規の App Store からのみインストールするようにした方がマシであるのは間違いないですが、どうしても気になる人は、キーチェーンにパスワード等は記憶させないようにした方がいいかも知れないですね(すごい不便になっちゃいますけど。まぁ、多くの場合、便利さとセキュリティリスクはトレードオフの関係なので)。
もしくは、当エントリの最後の方でも触れていますが、万が一パスワードが漏れても簡単には乗っ取られないように、2段階認証に対応しているサービスでは有効にしておくのも対策のひとつです。全てのサービスを網羅できないのが玉に瑕ですけどね。
読み込み中です。少々お待ち下さい
どのような現象か
それでは、冒頭の記事の内容がどのようなモノかを、簡単に見ていきましょう。
まず、記事で言及されている虚弱性とやらが仕込まれたメールが送られてきたとします。
で、それを iPhone や iPad で開くと、下図のような感じに iCloud パスワードの入力画面が表示される訳です。
ところがどっこいしょ。
コレ、実は「単に同じように見える」というだけの真っ赤な偽物なのです。
で、入力画面がフェイクだと気付かずに唯々諾々と情報を入力して OK をタップしてしまうと、アカウント名とパスワードが攻撃者に送信されてしまうという、まぁ、古くから良くある手口のひとつですね。
多少、突っ込んだ話をすると、要するにメーラーの WebView で meta タグの http-equiv=refresh が無効化されていないので、メーラー内で外部 HTML が読み込まれる危険性があり、仮令メーラー内の WebView で JavaScript が無効化されていたとしても、攻撃者の工夫次第でヘンなことされちゃう可能性があるよね、という内容です。
ちなみに、現状では HTML メールに直接 form タグを埋め込むだけでも似たようなことができてしまうようですが、こちらもなんで無効化していないんでしょうね。
問題点は
正直なところ、この問題に対して「重大な虚弱性」は言い過ぎのような気もしますが、それはさておきまして。
とりあえず Apple は、メーラーの WebView でリダイレクトや form タグなどの機能を無効化する程度の処置は、取り急ぎ施した方が良いのではないかと思います(というか、一般的な PC メーラーと同程度の制限はかけた方がよろしいかと)。
ですが、この単純な問題の要点は、そこではない気がします。
だって、モバイル Safari で表示した上の画像を見ても分かるように、別にメーラーじゃなくたって、Web ブラウザやアプリ内ブラウザでも同じことができますもん。
サンプルより、もっと巧妙に、それこそ本物そっくりに。
つまり、メーラーの HTML 表示機能だけを制限すれば済むという話ではないのではないかと。
(というか、安易に機能制限をする訳にもいかない Web ブラウザの方が、より対応が難しいのでは)
じゃあ、何が問題か
ここで問題にしているのは、iPhone や iPad で iOS を利用していると、良く分からないタイミングで、不意に iCloud や iTunes & App Store のパスワード入力を求められる現象が、割りとよく発生するということです。
以前、ウチでも記事にしたので、詳しくはそちらをどうぞ。
もちろん、ここで言っているのは、iOS が表示している正規の本物のパスワード入力画面のことです。
つまり、ヘンなタイミングでパスワード入力画面が表示されることに、ユーザーは半ば慣れっこになってしまっている可能性があり、すると「あぁ、またか」と画面を良く確認せずにパスワードを入力してしまう恐れがある訳でして、Apple の iOS に問題があるとしたら、むしろこのような挙動の方でしょう。
本来は警告画面を表示するだけに留めて、パスワードの入力自体は「設定」アプリに遷移した後に入力させるようなオペレーションの方が良かったかも知れないですね。
あー、でも、自動遷移だと、今度は「設定」アプリそっくりの画面を用意されちゃうかな(笑)
対処方法は
個々のユーザーが、まず最初に取り得る対処としては、パスワード入力画面を良く確認するという、当たり前の話になるかと思います。
ですが、本当に本物ソックリに作られたら、見た目で判別できないかも知れません。
そこで、次に取り得る対処としては、冒頭にも書きましたが、不意にパスワード入力画面が表示されても安易に入力せずに、なるべく歯車アイコンの設定アプリに移動して iCloud や iTunes & App Store へサインインするように心掛けることでしょうか(Apple 以外が設定アプリのサインイン画面を書き換えることは、通常は不可能なので)。
設定アプリを経由して iCloud へサインインする方法は、以前に書いたこちらの記事を、iTunes & App Store へのサインインはこちらの記事を参考にしてください。
ちなみに、不意にパスワード入力画面が表示された時に、アプリではなくホーム画面が開かれていた場合も、おそらく大丈夫だと思います(サードパーティ製のアプリは、ホーム画面に何かを自由に表示することは、通常できないので)。
但し、言葉巧みに誘導して、偽物のサイトを設定アプリそっくりのアイコンでホーム画面に登録させるような手口が、今後出てこないとも限りません(もうあったりして?)。
つまり、設定アプリをタップしたつもりが、そっくりに作られた偽のサイトに誘導されてしまうような手口ですね。
そこで、例えばホーム画面におけるアイコンの位置は、ちゃんと自分が置いた位置と合っているか、はたまた設定アプリから「一般」→「情報」などを開いて、その内容が自分の端末固有のものであるかを確認して、設定アプリ自体が確かに本物であると確認することも、頭の片隅に置いておいた方が良いかも知れません。
とはいえ、書いてて自分でも思いますが、そんなにアレコレ色々と気をつけるのは大変ですよね~......キリがありませんし。
ですので、もう少し負担の少ない別方向からのアプローチも、併せて考えてみましょう。
さらなる対処方法は
偽物でないか確認すると言っても、毎回となるとなかなかに面倒ですし、いくら心掛けても、ついつい忘れてしまうこともあるかと思います。
そこで、人間が自分で気をつけるのではなく、対処をある程度システムに任せてしまえる方法として、Apple ID の2ステップ確認の有効化をオススメします。
一般的には2段階認証と呼ばれることの多いこちらを有効にしておけば、万が一、第三者にアカウント名とパスワードが知られてしまったとしても、そう簡単には Apple ID が乗っ取られないようになります。
2段階認証について詳しくは、以前に書いたこちらの記事をご覧ください。
手短に説明すると、各端末における初回のサインインや、アカウントに対して重要な操作を行う場合に、あなた自身が物理的に保有している端末でしか受け取れない、使い捨ての確認コードの入力を求められるようになるので、パスワードを知っただけでは第三者が容易にサインインできないという仕組みです。
但し、2段階認証を有効にしたとしても、アカウント情報を第三者に知られてしまったら、何もしないで良い訳ではなく、すぐにパスワードを変更するなり、Apple に相談するなり、それなりの対応した方が良いのは当然です。
また、2段階認証も決して万能ではありませんから、あまり過信しすぎないように気をつけましょう。
おわりに
手口としては、とても単純ですが、iOS の普段の行いがアレなので、うっかり引っかからないように注意しましょう。
私は、大変うっかりした人間ですので、頑張って気をつけたいと思います。
必要以上に警戒することも無いかと思いますが、iPhone / iPad ユーザーの皆様も、どうかお気をつけて。