ブルートフォース攻撃によるAndroidデバイスのロック解除
目次
今日では、DFIR以外の人々でさえ、未知のパスコードを手動で推測することが最速の方法ではなく、デバイスとそのデータへの永続的なアクセスを失うことが最も一般的な結果であることを知っています。デバイスメーカーとソフトウェア開発者は、ユーザーデータの保護において素晴らしい仕事をしてきました。そして、ログイン試行に制限がなくても、何千、何百万もの可能な組み合わせでAndroid PINを手動でブルートフォースすることは明らかに選択肢ではありません。
では、フォレンジック目的でAndroidデバイスをアンロックするにはどうすればよいでしょうか?システムに侵入し、制限を回避し(少なくともその一部)、自動化されたブルートフォース攻撃を開始できる脆弱性を見つけてください。
言うは易く行うは難し。
Androidデバイスは極めて多様です。共通のセキュリティ機能を共有していますが、万能なソリューションは存在しません。利用可能なソリューションは特定のチップセットモデルグループを対象としているため、Belkasoft XのAndroidパスワードブルートフォース方法はそれぞれ独自のワークフローを持っています—MediaTek、Kirin、またはUnisocベースのデバイスを扱うかどうかによって異なります。
Androidロック画面ブルートフォースの簡単な紹介
今日フォレンジックラボに到着するほとんどのAndroidデバイスには、暗号化されたユーザーデータがあります。それらを保護するために使用される暗号化キーは、デバイスが起動しユーザーがパスコードを入力した後、Trusted Execution Environment(TEE)で抽出されます。これらのキーは、デバイス固有のキーとユーザーのロック画面パスコードから派生したキーに基づいています。
フォレンジックブルートフォース攻撃は、安全でないブートROMやデバッグモードなどのブートプロセスの脆弱性の悪用など、チップセット固有の脆弱性を利用します。具体的には、Belkasoft Xはセキュアブートチェーンを中断し、低レベルでコード実行を取得し、TEEからパスコードをブルートフォースするために必要なキーを抽出できます。このブルートフォース攻撃はオフラインで実行され、Androidの通常のスロットリング(データ処理の遅延や試行制限)を回避します。パスコード推測の速度は、キー導出関数の複雑さとデジタルフォレンジックワークステーションのコンピューティング能力に依存します。
このプロセスは、デバイスからダンプされたユーザーデータと相互作用しないため、情報の変更やデータ損失の可能性が低くなります。
Unisocブルートフォースの特徴
Unisocの低コストプロセッサ(旧Spreadtrum)は、多くの予算AndroidデバイスでFig見されます。これらのSoCモデルの一部には、USBを介してSpreadtrum Download Mode(SPD)でデバイスを起動する際にBootROMでのコード実行を可能にする脆弱性があります。Belkasoft Xはこれらの脆弱性を使用して、最初期のブート段階で独自のコードを実行し、暗号化キーの内容をダンプし、オフラインでパスコードをブルートフォースできます。BootROMの欠陥はソフトウェアアップデートで修正できないため(読み取り専用メモリにあるため)、影響を受けるSoCは永続的に安全でない状態のままです。
このブルートフォース方法はSpreadtrum取得ワークフローの一部であり、実行が簡単で比較的高速です。いくつかのドライバをインストールし、UnisocデバイスをSPDモードに入れ、プロセスを開始するだけです。
MediaTek(MTK)ブルートフォースの特徴
MediaTek SoCは多くの種類のAndroidデバイス(特にXiaomi、Vivo、Oppoなどのミッドレンジ電話)を動かしています。これらのデバイスの多くは専用のセキュア要素を持たず、セキュリティのためにTEEのみに依存しています—そして重要なことに、MTKのBootROMにはブルートフォース攻撃への扉を開く既知の脆弱性があります。具体的には、セキュアブートが実装される前に署名されていないコードをアップロードして実行することを許可します。
Belkasoft Xは、多くのMTKチップセットベースデバイスのブートプロセスに侵入できる取得ワークフローを提供します。Unisocベースデバイスと同様に、ブルートフォースプロセスがオフラインで実行できるように物理デバイスイメージと暗号化コンテンツをダウンロードします。
MTKを正常にブルートフォースするには、MTKとの低レベル通信機能のためのドライバをインストールし、その後デバイスをBootROMモード(または一部のデバイスではPreloaderモード)に入れる必要があります。全体のプロセスには追加の前提条件ステップが含まれ、Unisocブルートフォースよりも多くの注意が必要ですが、それでも実行が比較的簡単で、かなり迅速に動作します。
Kirinブルートフォースの特徴
主にHuaweiとHonorデバイスで使用されるHiSilicon Kirinチップセットは、やや異なる状況を提示します。Huaweiのフラッグシップ電話は、しばしば強固なセキュリティ(独自のTEE実装を含み、新しいモデルでは支払い用の統合セキュア要素も含む)を備えています。MTKやUnisocとは異なり、KirinのBootROMエクスプロイトはそれほど多く公開されていません。代わりに、DFIRツールはHuaweiのデバイス固有のエンジニアリングモードとブートローダーの脆弱性を使用します。
Kirinベースデバイスをブルートフォースするには、USBダウンロードモード(COMポートモードとも呼ばれる)に入れる必要があり、これによりデバイスとのUSB通信が可能になり、ブルートフォース攻撃に必要なコンポーネントへのアクセスが提供されます。このモードを有効にするには手動の作業が必要です:デバイスを開き、テストポイントを見つけ、細いピンセットを使ってショートさせる必要があります。
Belkasoft Xは現在、Kirin 970および980チップセットで動作するデバイスのブルートフォースとデータ取得をサポートしています。このプロセスはオフラインで実行され、かなり高速で安全です。取得ワークフローは、デバイスがいくつかのセキュリティパッチを受信したかどうかに依存します。一部のモデルはUSBで接続できず、一部はUSB通信を開始するためにHarmony TCPケーブルが必要で、一部はUSB-Cを介して直接接続します。Belkasoft Xが何をすべきかを教えてくれます。
最後の考え:ロックされた証拠を諦めないでください!
ほぼすべてのデバイスには、ハードウェアまたはソフトウェアの脆弱性があります。しばしば使い捨て電話として使用される安価で古いデバイスは、通常ブルートフォースと取得により脆弱ですが、高品質のAndroidデバイスは通常要塞のように堅固に構築されています(これは駄洒落です)。
エクスプロイトを見つけることは簡単ではなく、研究と実装に時間がかかります;これが多くのブルートフォース方法が古い電話やタブレットモデルのみを対象とする理由です。しかし、それでもロックされた証拠を諦めるべきではありません!
想像してみてください:非協力的な容疑者のロックされた電話を手に入れます。それは新しいモデルで、完全にアップデートされており、クラックするのが困難です。しかし、調査中に別のデバイスが見つかります—容疑者が数年前に放棄した古い電話です。それもロックされていますが、今度はあなたのDFIRツール(おそらくBelkasoft X)がそれをサポートしています。ここがポイントです:人々はしばしば同じパスワードを何年も、時には何十年も使用します。したがって、古いデバイスのパスワードが新しいデバイスと同じである可能性が高いです。
忍耐、創造性、そして適切なツールは、行き詰まりを成功に変えることができます。Belkasoft Xがサポートするデバイスモデルを確認してください:https://belkasoft.com/brute。もしかすると、そのうちの1つがあなたの証拠コレクションの棚でほこりをかぶっているかもしれませんか?
よくある質問
Belkasoft X のモバイルパスコード・ブルートフォースモジュールとは?
画面ロックをブルートフォースで推測し、モバイル端末を自動的にアンロックするためのモジュールです。ブートチェーンやTEEの低レベル脆弱性を活用して鍵マテリアルを取得し、Androidの試行回数制限や遅延を回避したオフライン推測を実行します。
Androidのロック画面ブルートフォースは一般的にどう動作しますか?
Androidでは、データ鍵はTEE内でデバイス固有の秘密とユーザーのロックコードから導出されます。Belkasoft Xは起動初期のチップセット特有の脆弱性を突き、鍵マテリアルを取得して、ユーザーデータに触れずにオフラインでパスワード推測を行います。
Unisoc(Spreadtrum)向けアプローチの特徴は?
一部のUnisoc SoCには、Spreadtrum Download Mode(SPD)経由でBootROM実行を許す脆弱性があります。Belkasoft Xはこれを利用して鍵マテリアルを抽出し、オフラインで推測を実施します。BootROMはROM内にあるため、ソフトウェア更新では修正できません。
通常は、ドライバの導入→SPDモードへの移行→Belkasoft Xのワークフロー実行、という手順です。
MediaTek(MTK)向けアプローチの特徴は?
一部のMTKチップセットでは、セキュアブート適用前に未署名コードのロード/実行が可能です。Belkasoft Xはブートチェーンを中断してイメージと鍵マテリアルを抽出し、ロック推測をオフラインで実行します。
多くの場合、MTKの低レベルドライバ導入とBootROM/Preloaderモードへの移行が必要で、Unisocより準備は多めですが、再現性と効率性に優れます。
Kirinベースの端末はサポートされていますか?
はい。Kirin 970/980など複数モデルでブルートフォースと取得のシナリオに対応しています。物理イメージ、キーストア、FBE復号鍵の取得が可能で、コード回復後の解析を容易にします。
ユーザーデータに対して安全ですか?データ損失のリスクは?
抽出した鍵マテリアルを用いたオフライン推測であり、端末上のライブデータには操作しないため、改変や損失の可能性を最小化します。電源/ネットワーク隔離、シールド、状態保存、記録などのDFIRベストプラクティスは遵守してください。
推測速度に影響する要因は何ですか?
スタック/チップセットのKDFの複雑さ、ワークステーション(CPU/GPU)の性能、ロック種別と桁数(PIN/パスワード/パターン)に依存します。
Androidの試行制限や遅延は影響しますか?
いいえ。モジュールはAndroid標準機構の外でオフライン実行されるため、制限や遅延の影響を受けません。まずチップセットに応じた低レベルアクセスを確立し、その後ワークステーション側で推測を行います。
開始に必要なドライバやモードは?
Unisoc:SPDドライバとSpreadtrum Download Mode。MTK:VCOM/PreloaderドライバとBootROM/Preloaderモード。Kirin:Belkasoft Xのウィザードに従った手順。いずれもBelkasoft Xの取得フローから開始します。
復号済みファイルシステムイメージを直接取得できますか?
はい。対応シナリオでは、復号鍵を抽出し、FBE/FDE端末の復号済みファイルシステムコピーを生成できます(特定のMTK/Kirin/Unisocモデルに該当)。アーティファクト解析を加速します。
このモジュールは他のBelkasoft X取得手法と併用できますか?
はい。論理取得(ADB、エージェントベース、MTP/PTP)、APKダウングレードによるアプリ抽出、チップセット特化の物理取得などの総合ツールセットに統合されています。侵襲性の低い方法から始め、必要に応じて段階的に強化してください。
対応チップセット/端末の一覧はどこで確認できますか?
Belkasoft Xのドキュメント、仕様、リリースノートをご確認ください(MTK、Kirin、Unisoc等の最新カバレッジ)。取得前に「What’s new」で対応状況と制限を確認することを推奨します。