Trevor Spiniolasと呼ばれるセキュリティ調査で、バグに関する情報が公開されました 彼は主張する 少なくともバージョン14.7以降、AppleのiOSオペレーティングシステムに存在しています。
バグは ホーム アプリ、Appleのホームオートメーションソフトウェア。Webサイト、ドアベル、サーモスタット、電球など、Appleをサポートするホームデバイスを制御できます。 HomeKit 生態系。
Spiniolasはバグを吹き替えました ドアロック、ロゴと専用のWebページの両方を提供し、2021年01月にAppleに開示したものの、これまでのところパッチを適用する試みは不完全であり、2022年XNUMX月XNUMX日の「稼働」の指定期限であると主張しています。欠陥の詳細があります 合格しました:
このバグはユーザーに深刻なリスクをもたらし、包括的な修正なしで何ヶ月も経過しているため、不適切に処理されていると思います。 一般の人々は、この脆弱性と、それが悪用されるのを防ぐ方法を知っておく必要があります。
このバグが本当にあるかどうかについては、自分で考えなければなりません。 「深刻なリスクをもたらす」、しかしこの記事では、とにかく問題に対処する方法を説明します。
幸いなことに、このバグにより、攻撃者は携帯電話(またはHomeKitデバイス)をスパイしたり、パスワードや個人メッセージなどのデータを盗んだり、マルウェアをインストールしたり、不正なオンライン料金を請求したり、ネットワークを混乱させたりすることはできません。
また、Appleが完全な修正を思い付くのを待つ間、そもそもこのバグに噛まれないようにする簡単な方法がいくつかあります。
悪いニュースは、攻撃者があなたをだましてバグを引き起こした場合、あなたがしなければならないほど応答しない電話になってしまう可能性があるということです ファームウェアのリセット デバイスに戻ります。
そして、おそらくすでにご存知のとおり、あるいは、知らなかったとしても、もうご存知でしょう。 – を使用して デバイスの回復 または DFU ( ファームウェアの直接更新、USBケーブルを介して扱いにくいiDeviceのファームウェアを完全に再初期化する場合)は、最初にすべての個人データを自動的に消去します。
デバイスを再初期化するときにデータをワイプすることは機能であり、バグではありません。泥棒が単に電話をつかみ、ハードリセットと独自のDFUを実行し、回復したばかりのデバイスから古いデータを読み取るのを防ぎます。 '。 安全なストレージに保持されているランダムに選択されたパスフレーズを使用して、独自のロックコードを設定しなくても、Appleモバイルデバイスは常にデータを暗号化するため、データのワイプは迅速かつ信頼性が高くなります。 したがって、デバイスからこのパスフレーズをワイプするだけで、デバイス内のすべてのフラッシュストレージの上書きを待つ必要がなく、暗号化されていないデータが残されているかどうかの不確実性なしに、すべてのデータを一度に役に立たなくすることができます。
どのデバイスが影響を受けますか?
Spiniolasは言っていないが、これと同じバグがiPadOSに存在すると想定している。iPadOSはバージョン13以降iOSとは別に出荷されているが、常にバージョン番号は一致している。
また、このバグがどこまでさかのぼるのかもわかりません。前述のように、Spiniolasは「iOS14.7から」と言っています。これは、彼がテストできた最も古いバージョンであると推測されます。
Appleは、悪用可能なセキュリティホールを故意に再導入するために、ジェイルブレーカーになる可能性のある人が既知のバグのあるiOSバージョンに戻るのを防ぐ方法として、iPhoneとiPadのダウングレードを許可していません。
バグの原因は何ですか?
Spiniolasの説明によると、このバグは、AppleのHomeアプリがその範囲内で非常に長い名前(たとえば、90,000文字以上)を持つHomeKitデバイスに遭遇した場合にトリガーされます。
そのため、このバグは昔ながらのように聞こえます バッファオーバーフロー、「最悪の場合」のシナリオとして最初に割り当てられたよりも多くのデータがメモリに保存され、せいぜい問題のあるプログラムがクラッシュし、最悪の場合、制御可能な方法で誤動作するように仕向けます。
前者の結果-完全なクラッシュ-は通常、 サービス拒否 (DoS)バグ。攻撃者が意図的にアプリをクラッシュさせ、場合によっては何度も何度もクラッシュさせて、不便や完全なトラブルを引き起こす可能性があります。
後者の結果では、攻撃者がクラッシュを十分に制御して、バグのあるプログラムを完全に乗っ取り、実行中のプログラムを自分で選択した信頼できないソフトウェアに置き換えることができます。 リモートコード実行 (RCE)。
RCEは通常、スパイウェアやマルウェアの埋め込みに使用され、DoSよりもはるかに深刻な危険であることは明らかです。
現時点では、Spiniolasのクラッシュが完全なRCEエクスプロイトに確実に使用される可能性がある、またはRCEにつながる可能性があるという示唆はありません。
しかし、サイバー犯罪者がどこから探し始めるかを知っているという事実は、このバグを回避する価値が二重にあります。
バグはどのようにトリガーされますか?
HomeKitネットワーク内のホームデバイスの100,000つを故意に名前を変更して、名前が約500,000文字以上になると(Spiniolasは実験でさまざまに90,000文字とXNUMX文字を使用しました)、Homeアプリは、後で対処しようとすると明らかにロックされます奇妙な名前のデバイスで、最終的にクラッシュします。
Spiniolasによると、Appleは最近、Homeアプリにパッチを適用して、デバイスの名前をばかげて長い名前に変更しないようにしました。
Buパッチは、アプリの最新バージョンがすでに長すぎる名前を持つデバイスにひどく反応するのを止めないようです。また、パッチが適用されていないデバイスを悪意のある人が使用して、あるアプリを見つけるのを止めないのは明らかです。
Spiniolasはこの問題について明確ではありませんが、彼のレポートから、パッチが適用されていないバージョンのHomeアプリは、非常に長いHomeKitデバイス名を設定しようとしているときにクラッシュすることがありますが、クラッシュしないか、後でのみクラッシュすることがあると推測しています。非常に長い名前が適用されています。 Spiniolasは、Appleデベロッパアカウントを使用して自分のデバイスにローカルにインストールできるXNUMX回限りのiOSアプリを作成し、デバイスにパッチが適用されているかどうかに関係なく、規制されていない方法でHomeKitデバイスの名前を変更する方法も示しました。 したがって、非常に長いHomeKitデバイス名を自分で設定できない場合でも、攻撃者が設定できると想定する必要があります。
コントロールセンターのトラブル
残念ながら、AppleでHomeアプリを有効にしている場合は、Spinioloas氏は言います コントロールセンター (iPhoneのバージョンに応じて、画面の上部または下部からスワイプすることでいつでも表示できる、いつでも利用できるメニューシステム)。その後、電話を起動するたびにアプリがバックグラウンドで自動的に読み込まれます。
これは、デバイスが永続的な「lockup-crash-try-again-lockup-crash-ad-infinitum」ループに入り、時間がないうちに使用できないほど応答しなくなる可能性があることを意味します。 設定 メニューを選択し、コントロールセンターからホームを削除します。
キャッチ22!
設定アプリにアクセスすると、コントロールセンターの制御を取り戻すことができます。 ただし、設定アプリにアクセスするには、最初にコントロールセンターの制御を取り戻す必要があります。
そのため、Spiniolasは、ジレンマから抜け出す唯一の方法は、応答しないデバイスで回復またはDFUを実行することであると主張しています。
これによりすべての個人データが削除されるため、iCloudアカウントに初めてサインインしてHomeKitの詳細が携帯電話に再ダウンロードされるまで、Homeアプリに表示されるHomeKitデバイス名はなくなります。
これにより、クラッシュを引き起こすHomeKitデバイス名が携帯電話に表示される前に、設定アプリにアクセスし、コントロールセンター画面からホームアプリを削除する機会が与えられます。
問題のあるデバイスの名前を変更して、もう一度安全に制御できるようにすることに関して、Spiniolasは、Appleを使用してカスタムアプリをインストールする必要があることを提案しています(GitHubページで「自己責任で」使用できるサンプルコードを提供しています)。開発者アカウント、およびそのアプリを使用して名前を変更します。
何をするか?
不条理なデバイス名を誤ってHomeアプリにコピーアンドペーストしてから意図的にタップする可能性が低いことを考えると、自分のHomeKitネットワークでこのバグが誤ってトリガーされる可能性はほとんどないと考えています。 [Save]
奇妙な名前をHomeKit構成にコミットします。
したがって、スタックが解除される可能性が最も高い方法は次のいずれかです。
- HomeKitネットワークへのアクセスをすでに許可している人が、バグをトリガーすることにしました。 信頼できる隣人や家族を賢く選んだ場合(そして、サイバー犯罪者やスリから携帯電話を安全に保つために彼らを信頼している場合)、このリスクは非常に低いはずです。
- 自分のネットワークがバグを引き起こす誰かからのHomeKitネットワークへの招待を受け入れます。 他人のホームオートメーションネットワークへのアクセスを重要な個人的責任として扱うと仮定すると(これはそうです!)、このリスクも非常に低いはずです。
言い換えれば、この問題を軽減するのは簡単です。
- HomeKitネットワークにアクセスできる人の数を最小限に抑えます。 とにかくこれを強くお勧めします。
- 自分で招待を受け入れるHomeKitネットワークの数を最小限に抑えます。 とにかくこれを強くお勧めします。
- Apple ControlCenterからHomeアプリを削除します。 設定 > コントロールセンター > コントロールのカスタマイズ。 場合 ホーム に表示されます
INCLUDE
リストの横にある赤いマイナス記号をタップしてから、赤をタップします[Remove]
右側に表示されるボタン。 (下の画像を参照してください。) - iPhoneデータの定期的なローカルバックアップを作成します。 これは、iTunesを使用してMacまたはWindowsコンピュータで実行できます。 Linuxでは、さらに簡単です。
idevicebackup2
いつでも完全バックアップを作成するユーティリティ。 写真、ビデオ、メッセージ、オーディオファイルなどの定期的なローカルコピーを保持するためにAppleアカウントは必要ありません。 データを暗号化されたリムーバブルドライブに保存すると、オフラインとオフサイトの両方に保存でき、緊急時には、AppleログインやAppleデバイスが機能していなくてもiPhoneデータにアクセスできます。
次のステップ
私たち自身はホームオートメーションのファンではないため、練習用のiCloudアカウントやHomeKitネットワークはありません。
その結果、ブラウザからHomeKitデバイスを管理する方法があるのか、それともバグのあるHomeアプリをうまく回避するApple以外のデバイスから管理する方法があるのかをアドバイスすることはできません…
…したがって、HomeKitユーザーであり、他の読者への提案がある場合は、以下のコメントでお知らせください。