「Android」端末のフルディスク暗号化に脆弱性--「Snapdragon」プロセッサ搭載で

Charlie Osborne (Special to ZDNET.com) 翻訳校正: 石橋啓一郎

2016-07-05 13:17

 「Android」のフルディスク暗号化は、少し時間をかければ総当たり攻撃で破ることができる。そして、現在利用されている端末では、この問題への十分な対応策は存在しないかもしれない。

 セキュリティ研究者のGal Beniamini氏は先週、Qualcommの「Snapdragon」プロセッサを使用しているスマートフォンの暗号を破ることが可能だとする記事をブログに掲載した。これは、膨大な数のモバイルデバイスが脆弱性を抱えることを意味している。

 Androidのフルディスク暗号化機能(FDE)は、「Android 5.0」で初めて実装されたもので、ユーザーデータを守るための128ビットのマスター鍵と128ビットのソルト値をランダムに生成する。このマスター鍵はデバイス暗号化鍵(DEK)とも呼ばれており、ユーザーの認証情報(PIN、パスワード、タッチスクリーンパターンなど)に基づいて暗号化され、保護されている。

 暗号化されたDEKは、デバイス上に保存されている。

 Androidでは、このプロセスに対する総当たり攻撃を防ぐために、復号しようとする際、試行が定められた回数失敗するごとに、処理に待機時間が発生するようになっている。デバイス外での総当たり攻撃を防ぐために、鍵はデバイスのハードウェアから取り出せないようになっている。これが、Qualcommのシステムにセキュリティ上の問題が発見された部分だ。

 鍵の取り出しを防ぐ機能は、Androidのハードウェアによるキーストア(KeyMasterと呼ばれる)で提供されている。このモジュールは、「安全な領域」だと見なされているTEE(Trusted Execution Environment)内で実行される。これに対し、Android OSは「安全ではない領域」だとみなされている。


 この考え方は、KeyMasterが暗号鍵の生成と暗号処理を、これらの情報をメインOSに漏らさずに実行できることを前提としている。

 鍵が生成されると、生成された鍵は暗号化されてメインOSに返される。これらの鍵が必要な処理を行う場合には、暗号化された鍵データのブロック(鍵ブロブ)をKeyMasterに送る必要がある。この鍵ブロブには、デバイスのプロセッサの安全な領域内で使用される、暗号処理に必要な2048ビットのRSAキーが収められている。

TechRepublic Japan関連記事

 「この処理は、鍵ブロブを保護するために使用される暗号鍵を、外部に一切漏らさずに実行される。このことは、鍵ブロブを用いて実行されるすべての暗号学的操作は、KeyMasterモジュールによって、デバイスが直接処理する必要があることを意味している」と同氏は言う。

 ただし、KeyMasterの実装はハードウェアメーカーに任されている。QualcommのKeyMasterモジュールはSnapdragonの「TrustZone」内で実行されている。これは生体情報スキャンや暗号化などの秘密を要する機能を保護するための機能だが、Beniamini氏はAndroidのセキュリティホールを攻撃に利用することで、TrustZoneから鍵を取り出せることを発見した。

 QualcommはQSEE(Qualcomm Secure Execution Environment)と呼ばれるTEEを提供しており、Android OSからは隔離されたこの安全な環境内で「Trustlet」と呼ばれる小さなアプリを実行できる仕組みを設けている。KeyMasterはこのQSEEアプリの1つだ。

 しかし、Androidの脆弱性を悪用すると、独自のQSEEアプリをTrustZone内にロードさせ、特権の昇格と領域全体の乗っ取りを行うことができる。また、フルディスク暗号化のために生成された鍵が収められている、暗号化されていないブロブを盗むこともできる。

 この手順に成功すれば、あとは総当たり攻撃を行うだけで、ユーザーパスワードや、PIN、ロックパターンを入手することができる。これでAndroidのフルディスク暗号化を復号するのに必要な情報がすべて手に入ったことになる。

 攻撃コードの完全なソースは、GitHubで公開されている。

 Beniamini氏はこの問題に関してQualcommと連絡を取ったと述べているが、この問題の修正は簡単ではなく、ハードウェアの変更が必要になる可能性があると指摘している。これはつまり、スマートフォンがアップグレードされるか、新しいモデルに買い換えない限り、問題は解消されないということだ。

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]