コンテンツへスキップ

独占インタビュー:SMSによるiPhoneのハッキング

    1652314862

    序章

    最近、Independent SecurityEvaluatorsのセキュリティ専門家であるCharlieMillerと、悪意のあるハッカーが一連の慎重に作成されたSMSメッセージを介してiPhoneを制御することを可能にする、最近公開されたiPhoneの脆弱性について話しました。

    アラン:おしゃべりに時間を割いてくれてありがとう、チャーリー。SMSの脆弱性について少し話してみませんか?

    チャーリー:iPhoneのバグは、電話に一定量のデータがあることを伝えてから、あなたが言ったほど多くのデータを送信しないことに関係しています。データを読み取る関数は、エラーを示すために-1を返し始めますが、プログラムの他の部分はこのエラーをチェックせず、実際には-1がメッセージからのデータであると見なします。これは、安全なコードを書くことがいかに複雑であるかを示しています。個別に、プログラムの各部分は正しく見えますが、それらが相互作用する方法は危険です。

    とにかく、送信する内容に応じて、さまざまな悪いことが起こる可能性があります。ある時点で、-1バイト(0xffffffff-非常に大きな数と見なされます)を割り当てようとしているため、終了させることができます。これは、電話を一時的にネットワークから切断するサービス拒否です。  

    BlackHatの講演中、私たちはこのサービス拒否メッセージを10秒ごとに聴衆からのボランティアに送信し続け、彼をネットワークから遠ざけました。残念な結果として、メッセージはネットワーク上で頭出しされていて、彼の電話は話の数時間後にまだノックオフされていました。それ以来、彼は立ち上がって走っています。

    アラン:読者への注意:チャーリーがボランティアが必要だと言うときはいつでも、アイコンタクトをしないでください。では、どのようにメッセージを送信しましたか?別のiPhoneのSMSインターフェースを介して送信しましたか、それとも「電話番号@attwireless 」アプローチを電子メールで送信するようなことをしましたか?

    チャーリー:キャリアネットワークを介してSMSを送信するために、攻撃用iPhoneに、GSMATコマンドを使用してモデムと通信する小さなアプリケーションがありました。バグのテストと発見には、共同プレゼンターのCollin Mullinerが作成したこの非常に優れたインジェクションフレームワークを使用しました。これにより、TCP経由でデータを送信するだけでSMSメッセージの実装をテストできます。これにより、キャリアネットワークを介してデータを送信する必要がなくなり、費用もかかりません。また、多くのメッセージを非常に迅速にテストできます。

    アラン:では、サービス拒否から完全なエクスプロイトにどのように移行しますか?

    チャーリー:最悪のケースは、プログラムが連結されたメッセージを処理する方法に関係しています。これは、一度に140バイト以上を送信する方法です。一連のメッセージで長いメッセージを送信すると、電話はそれを1つの長い文字列に再構築します。データの値に基づいて配列にアクセスします。-1を読み取ると考える場合、実際には、配列ではなく、配列の前のメモリにアクセスします。物事を適切に設定し、注意を払うことで、実際にこれを活用してデバイスを完全に制御できます。

    攻撃全体で500を超えるメッセージが送信されますが、被害者は電話に表示されないため、送信されていることを知りません。これらのメッセージのほとんどは、「適切に」設定することと関係があります。それらの16は、実際には範囲外の配列にアクセスします。

    0 0 votes
    Rating post
    Subscribe
    Notify of
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x
    ()
    x