iOSのテザリング用パスワードは1分以内に破られる

2013年7月19日

iPhoneを使ってテザリングするときは注意しましょう。というのも、ドイツのフリードリヒ・アレクサンダー大学エアランゲン・ニュルンベルクの情報科学学部の研究者グループが、Appleのテザリング用パスワードを1分とかからずクラッキングするソフトウェアを開発したのです。

iphoneテザリング-title

この研究で、AppleのiOSは、ユーザーが覚えやすいように4~6文字の単語を基にしたぜい弱なパスワードを生成することが明らかになりました。単語の後に4桁の数字が続きますが、これでは複雑さはあまり変わりません。このようなパスワード認証の問題はもちろん、ハッカーが簡単にクラッキングできてしまう(そして実際に狙われる)という点です。このことは、研究者のAndreas Kurtz氏、Felix Freiling氏、Daniel Metz氏が、無線セッションをテザリングするiOS(バージョン6以下)を、総当たり攻撃で乗っ取ることによって証明しました。

ここでの総当たり攻撃とは、ハッカー(あるいは研究者)が、辞書に載っているすべての単語をパスワード認証欄に入力して任意のパスワードを推測するというツールを使用するものです。

辞書ベースの総当たり攻撃は、時間がかかり大量のリソースを消費するものの、一般的に大きな効果があります。英語の辞書にあるすべての単語を使ってパスワードの強度を試すのはもちろんのこと、特に効果的な総当たり攻撃は、文字や一群の単語の代わりに数字が使われたスペルのバリエーションのほか、使用済みのパスワードも試します。過去数年で漏えいしたパスワードのデータベースが出回っており、攻撃者はこうしたさまざまなデータベースからパスワードを集めているのです(近年相次ぐデータ漏えいでは、攻撃者はぜい弱なサーバーに保存されたパスワードのリストを盗んで、誰でも見られるフォーラムに投稿しています)。

良いパスワードというのは、程度の差こそあれ、総当たり攻撃の影響を受けにくいものです。Appleのテザリング用パスワード生成の主な弱点は、(覚えやすいように)単語に依存していることだけでなく、4~6文字のごく限られた単語と、極めて限定的な4桁の数字の組み合わせに依存していることです。どう考えても、研究者らが投入した処理能力の前には、単語の後に4桁の数字をつけたところで、パスワードの複雑さにそれほど影響はありません。

Appleのテザリング用パスワード生成の主な弱点は、(覚えやすいように)単語に依存していることだけでなく、4~6文字のごく限られた単語と、極めて限定的な4桁の数字の組み合わせに依存していることです。

研究者は、インターネットから集めた4、5、6文字の単語52,500語からなるオープンソースのスクラブル用辞書を、総当たり攻撃に使用しました。4~6文字の単語は他にもたくさんあるにもかかわらず、成功率は100%でした。しかし、パスワードのクラッキングには49分もかかってしまいました。

この49分という長すぎる結果に満足できなかった研究者たちは、ちょっとしたリバースエンジニアリング(詳しくは述べませんが)を行った後に、iOSの内部に英語の辞書ファイルを発見しました。テザリング用パスワードの生成に実際に使われていたのは、この辞書だったのです。興味深いことに、iOSはこの辞書を使って、ユーザーが入力し終える前に入力内容を予測しています。つまり、単語を途中まで入力したときに、単語全体が(ときには間違った単語が)テキストの上の欄に表示される機能を、この辞書が可能にしているわけです。ともあれ、研究者は、可能性のある52,500語を、もっと扱いやすい1,842語まで絞り込み、これらの単語を実際の対象としました。

そう、AppleのiOSのテザリング用パスワードは、1,842語のうちの1語に、4桁の数字を付け足したものなのです。これにより、テザリング用パスワードを破るのに必要な時間が96%短縮されました。

しかし、話はそれだけではありません。iOSがこれらの単語を選ぶアルゴリズムが偏っており、特定の単語が他の単語よりも頻繁に選ばれることも明らかになりました。最も頻繁に選択される単語の上位10語は、suave、subbed、headed、head、header、coal、ohms、coach、reach、macawsです。この10単語は、既定のパスワードとして選ばれる確率が他の単語の10倍でした。そのため、攻撃をスピードアップすることが可能になりました。こうした情報と、強力な計算能力を用いることで、iOSのテザリング用パスワードを50秒で確実にクラッキングできました。参考までに、このタスクに使用したコンピューター群は、1秒間に390,000回の推測を実行します。

私はいつも記事の最後で身を守るためのアドバイスをいくつか紹介していますが、今回はシンプルなアドバイスです。iPhoneを使ったテザリング(インターネット共有)には、強力なパスワードを手作業で設定してください。実際のところ、これは非常に多様化した脅威のように見受けられるので、他の携帯電話やタブレットでも既定のパスワードは使わないようにしましょう。研究者らは、この攻撃方法が他にも多くのモバイルプラットフォームで使えると考えているからです。