IBM、「Android」に脆弱性を発見--任意のコード実行のおそれ

Chris Duckett (ZDNET.com) 翻訳校正: 編集部

2015-08-12 11:32

 IBM X-Forceが、「Android」のデシリアライゼーション処理に存在する脆弱性を発見した。任意のコード実行と特権昇格を誘発するという。

 セキュリティ研究者のOr Peles氏はブログ投稿でこの脆弱性について説明し、55%以上のAndroid端末(「Android 4.3」~「Android 5.1」)と次期「Android M」リリースの最初のプレビュー版がこの脆弱性の影響を受ける、と述べた。

 この脆弱性を突くことで、攻撃者は標的の端末で実行中のアプリケーションを置き換えて、データを抽出し、SELinuxポリシーを変更してSELinuxを回避することができる。一部の端末には、悪質なカーネルモジュールをロードすることも可能だ。デモ動画の中で、IBMは実際にFacebookアプリを別のアプリに置き換えた。

 「今回発見された脆弱性の原因は、任意のアプリのメモリスペースでのオブジェクトデシリアライゼーション中に攻撃者がポインタ値を制御できることにある。ポインタ値はランタイムのガベージコレクタが呼び出すネイティブアプリコードによって使用される」(Peles氏)

 Peles氏とそのチームは、システム全体で利用可能な「OpenSSLX509Certificate」という脆弱なクラスを発見した後、任意のコードを実行することができる概念実証を構築した。

 Peles氏とIBM Securityの同僚であるRoee Hay氏は、「これは非対称な戦いである。なぜなら、デフォルトのAndroidクラスローダーで利用可能な脆弱なクラスを1つ悪用するだけで、すべてのアプリ(または1つの高度な特権を持つサービス)を攻撃できるからだ」と書いている

 同チームは、この脆弱性がAndroidや「Google Play Services」だけでなく、複数のサードパーティー製ソフトウェア開発キット(SDK)にも存在することを発見した。それらのSDKの共通点は、SWIGを使用していることだ。

 Peles氏によると、Googleは「Android 4.4」「Android 5.0」「Android 5.1」「Android M」でこの問題を修復済みで、サードパーティーのSDKはtransient修飾子の追加、コードの修正によるSWIGの使用停止、または、シリアライゼーションプロセスを使用するメソッドのオーバーライドによって、この脆弱性を修復済みだという。

 「生成された脆弱なコードは、開発者によって与えられた稚拙な構成が原因なので、われわれはSWIGが脆弱だとは考えていない。これは、バッファオーバーフローをコンパイラのせいにするようなものだ。しかし、最も有能な開発者でも、自分が誤ってシリアライズ可能なクラスを拡張してしまったことを見逃すことはある」(Peles氏)

この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    迫るISMS新規格への移行期限--ISO/IEC27001改訂の意味と求められる対応策とは

  2. セキュリティ

    警察把握分だけで年間4000件発生、IPA10大脅威の常連「標的型攻撃」を正しく知る用語集

  3. セキュリティ

    まずは“交渉術”を磨くこと!情報セキュリティ担当者の使命を果たすための必須事項とは

  4. セキュリティ

    いま製造業がランサムウェアに狙われている!その被害の実態と実施すべき対策について知る

  5. セキュリティ

    VPNの欠点を理解し、ハイブリッドインフラを支えるゼロトラストの有効性を確認する

ZDNET Japan クイックポール

所属する組織のデータ活用状況はどの段階にありますか?

NEWSLETTERS

エンタープライズコンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]