キャラクターの脆弱性:シンプルなメッセージがどのように電話のエラーにつながるか

画像

映画「マトリックス」(1999)からのショット



現代のスマートフォンの機能を背景に、モバイル通信は非常に古い技術であることを忘れがちです。 ショートテキストメッセージングだけの概念は、30年以上前に開発されました。 2018年にSMSの作成を開始した場合、おそらく1つのメッセージを160文字(7ビットエンコード)に制限しません。



コミュニケーションは、作成時に定められた制限を継承するだけではありません。 隠された明白なエラーの多くは、遠いモバイルの過去から始まり、何年もその時間を待っています。 時間が経つにつれて、新しいハードウェアまたはソフトウェアの欠陥が追加されます。 現代のスマートフォンは一種の「フランケンシュタインのシリコン作成」であり、そのコンポーネントは、AppleとGoogleによってコードが完全に制御されていないサードパーティ企業によって作成されます。



このような状況では、現代の通信(およびモバイルアプリケーションとハードウェア)の主な欠点の1つが、さまざまなデバイスの障害につながる単純な脆弱性の存在であることは驚くことではありません。 文字通り、1000ドル以上の価値のある最新のガジェットの画面を文字通り消すのに十分です。 年々、脆弱性は何度も悪用されています。 今日は、これがどのように起こるかを詳しく見ていきます。



死のSMS



画像

c



ハッカー、研究者、および単に好奇心の強い開発者は、単純なソーシャルエンジニアリングから、ユーザーとの複雑な対話を必要としないまれな攻撃の発見にますます切り替えています。 多くの人は、未知の連絡先から受け取ったリンクにすでに警戒しています。 ただし、ほとんどの場合、SMSまたはインスタントメッセンジャーを介して受信した単純なテキストメッセージが依然として信頼されています。



悪意のあるサイトへのリンクがないからといって、他の方法でエラーを開始できないわけではありません。 モバイルアプリケーションが正しく機能するためには、数百の言語の数千の文字を理解して正しく表示する必要があります。 そして、これらが珍しい綴りのまれな言語である場合は? 脆弱性の理想的なフィールド。



テルグ語インド言語のUnicode文字の再現に関連するエラーは非常に有名でした。 この問題は、デフォルトのフォントSan Franciscoを使用するアプリケーションのiOSの一部のバージョンで発生しました。 わずか数జ్ఞాの文字で、ユーザーはメールやFacebookを含む多くのiOSアプリの制御を失いました。 テルグ語の文字の1つがポップアップ通知に表示された場合、SpringBoardはブロックされました-iOSのメイン画面を担当するアプリケーション。



システムの崩壊につながる文字を変更する際のエラーは、テルグ語、ベンガル語、および他のいくつかの方言の特性あります 。 言語の特徴ではない文字の特定の配置が存在する一方で、それは、書き込みの要素-グリフからの象形文字の連続的な構成で構成されています。 結合接尾辞の子音への変換は失敗します。テルグ語の音節文字の2番目の子音が最初の子音に付加され、単語の形式を大幅に変更せずに結合される場合。 グリフの非互換性により、デバイスプロセッサが処理できないエラーが発生します。



別のテキストメッセージ-للصبللصبررॣॣhॣॣ冗長-また、iPhoneをクラッシュさせます。 これらのエラーの一部は、画面上の長いメッセージを減らす機能に関連しています。 アラビア語や中国語など、非ラテン語で書かれたテキストメッセージの途中に文字を入力すると、システムがクラッシュして電話が再起動する可能性があります。



これらの場合、犯人はユニコードだけでなく、 コアテキスト -ユニコードで見つかったタグに基づいて電話の画面に文字を表示するためにAppleが使用するシステムでした。 Core Textはグリフを生成し、それらを互いに相対的に配置します。 グリフの重複ルールは、TrueTypeおよびOpenType形式で明確に説明されています。



エラーが発生した場合、 Core Textは 、Unicodeが文字通りできないことを「要求」すると「考え」ます。存在しない文字を表示し、無数の書記素を作成します。 Core Textが命令を意味すると思われることをしようとすると、プロセスはすぐにすべての空きRAMを使用し始めます。 iPhoneは、メモリの使用量が多すぎることを「認識」し、「有罪」プロセス(携帯電話のデスクトップであるスプリングボード)を閉じます。



過去の遺産



画像

c



モバイルネットワークにテキストメッセージが存在するのとまったく同じように、脆弱性が存在します。 シンボルを扱ういくつかの機能は、特別なコードを使用してネットワークまたは電話に関する高度なデータにアクセスできるようにするために、すぐに「機能」として規定されました。 たとえば、Androidでは、コード##*#4636#*#*は、拡張バッテリー測定値やWi-Fi接続のデータなど、さまざまな情報へのアクセスを可能にします。



「%English」などの文字(または引用符と%記号とともに電話の言語メニューの別の単語)を含む単純なテキストメッセージによってシーメンスの携帯電話が「殺された」瞬間(2002年)を見つけたのでしょう。



電話通訳者がSMSメッセージを受信し、そのテキストの解析を開始すると、サービスコマンドと同一の記録に直面しました。 text%Englishは、メニュー言語を変更するコマンドとして電話で解釈されました。 電話はこのコマンドを実行しようとしましたが、実行できませんでした。プロセッサがメッセージのテキストを直接読んでいるためです。



Nokia、Siemens、Motorola、LGの多くのモデルは、特別なテキストを含むSMSを介した攻撃を受けやすくなりました。 Unicode文字の特定の組み合わせを使用すると、電話をリモートで切断または「電話を切る」ことができました。



Nokia 6210、3310、3330モデルは、 次のテキストのいずれかでSMSメッセージを送信することにより、リモートで無効にできます。



0x04 0x05 0x15 0x8A

%RPT

%I :::::。M :::::。G



Motorola c350およびc100モデルは、次のテキストに依存していました。



0x04 0x05 0x15 0x8A



さらに、SMSを介してグラフィックを転送する機能が積極的に活用されました。 画像コードでは、電話が「読み取る」ことができない特殊文字が登録されたため、システムが崩壊しました。



%IMG .....................

………………………

……………………。



%IMGシンボルは、それらの後に画像が画面に表示されることを意味します。 インタープリターが後で画像に変換できる文字の代わりに、通常は画像のエンコードに使用されない任意のバイトシーケンスを指定すると、ほとんどの場合、電話がフリーズします。



最も広く知られている脆弱性



画像

c



Androidの5番目のバージョンを実行しているすべてのデバイスは、ロック画面にパスワードを入力せずにシステム障害およびロック解除に対して脆弱でした。 これを行うには、パスワードフィールドに多数の文字をオーバーロードするだけで十分でした。



別の攻撃は、Androidデバイスの95%に影響を及ぼしました -2015年には約9億5,000万のガジェット。 メディアライブラリに敬意を表して「Stagefright」と呼ばれるバグは、Androidセキュリティシステムバージョン2.2以降の最大の穴の1つであることが判明しました。



データを盗んだり、マイクとカメラを制御したりするために必要なのは、マルウェアを含むMMSの形式でマルチメディアメッセージを送信することだけでした。 同時に、ユーザーはデバイスが侵害されていることを知らなかった可能性があります-悪意のあるMMSをリモートで削除できます。 この脆弱性はStagefrightライブラリのC ++コードにあり、誤ったメモリアクセスを伴ういくつかの一般的なメディアフォーマットを処理しました。



同じ脆弱性の両面



画像



通常、アプリケーションの1つのバージョンまたは1つのプラットフォームのみに影響を与える、対象を絞った攻撃について話します。 しかし、例外があります。 そのため、特にSafariブラウザーの場合、サイト crashsafari.com Appleデバイスで作成され、そのURLはアドレスフィールドに非常に長い文字列を生成し、デバイス全体でブラウザーを再起動しました。 ただし、Chromeブラウザーを使用したAndroidデバイスも不安定に動作し始め、非常に熱くなりました。



iOSとAndroidの両方で機能する別のエラーがありました。 4つの文字が特定の順序で配置されたテキストメッセージは、iOS 10で問題を引き起こしました。これは、絵文字の白旗、不可視のシンボルVS16(可変セクター16)、ゼロおよび別の絵文字シンボル-虹です。 iPhoneは、ユーザーがメッセージを開いたり読んだりしなかった場合でも、テキストを受信するとすぐにフリーズします。



VS16チームは、いくつかの絵文字を1つの特定の絵文字に自動的に結合しますが、これは標準の絵文字セットにはありません。 ガジェットがそのようなメッセージを受信した後、iMessageは2つの絵文字を1つに結合しようとしますが、VS16には束に数字のゼロが含まれているため、デバイスはコマンドを処理できず、フリーズします。



一部のAndroidスマートフォンでもこのエラーが発生しやすいことが判明しました。 ただし、WhatsAppでしか使用できませんでした。WhatsAppで悪意のあるメッセージが開かれた場合、デバイスはフリーズします。






象徴的な脆弱性は、すべての携帯電話で最も一般的で長命の間違いであるという印象を受けます。 ただし、確実な保護方法があります。セキュリティ更新プログラムをスキップせずに、インストールされているOSのバージョンの関連性を個別に監視しないでください。



All Articles