web-dev-qa-db-ja.com

Apple vs DOJ-10回のワイプブルートフォースバリアはどれくらい強いですか?

好奇心から、他の初心者やジャーナリストを助けることを期待して。

現在のApple vs DOJスタンドオフの要約-Appleは、彼らが求めているようなものは「作成するには危険すぎるもの」です。ワシントンポストからの引用付きの要約:

注文では、Apple=で電話の暗号化を解除するように求めているのではなく、パスワードの入力を10回間違えた後に電話のデータをワイプする機能を無効にするよう求めています。これにより、政府は「ブルートフォース」を使用してパスワードを解読する。

ブルートフォース機能が無効になっているそのようなiphone osのバイナリは、そのバイナリを所持している誰もが、所持しているiphoneをフラッシュするだけでブルートフォース攻撃を開始できます。

このブルートフォース保護が弱いパスワードの補正として機能すると仮定します(実際にゲームが10回試行後に終わった場合、バーはかなり低く設定されています)。

次の大まかな試みはどの程度実現可能でしょうか。

  1. 電話データの複製
  2. クローンされたイメージをエミュレータ/仮想マシンで実行する
  3. クラスターは、一連のVMに対してオンライン攻撃を実行します。

Apple iphoneのセキュリティに関するホワイトペーパーで述べているように、仮想化を妨げる問題は、ハードウェアIDへのすべてのつながりであり、その抽出は「複雑で高価」です。

ハードウェアIDの抽出が成功すると、同時に(オフライン)攻撃の新たな道が開かれると想定して、私は正しいのですか?

この設計のセキュリティはどれほど堅固(読み取り:将来性)ですか?ハードウェアIDの抽出は常に「複雑すぎて高価」と見なされますか?

8
Multicon

編集2:より正確で最新の情報に基づくディスカッションについては この質問 を参照してください。

編集: この質問 も参照してください。これには、実際のリクエストからの引用とともに、これに関する多くの議論があります。

この問題は、単純なクローンで解決できる問題よりも複雑かもしれません。最近のiDevicesには、隔離されたセキュリティプロセッサであるセキュリティエンクレーブが付属しています。

通常、このようなプロセッサには、キーマテリアルを格納するために使用される独自のオンボード不揮発性メモリがあります。すべての暗号化/セキュリティ関連の操作はこのプロセッサ内でのみ発生し、暗号化キーがチップを離れることはありません。

これで、メインディスク/フラッシュメモリを完全に暗号化できるようになり、フラッシュチップ全体を上書きするのではなく、エンクレーブ内で「ワイプ」を実行するだけで済みます。

この種のスキームでは、フラッシュをコピーするだけでは明らかにまったく役に立たないため、攻撃者/ FBI/DOJもセキュリティエンクレーブを危険にさらす方法を見つける必要があります。

だからこそAppleの協力が必要だ。セキュリティエンクレーブプロセッサはファームウェアを実行する必要があります。ファームウェアはしばしばフィールドで更新可能です。セキュリティは通常、ファームウェアのベンダーの署名を確認することによって保証されます。裁判所命令はおそらく、ブルートフォースを可能にする安全でないバージョンのファームウェアに署名するように強制的にApple=することを試みています。

これの副作用も明らかです。ファームウェアを手に入れれば誰でもシステムの最も安全な部分を完全に迂回し、TouchID指紋やApple Payカードの詳細もセキュリティエンクレーブに保存されている)などの非常に機密性の高いデータを盗むことができます。

4
billc.cn

記事全体(DOJの背後にあるテーマ)は幅広いものです。たとえば、パスワードを定義します。 PIN使用、または試行済みの真のパスワード。それがPINパスワード(数字)に使用)の場合、これは問題にはなりません。問題が発生するのは正真正銘のパスワードだと思うので、これがどのように機能するか、なぜ電話のクローンを作成するのかについての私の理論は機能しません。

パスワードの作成->キーチェーンに保存

携帯電話の電源を入れ、携帯電話からPIN /パスワードの入力を求められたら、入力内容と保存されているものを比較する必要があります。リモートで保存するのは設計上ひどいでしょう。 (接続がゼロの場合はどうなりますか)。

CLONE:つまり、電話のクローンを作成しました。データを消去する前に、N(10)回の試行があります。あなたは失敗します。別のクローンを取り、すすぎ、繰り返します。 (今、いくらですか?)

これを試すために、いくつのクローンをクローンしてくれますか?パスワードが8文字(合計で37.2ビットのエントロピー)であるとしましょう。

a = combination of letters and numbers only
b = only the alphabet
c = only numbers

(a)368 −(b)268 −(c)108 合計2.612182 x 1012 組み合わせ(a、b、cのみを使用した場合。その結果を10で割ります。これは、と考える場合に作成する必要があるクローンの総数ですパスワードは8文字です。クローンを保存するために必要なスペースは言うまでもなく、多くのクローンを作成しようとすると、時間を使い果たしてしまいます(私の計算はここから外れそうですが、要点が表示されます)。答えは、クラスタリング、VMイメージングなど)です。

[〜#〜] sidenote [〜#〜]おそらく Cellebrite は、イメージングのためにiOSでも取得できるはずです。私はUFEDを使用していませんが、Cellebriteが物事を構成している(それらが私の最初の選択肢となるため)か、または始めたときと同様に、表現は非常に広範であり、政府は他の何かの後にあります。

概要?生成できるクローンの数に関係なくブルートフォーシングする考えるとは、時間とお金の大きな浪費です。あなたが何に対抗しているのかわからないことを考えると。私の個人用メールのパスワードは26文字です。それはただ一つのパスワードです。それを総当たりする幸運。ブルートフォーシングのためのクローン作成の思考プロセスで私が多少助けてくれたことを願っています。

2
munkeyoto