危険なモバイルアプリで会社を傾ける前に、低価格で簡単に使えるサービスで欠陥を洗い出そう
改めて言うまでもないが、スマートフォンやタブレットといったモバイル機器は全世界的に広く普及している。携帯電話網を通してインターネットにつなぐことができて、気軽に持ち運べるといったハードウェアとしての魅力もさることながら、文字通り無数のアプリケーション(アプリ)を自由に選んで使えるという点がユーザーを引きつける大きなポイントとなっている。モバイル機器向けのアプリは日々増えており、iOS向けとAndroid向けを合わせると、その数は世界で100万を軽く超えている。
企業が独自に開発したモバイルアプリを業務に利用するケースも増えている。また、映画などのプロモーションにモバイルアプリを利用するなど、用途も広がっている。もちろん、モバイルアプリを開発したい、開発を業者に依頼したいという企業も増える一方だ。
モバイルアプリを開発しているのは、言うまでもなくプログラマをはじめとしたエンジニアたちだ。しかし、エンジニアの数には限りがある。特に、モバイルアプリ開発の現場では実務経験豊富な、熟練エンジニアが不足している。現場としては、爆発的に増えている要望に応えるには、実務経験が足りないエンジニアでも開発に参加させるしかないというのが実情だろう。
このように開発現場の実情を知ると、モバイルアプリの品質が心配になってくる。目に見えるバグなら、リリース前にできる限り取り除くのが当然だ。問題は、表面には見えてこないセキュリティに関わるリスクである。熟練エンジニアの足りない現場で、セキュリティ面の品質を確保することができるのだろうか?
モバイルアプリが企業の存続を脅かす
現時点では、モバイルアプリのセキュリティ品質を確保している開発現場は極めて少ないと言わざるを得ない。米Hewlett-Packard Enterprise社の調査によると、市場に出ているモバイルアプリのおよそ80%がセキュリティ面の問題を抱えている。同社は最近普及しつつあるスマートウォッチのアプリについても調査しているが、その結果はモバイルアプリよりも深刻だ。現在流通しているすべてのアプリに問題があるという結果が出ている(詳しくはホワイトペーパーを参照)。
米Hewlett-Packard Enterprise社が、モバイル機器向けアプリケーションを対象に実施した調査の結果をまとめた文書。大多数のアプリケーションが、アドレス帳や位置情報など、ユーザーが秘密にしておきたいと思っているデータにアクセスしている事実を明らかにしている。
とはいっても、先述の通り開発現場には人員が不足している。特に、セキュリティの問題を見つけられるほどの技術を持ったエンジニアを確保するのは難しい。何とかしなければという思いは持っているが、現状を放置しておくことしかできないという現場も多いはず。しかし、その現状を放置しておくことは危険だ。
セキュリティ上の問題を放置していると、個人情報流出やハッキングなどの被害を受ける可能性が高くなる。そして「実際に被害を受けたら、企業の信用は失墜し、ユーザーへの補償など多大な出費を強いられる。企業の存続に関わると言っても過言ではない」(日本ヒューレット・パッカード ソフトウェア事業統括プリセールス本部 エンタープライズセキュリティプロダクツ部 セキュリティソリューションコンサルタント 塩屋 通宏氏)。
対処しようにも時間も費用もかけられない
もちろんリスクを正しく理解し、セキュリティにしっかり気を配る企業もある。そのような企業では、アプリに潜むセキュリティ上の問題を洗い出す専門業者を利用していることが多い。しかし業者を利用するという手段にも問題はある。まず、解析に高額な費用がかかる。アプリ開発にあまり予算をかけられない現場では、業者に解析を依頼することは無理だろう。
また、解析やテストには長い時間がかかる。数カ月かかることもある。セキュリティの問題を解消したいと考えても、機敏な市場展開が求められる昨今、数カ月も待っていてはライバルに先を越されてしまう。
そこで紹介したいのが、日本ヒューレット・パッカードが提供するアプリ解析サービス「Fortify on Demand」だ。低額で利用でき、解析は数日で済む。サービスのグレードにもよるが、一つのモバイルアプリの解析1回にかかる費用は20万円から。調査結果は3営業日(目標)で依頼者に届く。
Fortify on Demandはクラウドで提供するサービスなので、エンジニアのPCにツールをインストールするなどの作業は必要ない。特別な機材も不要だ。利用するには、モバイルアプリのソースコードやバイナリファイルを、Fortify on DemandのWebページ(ポータル画面)からアップロードすればよい。
ファイルの調査から、結果レポートの整理まで、一つのポータルサイトから簡単な操作で利用できる。ポータルサイトでは、一つのアプリだけでなく、複数のアプリを管理できて使い勝手が良い。
開発したアプリをインターネットの向こう側にあるサーバーにアップロードすることに抵抗を感じる向きもあるだろうが、低コストで利用でき、利便性も高いというメリットも踏まえて選択したいところだ。
熟練エンジニアの力を借りることもできる
Fortify on Demandのもう一つの特徴として、「擬陽性」と呼ぶ誤判定を除外する作業が必要なくなるという点が挙げられる。このような解析ツールは、解析対象のソースコードを広範囲に調べ、危険をもたらす可能性がある部分を指摘する。しかし、ツールが指摘する部分の中には、実際には無視できるものもある。これを擬陽性と呼ぶ。危険をもたらすように見えることは承知しながら、実際は問題を起こさないように書いている部分を検出されてしまうこともあるのだ。
擬陽性を除外するには経験とスキルが必要だが、Fortify on Demandを利用すれば心配する必要はない。米Hewlett-Packard Enterprise社が誇る熟練エンジニアが擬陽性を排除し、本当に対応しなければならない問題点だけを洗い出してくれる。
エンジニアの代わりに、機械学習で経験を積んだ解析エンジンを利用することもできる。この解析エンジンは3万6000ものアプリをテスト・学習しており、その精度もなかなかのものになっているという。
塩屋氏はエンジニアと解析エンジンの違いについて「解析エンジンは世間に明らかになっている欠陥の大部分について漏れなく調査してくれ、その結果にはばらつきがない。一方、エンジニアを利用すると調査結果がややばらつくものの、解析エンジンでは発見できない希少な欠陥、存在が世間に明らかになったばかりの欠陥を見つけ出してくれる可能性が高い」と語る。
Fortifyシリーズにはクラウドサービスではなくオンプレミスのものもあるが、その場合、擬陽性はエンジニア自身が除外しなければならない。人材が不足しがちな現場では、やはりFortify on Demandがお薦めだ。
Fortify on Demandのモバイルセキュリティ解析サービスには、「Basic」、「Standard」、「Premium」の3種類のグレードがある(表1)。モバイルアプリはサーバーサイドと通信して連携するものも多いが、StandardとPremiumではサーバーサイドとの通信やサーバー側のプログラムも解析対象となっているので、隅々まで検証できる。
種類 | 主なサービス内容 | 対応モバイルOS |
Basic | •ソースコード解析 | iOS、Android、Windows、Blackberry |
•結果は2営業日を目標 | ||
Standard | •バイナリ解析(自動・手動) | iOS、Android |
•サーバーとのデータ通信の安全性 | ||
•結果は2営業日を目標 | ||
Premium | •ソースコード解析 | iOS、Android、Windows、Blackberry |
•バイナリ解析(自動・手動) | ||
•サーバーの動的・静的両面のセキュリティ解析 | ||
•サーバーとのデータ通信の安全性 | ||
•結果は7営業日を目標 |
繰り返し使うならサブスクリプション
Fortify on Demandはアプリを1回解析するたびに料金を支払うという使い方もできるが、繰り返し解析を依頼したいという人には、年間定額のサブスクリプションがお薦めだ。サブスクリプション契約を交わすと、1年間一つのアプリを対象に何回でも解析を依頼できる。年間3回以上解析を実施するならサブスクリプションのほうがお得な価格設定になっている。アプリに継続して機能追加していくつもりなら、サブスクリプションを検討すべきだろう。
Fortify on Demandの調査対象はモバイルアプリに限らない、Webアプリを対象にした動的セキュリティ解析サービス、一般的なデスクトップアプリのソースコードを解析する静的セキュリティサービスなどが利用できるので、あらゆる角度からセキュリティ上のリスクの存在を調査できる。
無料で試すチャンス!
さて、ここまで読んで頂いた読者に良いお知らせがある。Fortify on Demandの簡易版である「Express」を、無料でお試しいただけることになった。簡易版なのでモバイルアプリのプライバシー設定の調査に的を絞ったものになっているが、実際にポータルサイトを使用し、使い勝手を確かめることができる。モバイルアプリは連絡先やGPSによる位置情報など、プライバシーに直結するデータを扱うことができる。Expressでは、このようなデータへのアクセスを許可しているかどうかといった設定について解析してくれる。簡易版といえども大いに役立つだろう。
セキュリティが気になりつつもなかなか手を出せなかったという読者は、この機会に試用して、セキュリティについて考えてみてはいかがだろうか。
「Fortify on Demand」の簡易版である「Express」を無料で試用できる。モバイルアプリ開発者なら、試用することを強くお薦めしたい。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- モバイルアプリケーション開発のトレンドやテストの方向性とは
- アプリケーションライフサイクルの最適化がモバイルアプリの企業価値を高める
- モバイルアプリのテスト時における5つの課題とHPEが考えるテスト自動化とその先
- テスト自動化を導入してみたものの思ったより効果が出ない……その解決策は2つの仮想化にある
- クックパッドの開発体制、モバイルアプリを取り巻く環境と課題解決―Think IT Mobile Developer Seminar 2015レポート
- 日本HP、モバイルアプリケーション開発の効率化を支援するソリューションを拡充
- エンタープライズモバイルに必要なアプリの品質とは?―Think IT Mobile Developer Seminar 2016レポート
- アプリの差別化を図るにはインフラ監視だけでは不十分。UXを担保するAPMの必要性と手法とは
- 【デモ動画あり】実現可能な地に足の着いたDevOpsの第一歩を踏み出そう
- HPが提唱するDevOps実現の確実な切り口はテストツールの革新から