スマートフォン
 Computer >> コンピューター >  >> スマートフォン >> スマートフォン

Androidユーザーが知っておくべき「動的コード読み込み」の仕組みとセキュリティリスク

Androidアプリを使用しているとき、バックグラウンドで何が起きているのかを意識することはほとんどないでしょう。しかし、「動的コード読み込み(Dynamic Code Loading)」と呼ばれるプログラミング手法が、セキュリティ上のリスクをもたらす可能性があります。本記事では、その仕組みと注意すべきポイントについて詳しく解説します。

動的コード読み込みとは?

アプリ開発において、アプリの構築に使われるソースコード全体は「コードベース」と呼ばれます。動的コード読み込みとは、アプリがコードベースの外部からコンテンツを取得し、実行時(ランタイム)にそれを実行できるようにする仕組みです。

この手法では、コードをAndroidパッケージキット(APK)に組み込まず、リモート環境に保存するのが一般的なため、アプリのサイズを小さく抑えられます。APKとは、Androidがアプリの配布・インストールに使用するファイル形式で、対応デバイス上でアプリを動作させるために必要なすべてのコンポーネントが含まれています。

開発者の観点から見ると、動的コード読み込みにはアプリの使い勝手を向上させるなど、さまざまなメリットがあります。例えば、無料版とプレミアム版で表示内容を変えたい場合、動的コード読み込みを活用すれば、APKのサイズを増やすことなく、ユーザーのプランに応じた適切なコンテンツを表示できます。

また、細かな変更を加えた新バージョンのリリースも容易になります。ユーザー側は何もダウンロードすることなく、常に最新バージョンを利用できるのです。

しかしこうした利点がある一方で、動的コード読み込みはAndroidアプリのセキュリティに関わるリスクを生じさせる可能性があります。

悪意のあるアプリには動的コード読み込みが多用される

2019年のある研究論文の著者らは、悪意のあるAndroidアプリを分析し、その共通点を調査しました。その中で先行研究を引用し、動的コード読み込みが危険なアプリに共通する主要な特徴の一つであることを指摘しています。

ある調査では、86,798件のアプリのうち約20,000件に動的コード読み込みが実装されていました。

さらに詳しい分析によると、攻撃者は危険なアプリの中核機能を独立したライブラリとして分離し、動的コード読み込みによってそれを実行するといいます。この手法により、アプリの悪質な挙動が覆い隠され、検出されにくくなるのです。

Googleが検出するマルウェアの種類に関する公式ドキュメントでも、動的コードの不正使用は「バックドア」の一種としてフラグが立てられる可能性があると明記されています。同社はバックドア型マルウェアを、デバイス上で潜在的に有害な遠隔操作を実行するものと定義しており、動的コード読み込みによってアプリがSMS(テキストメッセージ)を抽出できる状態を作り出せる例を挙げています。

ただしGoogleによれば、コードの実行が明確に悪意のある動作を行っているかどうかが判断基準であり、そうでない場合は、任意のコード実行を開発者が修正すべき脆弱性として扱うとしています。

一方、危険なアプリの場合、任意のコード実行によって、ハッカーが標的のデバイス上でリモートからコマンドを実行できるようになってしまいます。

研究者たちが発見した動的コード読み込みの問題

Googleはユーザーのセキュリティ向上のため、断固とした措置を頻繁に講じています。例えば、サードパーティCookieはユーザーを追跡し、情報を保存したうえでターゲット広告の表示に利用しますが、Googleは2022年までにChromeブラウザでサードパーティCookieをブロックすると発表しました(具体的な日程は未公表)。

しかし、セキュリティに注力していても問題が完全になくなるわけではありません。サイバーセキュリティ研究者たちは、Googleアプリ内に持続的な任意のコード実行を可能にする脆弱性を発見し、同社に報告しました。この問題は2021年5月に修正されましたが、動的コード読み込みに関連する潜在的なリスクに対して、より多くの人々の関心を向けるきっかけとなりました。

研究者たちの調査によると、この脆弱性を悪用すれば、攻撃者は対象のアプリを一度起動するだけで個人のGoogleデータを盗むことが可能でした。ハッカーはGoogleアプリの欠陥を突き、被害者のデバイス上にある危険なアプリからコードライブラリを引き出せます。

そこから先は、サイバー犯罪者はメールを含むほぼすべてのGoogleデータへアクセスできてしまいます。さらに、ユーザーのマイクやカメラの起動、リアルタイムの位置情報の取得まで行えたというのです。

危険なアプリの脆弱性に関する警告に注意を払おう

動的コード読み込みは開発側で行われるため、一般のアプリユーザーが特定のアプリに隠れた危険がないかを自ら確認することは困難です。だからこそ、テック系ニュースで報じられるAndroidアプリのセキュリティ関連の話題には、常に目を配っておくことが賢明です。

サイバーセキュリティ研究者たちは、数十万人規模のアプリユーザーを危険にさらしうる問題を継続的に調査し、その結果を公開しています。アプリの潜在的な危険性に関する情報を常に把握していれば、問題を抱えている可能性のあるアプリを、いつ更新し、いつ削除すべきかを適切に判断できるでしょう。

  1. Googleマイアクティビティとは?自分のデータを確認・管理する方法を徹底解説

    Googleで検索をしたり、YouTubeの動画を見たり、マップで経路案内を利用したりするとき、あなたはGoogleに「足跡」を残しています。データはGoogleにとって最も重要な資産の一つであり、同社はユーザーが自社の製品やサービスを利用する際に、できる限り多くの情報を収集しようとしています。 それを踏まえて、一度立ち止まって考えてみませんか。Googleはあなたから集めたデータをどう扱っているのでしょうか。その情報にアクセスする方法はあるのでしょうか。そもそも、そんなこと気にする必要があるのでしょうか。 実は、GoogleはGoogleアカウントに紐づくアプリ、ウェブサイト、その他のサ

  2. 知っておきたい Android Q の注目新機能 7 選

    もう良いニュースをお聞きになりましたか?Googleが最新のAndroidバージョン「Android Q」の開発者向けベータ版「Android Q Beta 1」を正式に公開しました。名称の通り、これはあくまでベータ版であり、一般ユーザー向けの正式版は今年8月中旬頃に提供される予定です。しかし、ここで嬉しいサプライズがあります。実はほとんどのユーザーがベータプログラムに登録でき、Pixel端末でいち早くAndroid Qを体験できるのです。Android Qには魅力的な機能が多数搭載されており、期待せずにはいられません。ベータ版のため、今後新しい機能が追加されたり、一部の機能が削除されたりする