Vulndisclosureというハンドルネームで知られる研究者が、ZeroBootと名付けられた脆弱性を報告した。この脆弱性により、攻撃者はSamsung Galaxy A25 5G上のファイルベース暗号化(FBE)をバイパスし、パスワードを入力せずにユーザーデータへアクセスできる。著者によると、この欠陥はデバイスのブートシーケンス中に発生するレースコンディションに起因しており、CVSSスコアは8.2で、高深刻度カテゴリに明確に分類される。
このバグの本質は、特定のブート条件下で現れる約736ミリ秒という短い時間枠にある。この間、主要なシステムコンポーネント間の同期が崩れる。ロックスクリーンはまだ表示されていない一方で、MTP(USBファイル転送)およびADB(USBデバッグ)サービスはすでに初期化されており、パスワードなしで復号済みデータへのアクセスを提供してしまう。これは、ロックスクリーンのインターフェース、暗号化ポリシー、Keyguard保護サービスが並行して初期化されるものの、起動完了のタイミングがそれぞれ異なるために発生する。
悪用は、デバイスへの物理的なアクセスが可能であり、かつ非常に厳密な条件がそろった場合にのみ成立する。研究者によれば、実証コードの成功例は、デバイス温度がおよそ5℃、バッテリーが完全に放電して自動シャットダウンが発生し、電源オフ後に約16秒待機、その後およそ1000mAを供給する充電器に接続し、RAM使用量が3.7〜3.8GBの状態で確認されたという。これらの条件下では、攻撃は約87%の試行で成功した。
ZeroBootのデモにおいて研究者は、この736ミリ秒の時間枠の中で、ユーザーファイルのコピー、認証なしでのシステムコマンド実行、バックドアのインストール、あるいはデバイスへの永続的なアクセスを維持するための設定変更が可能であることを示した。著者の見解では、この欠陥は企業セクターおよびフォレンジック調査に対して特に大きなリスクをもたらす。なぜなら、本来はデバイス所有者がパスワードを入力するまで有効であるべき保護機構を迂回してしまうためである。
研究者はメーカーの対応についても批判している。彼によれば、ベンダーは問題の原因をMagiskの存在に帰そうとしたが、このツールはカーネルの後にロードされるため、脆弱なブートチェーン部分には影響しない。また、研究者が公開したやり取りによると、Samsungはサードパーティのウェブサイトを利用してファームウェアをダウンロードするよう推奨し、さらに、ロールバック防止機構で保護されているにもかかわらず、古いAndroidバージョンでのテストを提案したとされている。
緩和策として研究者は、SystemUI、暗号化状態の検証、およびロックスクリーン表示の初期化を同期させることに加え、ブート時に異常な温度および電源状態を検出するチェックを追加することを提案している。当初、彼は公式パッチが公開されるまで詳細を伏せる予定だったが、最終的にはGitHub上で証拠を伴う完全なレポートを公開した。
翻訳元: https://meterpreter.org/zeroboot-new-flaw-bypasses-samsung-galaxy-encryption-with-physical-access/