
Samsung Galaxy スマートフォン所有者の皆さん、ご注意ください。テルアビブ大学の研究論文によると、深刻な暗号化の欠陥がある 1 億台のデバイスのうちの 1 台があなたのデバイスである可能性があります。
研究者らが2021年初頭に報告した時点でサムスンは脆弱性(そう、複数の脆弱性が存在する)を修正したが、研究者らは、これは単に一社の設計における欠陥を暴露しただけではないと主張している。「重要な暗号およびセキュリティ設計に対するオープンで実証済みの標準に対する、より一般的な要件が高まっている」と論文は述べている。
参照:パスワード侵害:ポップカルチャーとパスワードが混ざらない理由(無料PDF)(TechRepublic)
研究者たちは、この誤りにも遭遇したわけではない。彼らは、独自仕様で、多くの場合文書化されていない暗号化アプリケーションが、スマートフォンを使用するすべての人を危険にさらしていることを証明しようと、意図的にサムスンのデバイスをターゲットにしたのだ。
サムスンが自社の暗号を破る方法
SamsungがAndroidの暗号セキュリティ実装で何を間違えたのかを理解するには、Androidオペレーティングシステムの設計について少し理解する必要があります。これは非常に複雑で、頭字語が多数出てきます。ご注意ください。
ARM ベースの Android スマートフォン (ほぼすべて) は、トップレベルの Android OS と TrustZone を分離する分割設計を使用しています。TrustZone は、独立した TrustZone オペレーティング システム (TZOS) が存在する Trusted Execution Environment (TEE) を含む別のハードウェア ビットで、Trust アプリケーション (TA) を使用してセキュリティ関連の機能を実行します。
本質的には、Androidアプリがユーザー認証やデバイスのセキュリティ確保に関連する何らかの処理を実行する必要がある場合、AndroidはそのリクエストをTZOSに送信する必要があります。ここに落とし穴があり、研究者たちが指摘しようとしていた点があります。「TZOS内の暗号化機能の実装はデバイスベンダーに委ねられており、彼らは独自の文書化されていない設計を作成している」と論文には記されています。
Samsungなどのベンダーは、ユーザー側のAndroid側(いわゆる通常世界)とTEEのセキュアワールドを、APIを介してAndroidとTEE間でデータを共有するハードウェア抽象化レイヤーを介して接続しています。Samsung Galaxy S8、S9、S10、S20、S21ファミリーのデバイスの場合、このハードウェア抽象化レイヤーはKeymaster TAと呼ばれるアプリを使用して管理されます。
Keymaster TA には、通常世界に安全なキー ストレージ領域があり、BLOB 形式でキーが格納されます。つまり、キーは通常世界でのストレージ用に暗号化され、Keymaster TA によって復号化 (および再暗号化) されます。
実際の復号は初期化ベクトル(IV)を用いて行われます。IVは本質的にはランダムな数値であり、復号処理の開始値として機能します。これらの数値はTEE内で生成され、ランダムかつ一意であるため、通常の環境に保存されている間は復号が困難になるはずですが、前述のSamsungデバイスではそうではないとレポートは述べています。
The Register は、ジョンズ・ホプキンス大学のコンピューターサイエンスの准教授であるマシュー・グリーン氏のツイッター投稿を取り上げ、研究者らが発見したのは、サムスンがアプリ層コード (通常側で実行される) に IV キーを選択させており、そのため簡単に解読できることだと述べていると説明した。
アプリが独自のIVを選択できるようになると、攻撃者は独自のIVを鍵パラメータに入力し、Keymaster TAにランダムなIVの代わりに自身のIVを使用させることが可能となります。これはIV再利用攻撃と呼ばれ、攻撃者は鍵を偽装したり、本来安全なはずの情報を復号したり、あるいはその他の方法で影響を受けるデバイスに不正アクセスしたりすることが可能になります。
参照: Google Chrome: 知っておくべきセキュリティと UI のヒント(TechRepublic Premium)
S10、S20、S21 シリーズの新型 Samsung デバイスは IV 再利用攻撃に抵抗するように設計されていましたが、研究者らはダウングレード攻撃を実行し、デバイスを脆弱な形式の IV 生成に頼らせ、以前のモデルと同様に攻撃可能にすることができました。
さらに、研究者らは、S10、S20、S21デバイスに適用したダウングレード攻撃を利用することで、ウェブサイト向けのパスワードレス認証システムであるFIDO2ウェブ認証方式をバイパスできることも発見しました。つまり、攻撃者はウェブサイトからの鍵生成リクエストを傍受し、IV再利用攻撃を用いてそれを改ざんし、盗んだ秘密鍵でウェブサイトに認証できるのです。
パッチは利用可能…今回は
前述のように、Samsung は 2021 年 8 月と 10 月に影響を受けるデバイスに対するパッチをリリースしたため、影響を受けるデバイスを最新の状態に保っている所有者にとっては、基本的に問題にはなりません。
研究者らが述べているように、ここで問題となっているのはサムスンではない。標準化されていない手法と独自コードを悪用し、スマートフォンを持つすべての人に影響を与えるセキュリティのブラックボックス化を招いているのは、単に一社だけの問題なのだ。
デジタルアイデンティティ企業 Veridium のマーケティング担当副社長 Damon Ebanks 氏は、Samsung がこれらのバグに対処するアップデートをリリースしたのはよいことだが、研究者が発見した脅威の深刻さを軽視する理由にはならないと述べた。
「成功すれば、悪意のある攻撃者はデバイスの通常ワールドセクターにアクセスし、マルウェアをインストールしたり、あらゆるプログラムにルート権限を与えたりする可能性があります。さらに、Androidカーネルでマルウェアを実行するのではなく、Androidユーザーモードでコードを実行するだけかもしれません」とエバンクス氏は述べた。