[特別寄稿] メーカー別スマートフォンセキュリティ比較 | ScanNetSecurity
2024.04.18(木)

[特別寄稿] メーカー別スマートフォンセキュリティ比較

近年スマートフォン向けとして開発されたオペレーティングシステムのうち、Android、iOS、そしてWindows Phone 7について見てみましょう。3つのプラットフォームはすべて、専用のアプリケーション配信プラットフォーム (マーケット) と統合されています。

特集 特集
急速にビジネス現場への普及と利活用が進むスマートフォンの安全性に関し、Android、iOS、Windows Phone 7を、メーカー別に、共通点と相違点、脅威の現状、必要な対策について株式会社フォティーンフォティ技術研究所の大居司氏が解説する。

---

近年スマートフォン向けとして開発されたオペレーティングシステムのうち、Android、iOS、そしてWindows Phone 7について見てみましょう。

●それぞれの共通点と相違

3つのプラットフォームはすべて、専用のアプリケーション配信プラットフォーム (マーケット) と統合されています。またアプリケーションモデルは従来と比べて比較的厳密になっており、一部の従来型プラットフォーム (例えばWindows Mobile 6) に存在するセキュリティや安定性の問題を解消しています。

アプリケーションやプラットフォームのセキュリティは、審査とサンドボックスによって確保されているように見受けられますが、一方で、具体的にどのようにセキュリティを確保するかという考え方、そして実行するコードの種類はプラットフォーム毎に異なるようです。

●iOSのセキュリティ課題

App Storeと結びついているiOSでは、App Storeにおいてアプリケーションの審査が行われています。プラットフォームのセキュリティは、主にこの審査で確保するものと推測されます。

脅威の現状-マルウェアによる被害は限定的

iOSにはブラウザや標準アプリケーションを介した複数の脆弱性攻撃の実例が存在します。JailbreakMeというサイトがそのひとつです。このウェブサイトはiOSのシステムを書き換えてユーザーによる深いカスタマイズを可能にする (Jailbreakする) ためのものですが、ここにはiOSシステムの脆弱性を突くコードが使用されています。使用された脆弱性は、悪用されればシステム全体を乗っ取られてしまう危険なものでした。

一方マルウェアによる被害は現状限られており、Ikeeワームをはじめとした(註1)Jailbreak済みの端末を対象にする少数のマルウェアが出現したのみです。

問題-メモリ保護機能はPC向けOSと同等レベル

iOSの問題のひとつは、審査を通過したアプリケーションがアクセスできるリソースが、比較的多岐にわたることです。これはアプリケーションが脆弱性攻撃を受けてコードを実行されてしまった場合、比較的多くの情報を盗まれてしまうということを意味します。なおアクセスできる情報の中でもアドレス帳の読み取りについては、(脆弱性攻撃への懸念ではなく) Pathを含むいくつかのアプリケーションが無断でアドレス帳を収集していたことがきっかけとなり、Appleが修正することを宣言しました(註2)。

もうひとつの問題は、脆弱性攻撃を受ける部分が比較的多岐にわたることです。iOSではネイティブコードが幅広く使用されていることから攻撃を受けやすくなっていることがその理由です。そのためiOSは脆弱性攻撃を阻止するため、DEP(註3)やASLR(註4)などのメモリ保護機能を比較的早くからサポートしています。特にiOS 4.3でASLRが追加されたことにより、脆弱性攻撃を阻止するメモリ保護機能はPC向けの最新のOSとおおむね同等になったといえるでしょう。

●Androidのセキュリティ課題

Android Marketはアプリケーションの審査こそ行わないものの、規約に違反したアプリケーションはマーケット上から削除したり、場合によってはユーザーの端末上からリモートで削除したりしているようです。(註5)ただ一方で、Androidでは公式のマーケット以外からアプリケーションをインストールすることも可能です。

Androidのセキュリティモデルはサンドボックスによって確保されています。アプリケーションはパーミッションで宣言されたリソースのみ使用することができ、それ以外のアクセスはサンドボックスによってブロックされます。アプリケーション上で動作するコードは原則としてDalvik VM用の中間言語ですが、ネイティブコードを使用することも許可されています。

脅威の現状-急速に増加傾向

Androidにおいては主に非公式マーケットを媒体とするマルウェアの被害があり、近年急速な増加傾向にあるようです。このような状況から、各社がAndroid向けのアンチウイルスソフトウェアを提供しています。

脆弱性攻撃については、今のところAndroidで外部から攻撃された事例は知られていません。一方で、マルウェアが端末内のシステムソフトウェアやカーネルの脆弱性を突き、root (管理者) 権限を取得する例は複数見られます。これらの攻撃を防止するためのメモリ保護機能は、Android 4.0でおおむねiOS 4.3と同水準となりました。

アンチウイルスソフトウェアの問題-PC向けと同じように動作することはできない

Android向けのアンチウイルスソフトウェアは、OSが持つインテントなどの仕組みを活用することで、部分的なリアルタイム保護を実現しています。しかしシステムの制限上アンチウイルスソフトウェアは通常のアプリケーションと同等の権限で動作するため、PC向けのアンチウイルスソフトウェアと同じように動作することはできません。

加えてマルウェアが脆弱性攻撃を利用してroot権限を取得した場合、アンチウイルスソフトウェアでさえもマルウェアを削除することはできなくなりますし、逆にアンチウイルスソフトウェアが無効化されてしまう危険性も存在します。この手口を悪用するマルウェアにはDroidDreamやDroidKungFuなどがあり、いずれも本来読み取り専用のシステム領域にマルウェア本体をインストールします。

現状のアンチウイルスソフトウェアはデバイス管理機能を充実させることで、少なくとも企業内利用においては問題の一部を解決しようとしているようです。

●Windows Phone 7のセキュリティ課題

Windows Phone 7はアプリケーションの審査とケーパビリティによるアクセス制御の両方でプラットフォームとユーザーのセキュリティを保護しています。またアプリケーション審査の一部が自動化されていると推測されることも注目されるべき点で、これによって一部のiOSアプリケーションのように非公開APIを使用することを阻止しています。この意味では、Windows Phone 7はiOSとAndroid双方の良い部分を継承したプラットフォームだと言えるでしょう。

Windows Phone 7上で動作するコードは .NET Framework用の中間言語で、原則としてネイティブコードを動作させることはできません。(現在のところ、ネイティブコードを含むアプリケーションは極めて少数(註6)のようです。)

脅威の現状と問題-脆弱性があった場合、攻撃は容易である可能性

現状では、Windows Phone 7向けのマルウェアは確認されていませんし、脆弱性攻撃もほとんど知られていません。Jailbreakを可能にするための脆弱性を突くツールとしてはZIPファイルビューアの脆弱性を突くWindowBreakというexploitが存在しますが、このexploitを成功させるにはユーザーが意図的に複雑な操作を行う必要があります。

私達はスマートフォンプラットフォームについて研究を進めており、昨年Windows Phone 7.0を対象にセキュリティの調査を行いました。結果として私達は、Windows Phone 7においてはASLRによって脆弱性攻撃が阻止されていることを確認しました。しかし一方で、アプリケーションの確保するヒープメモリがランダム化されておらず、しかも実行可能だという問題を発見しました。また一部の携帯メーカーの端末はシステムアプリケーション用の特殊なインタフェースを公開しており、それが脆弱性攻撃によって悪用されると重要な情報が読み取られてしまう危険性があります。Windows Phone 7の性質上脆弱性を見つけることは難しいと考えられますが、脆弱性があった場合、攻撃は容易だと推測されます。

もうひとつの問題は、Windows Phone 7は現状で企業内利用に適したデバイスの一元管理が制限されているということです。Exchange Serverと連携してパスワードポリシーの強制やリモートワイプなどを行うことはできる(註7)のですが、iOSやAndroidが持つモバイルデバイス管理 (MDM) の仕組みと比較すると、制限されている部分が大きいように思われます。

●対策
現状では、スマートフォンの脅威に対処するための方法は極めて限られています。そのため、基本を実践することが最も有力な対策になるでしょう。個人が実践できるプラクティスを幾つか挙げてみます。

・ベンダーから提供されている最新のアップデートを適用する
・アプリケーションの要求する権限を十分に確認する
・アプリケーションは信頼できる場所からのみインストールする
・Jailbreakなどの行為は可能な限り行わない

企業内でスマートフォンを利用させる場合には、次の事項にも注意すると良いでしょう。

・ポリシーを設定し、モバイルデバイス管理 (MDM) を用いて端末を一元管理する
・端末のデータを暗号化し、パスワードでロックする
・利用するデータの重要性によっては管理しているアプリケーションのみ許可し、無断で新しいアプリケーションをインストールさせない

(大居司)

著者略歴:株式会社フォティーンフォティ技術研究所新技術開発室 リサーチエンジニア。2011年12月にアラブ首長国連邦で開催されたBlackHat Abu DhabiでAndroid Rootkit に関する講演を行うなど、スマートフォンの脆弱性に詳しい

---
註1 http://www.itmedia.co.jp/news/articles/0911/24/news017.html

註2 http://japan.cnet.com/news/service/35014163/

註3 DEP (Data Execution Prevention): コード実行可能なメモリ領域とコード実行不可能なメモリ領域を分離し、意図しないコード実行を防止する技術。

註4 ASLR (Address Space Layout Randomization): メモリ上の実行ファイル、ライブラリ等の配置場所をランダム化し、特定のアドレスを狙った攻撃の成功率を低減させる防御技術。

註5 http://japanese.engadget.com/2010/06/27/google-android/

註6 http://nanapho.jp/archives/2012/02/only-48-windows-phone-apps-using-native-code/

註7 http://blogs.technet.com/b/junichia/archive/2012/02/01/3478202.aspx
《ScanNetSecurity》

関連記事

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×