セキュリティと個人情報の失敗事例で学ぶ
“炎上”モバイルアプリはなぜ生まれるのか
企業はモバイル向けアプリケーション開発に着手する前に、セキュリティとプライバシーの問題を考えておくべきだ。万が一、この2点で不備が発生すれば、ユーザーの間で“炎上”する事態になりかねない。
企業の開発チームはモバイルアプリケーション開発を、必須の通過儀礼のように思いがちだ。「エンタープライズモバイルアプリケーションの1つや2つ持っていない会社は、競争に取り残されてしまう」というのが彼らの認識だ。ただし、さまざまなデバイスやプラットフォームのサポートという現実に直面するまでは――。
デスクトップアプリケーションをモバイルに移植しても、目下のビジネスニーズに対応できるとは限らない。また、新しいモバイルソフトウェアの開発によって、セキュリティやプライバシーの根幹に関わる問題が増大することもある。それらのアプリケーションが位置やデバイスのセンサー(GPS、カメラ、加速度計)、Bluetooth、NFCなどのサードパーティーサービスを利用する場合は特にそうだ。
ITセキュリティチームは、企業が写真/動画共有のソーシャルメディア「Snapchat」やバンキングアプリ「Chase Mobile」の成功に続こうとモバイル開発に乗り出す前に、副次的な影響をしっかり考えているだろうか。
企業は、開発者がコードをまだ書き始める前に、セキュリティとプライバシーに関する多くの問題を検討しなければならない。安全上の不備が発生し得る領域は、プラットフォームの分散アーキテクチャから、メディアで大きく報じられることになりかねないアプリケーションにおける個人情報の扱いまで、多岐にわたる(例えば、米Snapchatは先ごろ、セキュリティに関する外部からの警告を放置したところ、ソフトウェアの脆弱性を突かれてユーザーの名前と電話番号が流出した)。
こうしたセキュリティとプライバシーの問題は、モバイルアプリケーションのアイデアの根幹を左右することに留意しよう。これらの問題は、開発チームが米Googleの「Android」と米Appleの「iOS」のどちらを採用していても、あるいは「BlackBerry 10」アプリケーションをプログラミングしていても変わらない(実際には、最後のケースはあまりないが)。
企業はモバイル開発に先立って、開発プラットフォームに加え、開発者および品質保証チームによって行われるセキュリティテストを評価するとともに、これら全員にプライバシー問題への理解を徹底する必要がある。
開発プラットフォーム
企業が最初にクリアすべき問題は、どの開発プラットフォームを使うかだ。これは、アプリケーションがiOS、Android、他のモバイルプラットフォームのどれをサポートすべきかという問題ではない(この問題はいずれ検討されることになるだろう)。開発者がさまざまなモバイルプラットフォームに対応するネイティブコードを作成するかどうか、各モバイルOSのネイティブ開発環境を使うかどうかを決めるということだ。
以前は、デバイスのモバイルプラットフォームをベースにしたネイティブアプリケーションを開発するという選択肢しかなかった。すなわち、iOSスマートフォンおよびタブレット向けには、開発者はAppleの「Xcode」を使ってObjective-Cでプログラミングを行っていた。Androidデバイス向けのアプリケーションは一般的に、「Eclipse」または他のIDE(統合開発環境)と「ADT(Android Development Tools)Plugin」を使ってJavaで作成されていた。
この開発モデルには一長一短がある。アプリケーションは、適切に作成されていればネイティブに動作する。また、当該のプラットフォームで可能な限り高速で安定したパフォーマンスを発揮する。さらに、このアプローチでは、モバイルプラットフォームのネイティブインタフェースおよび機能にフルアクセスできる。
一方、ネイティブ開発の主な難点は、ソフトウェア開発ツールと開発プロセスがプラットフォームごとにいくらか異なっていることだ。そのためIT部門は、サポートしたいモバイルプラットフォームごとに統合開発およびテスト環境を構築する必要がある。また、開発者は、それぞれのプラットフォームについてプログラミング方法を知っていなければならず、OSの複数のバージョンにわたって脆弱性も把握していなければならない。こうしたことから、ほとんどのアプリケーションは、最初に1つのモバイルプラットフォーム向けにリリースされてから、他のプラットフォームに移植される。
最近では、モバイルアプリケーション開発にクロスプラットフォーム環境を使うという考え方が普及してきている。この手法にはたくさんの選択肢があるが、最も人気があるのは、HTML5やJavaScriptといったWeb技術を使い、それらをネイティブコンテナでラップするというものだ。
その格好の例として、オープンソースプロジェクトの「Apache Cordova」がある。Cordovaは、モバイルアプリケーションを開発するためのさまざまなコンポーネントを提供する。これらのコンポーネントは標準的なWeb技術を利用しており、ネイティブアプリケーションコンテナにパッケージ化される。この開発モデルの最大のメリットは、開発者がエンタープライズモバイルアプリケーションの開発を簡単に始められることだ。その半面、このモデルにはオーバーヘッドがあるため、パフォーマンスの問題が発生しかねない。
セキュリティテスト
企業が対処しなければならないもう1つの重要な問題が、セキュリティテストだ。ITセキュリティチームは、アプリケーション、そのデータ、バックエンドサービスをインターネットに公開する場合、それらの組み合わせが、悪者や好奇心旺盛なユーザーから猛攻撃を浴びる恐れがあることを認識していなければならない。全てのインタフェースが攻撃の標的になりかねないため、開発チームは、こうしたアプリケーションによって増大するリスクや脆弱性の存在をしっかり理解する必要がある。
さらに企業は、アプリケーションのセキュリティを評価するテストの計画を立てなければならない。この計画は、開発者がコードを書き始める前に策定する必要がある。アプリケーションにセキュリティを組み込むことは、アプリケーションの展開後や、開発が始まってからの方が大変になり、コストもかさむからだ。
Webアプリケーションに対して実行されるセキュリティテストは、アプリのバックエンドサービスの評価に利用できることを頭に入れておくとよい。そうした評価に利用できるのは、これらのサービスが一般的にWebベースだからだ。
また、セキュリティテストによって、エンタープライズスマートフォンやタブレット、BYOD(私物端末の業務利用)プログラムにどのような問題が存在する可能性があるかを判断する必要もある。「アプリケーションがデバイスで提供される暗号化機能を利用しているか」「アプリケーションが機密情報を、デバイス上の安全な領域の外部に保存していないか」といった点をチェックする必要がある。チームはセキュリティテストが、少なくとも主要なリスクを全てカバーするようにしなければならない。
テストの参考になる有益な情報源を提供しているのが、「OWASP Mobile Security Project」(英文)だ。(なお、私が参加しているオープンソースプロジェクトの1つである「MobiSec」は、この包括的なプロジェクトの一部を成している)。モバイルリスクのトップ10の解説は、「Top 10 Mobile Risks」(英文)から参照できる。この解説は、脆弱なサーバサイドコントロール、危険なデータストレージ、不適切なセッション処理、バイナリ保護など、幅広いリスク領域を網羅している。
プライバシーの問題
企業は、モバイル分野におけるプライバシーの問題を考慮する必要がある。現在、プライバシーは大きな問題となっている。米国家安全保障局(NSA)によるスマートフォン上の個人データの収集や、Snapchatや米Starbucksのユーザーデータの流出などがメディアを賑わせる中、企業はエンタープライズモバイルアプリケーションの運用に乗り出す前に、潜在的なプライバシーの問題に正面から取り組まなければならない。この問題は、「どのような情報の提供を求めるか」「どのような情報を保存するか」という2つのカテゴリーに大別される。
「どのような情報の提供を求めるか」という問題は一般的に、モバイル開発において直接的には意識されない。この問題はアプリケーション開発時に、「アプリケーションがアクセスする必要があるスマートフォンの機能」という形で具体化される。例えば、アプリケーションは位置情報を取得するために、GPSセンサーを使おうとするかもしれない。
アプリケーションがこうしたデバイスの機能を使う際、ユーザーは許可を求められる(あるいは、アプリケーションのインストール時に、こうした機能の使用について許可を求められることもある)。アプリケーションがあまりにも多くの許可を求めると、ユーザーは「この提供元は何をしようとしているのか」と疑念を抱く。ユーザーのこの種の反応から(ネットで)騒ぎが起き、会社の評判が悪くなってブランドに傷が付く恐れもある。米LinkedInは最近、アップグレード後のモバイルアプリケーションがカレンダー情報や個人情報に関する許可の拡大を求めたことから、こうしたトラブルに見舞われた。
「どのような情報を保存するか」もプライバシー上の問題だ。アプリケーションはしばしば、モバイルデバイスに機密データを保存する。この処理が正しく、あるいは安全に行われないと、企業にとって重大な問題が発生する恐れがある。StarbucksのiPhone用モバイル決済アプリケーションは最近、ユーザーの名前、パスワード、電子メール、GPS位置ファイルを平文で保存することが発見された。そのために同社は反発を買っただけでなく、「そのアプリケーションには他にもデータセキュリティ問題があるのではないか」と疑われるようになった。
モバイル化の大勢は変わらない
今、モバイルアプリケーションは普及が進んでおり、セキュリティ問題の増大で企業の導入にブレーキがかかることはなさそうだ。企業が開発プラットフォームとセキュリティテスト計画をよく検討し、開発者が具体的なビジネスニーズに対応したモバイルアプリケーションを開発すれば、そのメリットは多くの場合、問題を上回る。個人的には、Apache Cordovaアプリケーションの開発に取り掛かりたい。さまざまなプラットフォームで簡単に動作するからだ。
Copyright © ITmedia, Inc. All Rights Reserved.
この記事の著者
関連記事
新着ホワイトペーパー PR
-
製品資料
“攻撃者優位”なサイバーセキュリティ、全ての「穴」をふさぐ方法とは? -
製品資料
実際に悪用される脆弱性は4%前後 優先的に対処すべき脆弱性を把握するには? -
製品資料
HubSpotの機能を拡張する法人データ活用法 -
製品資料
面倒で非生産的な「名寄せ」作業 高精度&高効率に実施するには? -
製品資料
名刺管理には「その先」がある 成果のでない営業活動から脱却する秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
ISMSの“コンサル丸投げ”が招く数千万円の無駄 NTTドコモビジネスの脱出劇
-
2
Netflixのバックエンドは「ほぼJava」 3000超のアプリを支える開発基盤の裏側
-
3
「Microsoft 365」が乗っ取られる 跡形もなくMFAを破る手口
-
4
「VMware離れ」は本当か 3000社がVCF 9にかじを切った現実的な理由
-
5
「結局使わなくなる」Microsoft 365 Copilotを半年で定着 キリンの3施策
-
6
「WSUS」終了の時限爆弾 “本命”移行先ツールとMicrosoft提唱の新管理手法
-
7
IT人材の42%が転職予備軍 辞めさせない組織の4つの共通
-
8
「HDD終了」は本当か 巨大クラウド2社が下した大容量フラッシュへの決断
-
9
ただなのに「12時間以内の復旧」も要求 無償OSSに商用レベルを求める企業の末路
-
10
「OSの選定・導入」に関するアンケート
ホワイトペーパーランキング PR
-
1
AIエージェントで多様な日常業務を効率化するための入門ガイド
-
2
AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
-
3
財務・会計はAI活用でどう変わる? 調査で見えた変革の道筋
-
4
JR西日本ITソリューションズが「監視業務の属人化」を解消した方法とは?
-
5
「脱Excel」か「Excel快適化」か? 現場にやさしい業務改善の進め方
-
6
「結局、一部の人しか使わない」 AI活用が業務に定着しない根本的な理由
-
7
コスト分析で見る「デバイス復旧」の代償 損失額から導きだされた投資戦略とは
-
8
Macの安全神話は崩壊? 最新の脅威動向から見えた攻撃のトレンドと有効な対策
-
9
ゼロトラストにおける「IDaaSの課題」と補完すべき重要機能とは?
-
10
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー