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

スマートフォンはどうやってマルウェアに感染するのか?侵入の手口と対策を徹底解説

悪意のあるアプリは、スマートフォンユーザーにとって大きな脅威です。iOSかAndroidかという好みは人それぞれですが、マルウェアに感染したアプリが悲惨な一日を約束してしまうことだけは、誰もが同意できるでしょう。Google Playストアに悪意あるアプリがあふれているのは間違いありませんが、長年「安全の聖域」とされてきたApple App Storeも、もはや無傷ではいられなくなっています。

では、なぜマルウェアの配布者たちはスマートフォンに感染アプリを送り込みたがるのでしょうか?理由はシンプルに2つ、「お金」と「データ」です。世の中には悪意を持たないアプリが数え切れないほど存在します。では、それらはどうやって感染を避けているのでしょうか?そもそもマルウェアはアプリにどうやって入り込むのでしょうか?

感染アプリはどこにでもある

モバイルアプリにおけるマルウェア感染の広がりを正確に測定することは困難です。常に変化し続ける市場の中で、明確な全体像を捉えるのは容易ではありません。しかし、1つだけ確かなことがあります。それは「どのモバイルOSも安全ではない」という事実です。Androidユーザーは最近、HummingWhale、Judy、Xavierなどの攻撃に遭遇しました。一方、iOSユーザーもXcodeGhostとの戦いを強いられました。

2014年に発表された研究(ANDRUBISプロジェクトの一環)では、100万個(正確には1,034,999個)のAndroidアプリが調査されました。サンプルとなったアプリは、非公式マーケットプレイス、トレント、海賊版アプリを提供することで知られるサイトなど、幅広いソースから収集されています(Google Playストアのアプリも含まれます)。

Google Playストアからサンプリングされた125,602個のアプリのうち、1.6%(2,009個)が悪意のあるものでした。

残念ながら、App Storeに関する悪意あるアプリの統計データはほとんど公開されていません。iOSデバイスでの悪意あるアプリの活動については、いくつかの有名な事例があります。しかし――これこそがiOSの大きなセールスポイントなのですが――Androidと比べると、その被害ははるかに少ないのが実情です。次の2つの対照的な数字を見てみましょう。Pulse Secureの2015年モバイル脅威レポートでは、全モバイルマルウェアの97%がAndroid向けに作られていると推定されました。F-Secureの「State of Cyber Security 2017」レポートでは、その数字は99%に達しています。さらに2013年には、米国国土安全保障省が、モバイルマルウェアのわずか0.7%しかiOS向けに作られていないと推定していました。

2大モバイルOSの運命は、まさに対照的だと言えるでしょう。

アプリはどうやって感染するのか

さて、アプリに感染させるのは誰だと思いますか?開発者?犯罪組織?悪意ある個人?それとも政府?実は、ある意味でそのすべてが当てはまるのです。

最も分かりやすいのは「悪意ある開発者」です。悪意ある機能を備えたアプリを設計し、Playストア(または同等の場所)で公開する個人です。幸いなことに、こうした人物は多くありません。

その理由はおそらく1つ。アプリを開発・リリースし、ユーザーを獲得してから悪意あるものへと転換するまでの手間が……そう、あまりにも大きすぎるのです。アプリが十分に人気が出て本当の利益を生み出せる頃には(広告クリックであれデータ窃取であれ)、悪意ある開発者は普通に広告収入を得ていた方が多く稼げているかもしれません。

はるかに一般的なのは、既存のアプリに悪意あるコードを挿入して再配布する手口です。このプロセスには、いくつかの異なるテクニックが使われます。

マルバタイジング(Malvertising)

マルバタイジングは21世紀の深刻な脅威の1つです。仕組みはシンプルです。公式のチャネルを通じて悪意ある広告が表示されるのです。正規のアプリから攻撃を受けるとは思っていないため、ユーザーは不意を突かれてしまいます。

Androidのマルバタイジングの最たる例が、銀行詐欺トロイの木馬「Svpeng」です。このトロイの木馬は主に、Android版Google Chromeユーザーを標的とした感染済みのGoogle AdSense広告を通じてインストールされました。マルバタイジングの恐ろしいところは、広告をクリックしなくても感染してしまう点です。広告を表示しただけで十分なのです。

アプリの再配布(Application Republishing)

公式アプリストアからダウンロードできる正規のアプリにマルウェアを感染させ、その後、公式の名前のまま多数のアプリストア(合法・違法を問わず)に再配布します。

アプリ再配布の重要な特徴は、アプリ名に微妙なバリエーションがあることです。Microsoft Word(Microsoft公式リリース)ではなくMicr0soft W0rdといった具合です。これは極端な例ですが、要旨は伝わるでしょう。

Androidランサムウェアの「Charger」や、マルバタイジング型マルウェアの「Skinner」などがこの手口を使いました(Skinnerは他の手口も併用しています)。

アプリの売却(Sale of App)

時折、正規のアプリ開発者が自分の大切なアプリを売却することがあります。アプリとともにユーザーも引き継がれ、さらに既存ユーザーに信頼されるアップデートを配信する機会も手に入ります。

現時点で、この特定の攻撃手法が実際に行われた記録はありません。しかし、人気アプリの開発者が買収の申し入れを受けることは珍しくありません。同様のことはChrome拡張機能でも起きています。ユーザーデータへのアクセス権限を持ち、数千人のユーザーを抱える人気Chrome拡張機能は、まさに金鉱山のようなものです。自動クーポン拡張機能「Honey」の開発者は、悪意ある個人からの申し出を断りました。

Amit Agarwal氏はまったく異なる経験をしました。彼は自分のChrome拡張機能を見知らぬ個人に売却しましたが、次のアップデート(もはや彼の手を離れたもの)で「拡張機能に広告が組み込まれた」ことを発見したのです。本人いわく、わずか1時間で作った作品が、広告注入の媒体になってしまったのです。

AppleやGoogleは守ってくれるのか?

最大かつ最も人気のあるアプリリポジトリの所有者として、テクノロジー大手にはユーザーを保護する責任があります。大部分において、彼らはその責任を果たしています。自社ストアに悪意あるアプリが蔓延すれば、ユーザーだけでなく企業の評判にも傷がつくからです。しかし、その中でも1社が先頭を走っています。

Apple

iOSユーザーを悪意あるアプリから守るという点で、Appleは間違いなく群を抜いています。App Storeにアプリを作成・アップロードするプロセスはより複雑で、ストアに並ぶ前に複数の審査と承認が必要です。さらに、iOSアプリは対応すべきデバイスの種類が少なく、OSのバージョンも限られています。そのため、品質基準は一般的にAndroidよりも高くなっています。

Android

Googleは、Playストアに登場する悪意あるアプリの数を減らすために懸命に取り組んできました。評判が危機に瀕していたため、Googleは「モバイルデバイスのセーフティネット」と呼ばれるPlay Protectを導入しました。Play Protectはデバイスを積極的にスキャンして悪意あるアプリを探し出します。さらに、Play ProtectはPlayストア自体も常時監視し、問題のある開発者の停止や、有害コンテンツの削除を行っています。

検出を回避する手口

GoogleとAppleがデバイスをマルウェアフリーに保つために尽力する一方で、マルウェア作者たちは検出を回避しようと試みます。腹立たしいことですが、理解できないわけではありません。

攻撃者が悪意あるコードを隠すために使う一般的な方法は以下の通りです:

  • インストール後に悪意あるコードをダウンロードする
  • 悪意あるコードを「クリーンな」コードの中に難読化して隠す
  • ペイロードのダウンロードや実行まで時間差を設けて待機させる
  • 外部ソース(マルバタイジングなど)経由の配信に頼る
  • 悪意あるアプリを別の媒体の中に隠す

ご覧の通り、悪意あるアプリやアプリ内の悪意あるコードをユーザーの目(そしてダウンロード元のアプリストアの目)から隠す方法は数多く存在します。

モバイルマルウェアを回避する7つのポイント

ここまで見てきたように、悪意あるコードがアプリに入り込む経路は非常に多く存在します。さらに、悪意ある行為者には、スマートフォンに展開されるまで悪意あるコードを見えなくしておくための手段もいくつもあります。

では、どうすれば悪意あるアプリのダウンロードを避けられるのでしょうか?

  1. 公式アプリストアからのみアプリをダウンロードする
  2. サードパーティのストアは避ける
  3. 公式または信頼できる開発者からダウンロードしているか確認する
  4. アプリのレビューを読む。必要な情報はそこにあります
  5. アプリ検証ツールを常時オンにしておく
  6. 無料アプリのお得な話に騙されない
  7. スマホのOSを常に最新の状態に保つ!

世の中には多くの悪意あるアプリが存在します。特にAndroidデバイスを使用している場合は注意が必要です。しかし、脅威を正しく理解し、上記の簡単なポイントを実践すれば、あなたとあなたのデバイスは健全な状態を保てるでしょう。

モバイルマルウェアに遭遇したことはありますか?どんな種類のマルウェアでしたか?スマートフォンに何が起きましたか?Androidでしたか、iOSでしたか?ぜひコメント欄であなたの体験を教えてください!

  1. GPUとは?スマートフォンにおける役割と仕組みを徹底解説

    はじめに GPUとは何でしょうか?そして、スマートフォンの中でGPUはどのような役割を果たしているのでしょうか?実はこれらは、スマートフォンを購入する前に知っておきたい重要なポイントです。しかし、こうした疑問を意識する人は意外と少なく、GPUの存在自体を知らない方も多くいます。本記事では、スマートフォンにおけるGPUの基本的な知識から、その働きまでをわかりやすく解説していきます。 GPUとは何か? GPU(Graphics Processing Unit)は「グラフィックス処理装置」と訳され、その主な役割はグラフィックス処理や浮動小数点演算を行うことです。簡単に言えば、デバイスの画面に表示する

  2. Androidスマホでバックグラウンドアプリを停止する5つの方法【動作改善・バッテリー節約】

    Androidスマートフォンは非常に高性能なデバイスであり、デジタルカメラ、電子書籍リーダー、MP3プレーヤー、電卓、懐中電灯、ラジオなど、多くの機器の役割を1台に集約した革命的な存在です。しかし、それぞれの機能を実現するために多数のアプリが必要となり、スマホには次々とアプリがインストールされていきます。 インストール済みアプリが多いこと自体は、ストレージ容量を増やせばある程度解決できます。本当の問題は、多くのアプリがバックグラウンドで動作し続け、限られたリソースを消費してしまう点にあります。その結果、スマホの動作が遅くなったりフリーズしたり、バッテリーの減りが通常より速くなったりします。これ