ユーザーが対処すべきITセキュリティ上の課題は、デバイスの進歩や人々のネットの使い方の変化に合わせて変遷をとげてきた。近年では、スマートフォンやタブレットといったスマートデバイスの普及が急速な勢いで進んでおり、また、その利用シーンも、ビジネス分野へと大きく広がりを見せている。
人々の生活、そしてビジネスにスマートデバイスが広く浸透を続けるのに合わせて、ITセキュリティ上の課題も、従来とは少しずつ姿を変えながらクローズアップされるようになった。スマートデバイス特有の脆弱性を突いた攻撃や情報詐取を狙う犯罪者たちにとって、新たなプラットフォームは格好のターゲットとなっており、実際に事件として立件されるケースも目立つようになっている。
ネットを活用したビジネスを展開する企業、そのシステムを作り、運用する開発者、サービスを利用するユーザーのいずれもが、ITセキュリティの世界に起こっている変化に敏感になり、時代に即したセキュリティ意識を持つことが求められている。
こうした背景のもと、Webセキュリティ対策ソリューションを提供するSCSKは、日本IBMの協賛で、11月22日に『モバイルアプリケーションセキュリティの最新動向と対策』と題したセミナーを開催した。
スマートデバイスの登場によって、モバイルアプリケーションのセキュリティ事情にどのような変化が起こっているのか。また、その新たな脅威に対して、企業はどのように対策を行うべきかについて、両社のエキスパートが講演を行った。
――講演資料、無料配布中!! ――
有識者3名が登壇し、モバイルアプリケーションの最新セキュリティ事情と対策方法について詳しく解き明かした『モバイルアプリケーションセキュリティの最新動向と対策』。マイナビニュースでは、その講演資料をダウンロード提供しています。
講演資料では、モバイルアプリケーション特有の脆弱性や対策について解説しており、モバイルの経験が浅いエンジニアにとっては必読の資料と言えるでしょう。
無料でダウンロードできるのでぜひともご活用ください。
スマートフォン時代に重要度を増すWebアプリのセキュリティ問題
SCSK、ITマネジメント第一事業本部セキュリティソリューション部Webセキュリティソリューション課マネージャーの後藤剛志氏 |
最初のセッションでは、SCSKの後藤剛志氏は「モバイルアプリケーションセキュリティの最新動向」と題し、主にスマートフォン市場の拡大に合わせて、Webアプリケーションのセキュリティ事情にどのような変化が起こっているのかについて説明を行った。
後藤氏は冒頭、近年のスマートフォンと、そのプラットフォーム上で展開される「アプリケーションストア」の市場が急速に拡大していることについて注意を促した。ある調査会社によれば、2012年におけるスマートフォンの個人契約数は約3560万契約、そのアプリケーションストアの市場規模は約2400億にのぼるという。また、同調査では2015年までに、それぞれ約6500万、6000億円にまで拡大すると予想しており、市場規模全体の拡大に合わせて、スマートデバイスを考慮したセキュリティの重要性も増していくことがうかがえる。
では、スマートフォンと、これまでに多く使われてきた「フィーチャーフォン」、いわゆる多機能携帯電話との間には、どのようなセキュリティ上の課題の違いが考えられるのだろうか。後藤氏はWebアプリケーションのアーキテクチャの観点から、その構成を「端末レイヤ」「ソフトウェアレイヤ」「サービスレイヤ」「コンテンツレイヤ」に分けて説明した。
まず端末レイヤでは、小型化や軽量化といったハードウェア面での進化に加えて、従来よりも多くの重要な情報が端末上に保存されることにより、紛失や盗難の危険性や、それに伴って受ける損害の重大さが高まるといったリスクが想定される。またソフトウェアレイヤでは、iOSやAndroidといったプラットフォームへの標準化が進むことにより、各プラットフォームの脆弱性をついた不正アプリの巧妙化や、攻撃による被害や影響の範囲が拡大することが考えられるという。
また、フィーチャーフォンの時代に各キャリア内で閉じていたネットワークレイヤは、スマートフォン時代においてはインターネット上に、よりオープンに開かれる形になる。同時に、アプリケーション開発や配布の自由度も、従来と比較して増している。フィーチャーフォン時代のアプリケーションは、各キャリアのネットワーク上で流通し、使われることを想定しておけばよかったケースがほとんどだ。しかしながら、スマートフォンで使われるアプリは、より多様な利用状況を想定した、一般のWebアプリと同等以上のセキュリティ面での配慮が必要になっているという。
さらに、近年のスマートフォンは、ほとんどの機種でキャリアの回線に加えて無線LANへの接続機能を備えており、状況に応じてそれらを切り替えながら通信を行うことが可能になっている。そのため、フィーチャーフォン以上に、無線LAN環境のセキュリティに対する配慮が必要になるという。
こうしたスマートフォンの特性を逆手にとり、悪意を持った不正なアプリケーションを使って、ユーザーの持つメールアドレス、電話番号などの個人情報を入手しようとする事件も実際に発生している。後藤氏は、近年発覚したいくつかの事件を例に挙げ、その潜在的な被害規模の大きさを指摘した。
「Google Playで公開されていた、動画を偽装した複数の不正アプリが利用者の持つ個人情報を外部に漏えいしていた事件では、合計6万6000以上のダウンロードの可能性があったとされている。この不正アプリは、Androidスマートフォンのアドレス帳に登録されている情報をすべて外部に流出させるため、1台あたり平均50件の登録があったと仮定しても、330万人分の個人情報が漏えいした可能性があったことになる」(後藤氏)
ストアでのチェックをかいくぐる不正アプリの存在に加え、無線LANの通信傍受や、Webアプリケーション自体に存在する脆弱性による情報流出のリスクといったものが、スマートフォンアプリの世界では特に無視できない存在となっている。
後藤氏は「従来のフィーチャーフォンと比べて、スマートフォンから利用されることを想定したアプリケーションでは、より厳重なセキュリティ対策が必要になる。一般的なWebアプリでも必須の、SQLインジェクション、クロスサイトスクリプティングといった脆弱性への対策は、スマートデバイスの時代において、より重要なセキュリティ上の要件となっている」と注意を促した。
スマートデバイスがつながる「無線LAN」が想像以上に危険な理由
SCSK、ITマネジメント第一事業本部セキュリティソリューション部Webセキュリティソリューション課マネージャーの長尾亮氏 |
続くセッションでは、SCSKの長尾亮氏が「SIerからみたモバイルアプリケーションセキュリティへの対策方法」と題して講演を行った。後藤氏のセッションを受け、スマートデバイスに潜むセキュリティリスクの具体的な例を挙げつつ、実際のデモも織り交ぜながら、その対策方法について紹介する内容だ。
長尾氏は、スマートフォンの「利用者」と、そこで動作するアプリケーションの「開発者」の2つの視点で、スマートフォンで特に警戒すべきセキュリティの課題について説明した。
スマートフォン利用者の視点においては、後藤氏のセッションでも触れられたとおり「無線LAN」環境が持つ固有のリスク要因について、再認識しておくことが必要だという。長尾氏によれば、無線LAN固有のリスク要因としては「通信内容の傍受」「同一ネットワークセグメント内でのファイルへの不正アクセス」「アクセスポイントの偽装による個人情報の詐取」などが挙げられるという。
加えて、巧妙さを増すスマートフォン上の不正アプリは、一般的なPCでいう「マルウェア」と同等以上の被害をスマートフォンユーザーに対して与える可能性があることに言及。今夏に誤認逮捕者が発生した「遠隔操作ウイルスによるネット掲示板への無差別殺人予告書き込み」事件について触れつつ、「今回の事件はPC上のマルウェアによって引き起こされたが、今後はスマートフォンの不正アプリでも同様の手口が使われる可能性が否定できない」とし、その危険性への警戒を怠らないよう促した。
長尾氏は、これまでに挙げたさまざまなリスク要因が、現実のものであることを示すために、いくつかのフリーソフトウェアを使うことで、無線LANを利用した通信の内容を容易にキャプチャできてしまうことを実際にデモで示した。
「フリーのソフトを組み合わせただけで、簡単に無線LANでの通信内容は傍受できてしまう。通信内容の暗号化や、スマートフォン用アンチウイルスソフトの導入、信用できないアクセスポイントへ接続しないといった対策は、ユーザーの立場でも非常に重要なことが分かっていただけると思う」(長尾氏)
一方、スマートフォンから利用するWebアプリの開発者の視点では、Webアプリのプラットフォームとして利用するミドルウェア群と、アプリケーションそのものの脆弱性に対する十分な対策が必要になるとする。
「先ほどの手法を使って、スマートフォンアプリやブラウザからの通信内容を解析すれば、悪意を持った攻撃者にとって有用な情報が知られてしまう可能性もある。何の対策も行われていない場合、リクエストやレスポンスのデータとして、ユーザーの入力情報や、Webアプリ側で使っているWebサーバやアプリケーションサーバの種類やバージョンなどが、そのまま送られてしまうケースもある。例えば、アプリケーションサーバの特定のバージョンに脆弱性が発見された場合、攻撃者はその部分をピンポイントで攻撃することが可能になってしまう。通信データの暗号化といった対策に加え、サーバからのレスポンスの情報は、必要なものだけに限定するといった設定を行っておくべきだろう」(長尾氏)
Webアプリにおいては、従来から問題となっているような「リクエストの書き換え」による、SQLインジェクション、OSコマンドインジェクション、パストラバーサルといった脆弱性への攻撃も頻繁に発生している。スマートフォンアプリにおいても、こうした脆弱性を突く攻撃への対応は十分に行っておくべきだという。
「スマートフォンという端末自体が持っている脆弱性と、従来からあるWebアプリケーションのセキュリティ上の課題の組み合わせが、固有の問題を生みだしているとも言える。スマートフォンでのセキュリティを考えるにあたっては、端末側、アプリケーションが動作するサーバ側、双方での対策が必要になる」(長尾氏)
長尾氏は、特にサーバ側については、これまでWebアプリケーションの開発において必須とされてきた「脆弱性対策」を確実に行っていくことが、最も効果的な対策になると強調した。また、それぞれのアプリケーションについて、定期的な「診断」を行うことで、その対策が継続的に効果を発揮しているかどうかについて、確実に監査を行うことが可能という。
SCSKでは、「Webアプリケーション脆弱性診断サービス」や、脆弱性に関するチェックを自社で継続的に行っていくための体制作りを支援する「SCSK Startup Partner」といった、Webセキュリティに関する各種のサービスを「SECURE YOUR SITE」のブランドで展開している。長尾氏は、必要に応じてこうしたサービスを利用しながら、よりセキュアなWebアプリケーションの開発、運用体制を構築してほしいと訴えた。
アプリケーション脆弱性対策の全社展開が開発期間やコストを削減する
日本IBM、ソフトウェア事業セキュリティ・システムズ事業部主任ITスペシャリストの森秀樹氏 |
3つ目のセッションでは、協賛社である日本IBMの森秀樹氏が登壇し、同社のWebアプリケーション脆弱性診断ツールである「IBM Security AppScan®」(以下、AppScan)の紹介を行った。
AppScanは、SCSKが提供しているWebアプリケーションの脆弱性診断サービスでも利用されている実績のあるツールだ。森氏は、Webアプリケーションの開発、展開を行う企業が、組織的に脆弱性対策を実施する重要性と、その際のAppScanの効果的な導入方法について解説した。
IBMのセキュリティ研究開発機関である「X-Force」の調査によると、2012上半期に報告されたすべて脆弱性のうち、47%が「Webアプリケーションの脆弱性」に関するものだったという。そのうち、最も報告数が多いのがクロスサイトスクリプティング(XSS)であり、現在はさらに増加する傾向にあるという。また、SQLインジェクション脆弱性も、報告は減少傾向にあるものの、引き続き全体の中で大きな割合を占めているという。
「セキュリティに配慮したWebアプリケーションの設計や開発は、引き続き重要なテーマのひとつとなっている。脆弱性を突いた攻撃により、サイトの改ざんや情報の漏えいといった実被害が出れば、それは信用の喪失やビジネス上の損失につながる。Webアプリケーションを攻撃から保護するための最も信頼できる防御策は、アプリケーションファイアウォールや侵入検知システムといった境界線での対策ではなく、セキュアなコード記述によって『突かれる脆弱性がないアプリケーション』を作ることだという点を、改めて理解してほしい」(森氏)
森氏は、アプリケーションを開発する企業における「セキュリティの成熟性モデル」を紹介した。これは、「外部委託」「社内対応」「全社展開」の3つの段階を経て、セキュア開発の成熟度を高めていくモデルである。
最も初期の「外部委託」は、アプリケーションのリリース後、あるいはリリース直前の段階で、必要に応じて外部のコンサルタントによる脆弱性のチェックを受ける体制がある状況だ。この段階では、特にビジネス的に高いリスクがあるアプリケーションのみがチェックの対象となる。そのため、全体での網羅性が低いうえに、万が一大きな脆弱性が発見された場合には、対応コストが膨大になるという課題がある。森氏は、あくまでも外部委託は「はじめの一歩」であると認識し、次の「社内対応」の段階へと進むことを勧める。
第2段階の「社内対応」は、社内で標準化されたQA(Quality Assurance)プロセスが構築され、その中で脆弱性チェックを行う体制が整っている状態である。この段階では、社内でアプリケーションセキュリティに関する知識を持った担当者や部署を配置し、リスクが中程度のものを含む、より広範なレンジのアプリをチェックの対象とする。手作業や自動化ツールを使った、より網羅性の高いチェックを実施することが可能になる。
この社内対応の段階では、「動的解析」とあわせて「静的解析」を実施することで、より精度の高いセキュリティチェックを行うべきだという。「動的解析」とは、いわゆる「ブラックボックス」検査で、実際に公開された環境でWebアプリケーションが稼働していると想定し、攻撃者が外部から行うであろう攻撃方法をシミュレートして、脆弱性をチェックする解析方法だ。環境設定やパッチレベル、認証、セッション管理などに問題がある場合は、この動的解析で発見が可能である。外部委託による脆弱性チェックの大半は、この動的解析によるものだという。
一方の「静的解析」は、ソースコードの段階でその記述を解析し、脆弱性を見つけ出す方法だ。この方法を用いることで、スレッドやコード品質、到達不能コードなどの問題を発見できるという。
「動的解析と静的解析は、その性質が異なるもので、発見できる脆弱性にも違いがある。動的解析と静的解析の双方をプロセスに組み込むことで、より完全に近い脆弱性対策へと近づけていくことができる」(森氏)
第3段階の「全社展開」は、前段階の「社内対応」をさらに発展させ、開発コストのさらなる抑制と、成果物の安全性の向上を目指して、プロセスの洗練を続けていく過程になる。全社展開の段階では、脆弱性対応を「仕様策定」「要件定義」といった、開発の初期段階から考慮し、脆弱性が発見された場合の手戻りコストの最小化を目指す。さらに、セキュリティ検査が開発のボトルネックとならないような体制の構築や、開発プロセスにおける脆弱性対応状況の可視化や統制の徹底を図っていくステップとなる。
「開発コストの観点では、修正やテスト中心のプロセスよりも、品質に注力した予防・予測中心プロセスのほうが約30%程度、開発期間が短くなる事例も報告されている。これは、問題が発覚したときの作業手戻りにかかる期間が短縮されるためだ。成果物の品質向上に加え、コスト削減の観点からも、開発工程の初期段階から脆弱性対策を意識することが重要となっている」(森氏)
IBMが開発するAppScanには、動的解析を行う「AppScan Standard」、静的解析を行う「AppScan Source」といったラインアップが用意されている。
AppScan Standardを利用することにより、企業はセキュリティサービス企業が行うような脆弱性診断を、自社で実施することが可能になる。動的解析に必要な各種の設定は、分かりやすいウィザード形式のユーザーインタフェース上で行える。テストのポリシーに関しても、既に定義済みのものを呼び出して、カスタマイズを加えた上で繰り返し実施することができる。AppScan Standardによる動的解析によって発見された問題については、問題に関する詳細な解説と、その影響に加えて、.NET、Java EE、PHPといった各プラットフォームに対応した形で修正方法の提示までが行われる。こうした環境を社内に持つことにより、外部へテストを依頼する場合と比較して、早期の検査が可能となり、結果的に開発期間やコストの削減に寄与できるという。
一方のAppScan Sourceは、ソースコードに対して解析を行い、そこに含まれるセキュリティ上の問題点とその詳細、その問題の重要度などをレポートとして提示してくれるツールとなっている。検査結果は「トリアージ」と呼ばれる機能によって可視化され、問題の重要度や脆弱性のタイプ、APIやファイル別といった様々な条件によってグルーピングやフィルタリングが行える。EclipseなどのIDEとの統合も可能だ。AppScan Sourceを開発の初期段階から導入することにより、早期の問題発見、発見された問題への迅速な対応や修正が可能となる。
また、AppScan Sourceには、Androidアプリケーションの解析機能も用意されている。Android向けに提供されている1万以上のAPIに対して独自に行われたリスクアセスメントの結果等と照らし合わせて、アプリケーションに潜むデータ漏えいの可能性や、他のマルウェアからの影響度などを評価できるという。
森氏は「脆弱性への対応は、開発工程の初期段階から実施することで、より高い効果が期待できる。実施にあたっては、AppScanのようなツールを使って検査を内製化することで、コスト削減と網羅範囲の拡大が可能になる。ニーズに合わせて、適切なツールを用いることで、段階的に企業としてのアプリケーションセキュリティの成熟度を上げていくことを検討してほしい」と述べ、セミナーを締めくくった。