開発工程に脆弱性検査の組み込みを、クラウドサービスで実現するHP:カジュアルに作れるからこそ気にしたい、Webアプリの脆弱性
誰もが手軽にWebアプリケーションやスマホアプリを開発できる時代では、セキュリティという視点を見落としがちだ。日本ヒューレット・パッカードの「Fortify On Demand」は、クラウドベースで2タイプの脆弱性検査サービスを包括的に提供し、安全な開発サイクル作りを支援する。
アプリが手軽に作れる時代だからこそ危惧される脆弱性
Webアプリケーションを抜きにしては、われわれの仕事や生活は非常に不便で、味気ないものになるだろう。友人とのコミュニケーションやショッピングといった個人的な楽しみはもちろん、企業では顧客向けサービスやさまざまな業務システムでWeb化が進んでいる。それを後押ししているのが、手軽にWebアプリケーションを開発できるツールやフレームワーク群だ。こうしたツールを活用すれば、専門的なスキルがなくとも、デザイン性に優れ、必要な機能を備えたWebアプリやWebサービスを手軽に開発できるようになっている。
この流れ自体は非常に歓迎すべきことだ。だが一方で「手軽に、パズルを組み立てるようにしてアプリを作ることができる時代になった。この結果、アプリ開発自体は素早く行えるようになったが、大局的な観点、特にセキュリティが抜け落ちているのではないかという危惧もある」と、日本ヒューレット・パッカード エンタープライズ・セキュリティ・プロダクツ統轄本部 セキュリティ・ソリューション コンサルタントの塩屋通宏氏は指摘する。
しかも最近では、オープンソースソフトウェアやサードパーティ製コンポーネントを組み込む作り方が当たり前となっているが、2014年は「OpenSSL」をはじめ、主要なソフトウェアに深刻な脆弱性が相次いで発見された。こうした状況の中で、次々に増え、改修が繰り返されるWebアプリケーションの脆弱性を「ゼロ」にすることは困難だ。サービス提供のスピードを落とすことなく、脆弱性がもたらすリスクを減らす方法はないだろうか? 脆弱性の有無を検査するセキュリティテストサービスが、そんな相反した要望を満たす手助けになるはずだ。
セキュリティテスト、進化の歴史
Webアプリケーションに対するセキュリティテストは、クロスサイトスクリプティングやSQLインジェクション、認証やセッション管理の不備といった脆弱性が存在しないかどうかをチェックするものだ。こうした脆弱性が悪用されれば、利用者のIDとパスワード、個人情報の漏えいや、Webサーバー自体が改ざんを受ける恐れがある。
一口にセキュリティテストと言っても、検査方式によって大まかにいくつかに分けることができる。中でもWebアプリケーションが普及し始めた2000年代当初に主流だったのが、外部からWebアプリケーションにさまざまな入力を与え、その出力結果を元に脆弱性の有無を判断する「Dynamic Application Security Testing(DAST:動的セキュリティ検査)」と呼ばれる手法だ。この方法では容易に検査が行える反面、基本的にアプリの中身はのぞかないブラックボックステストで、網羅的な検査ではないといった課題があった。
その課題を踏まえて生まれてきた方法が「Static Application Security Testing(SAST:静的セキュリティ検査)」だ。Webアプリケーションのソースコード自体を検査して脆弱性を見つけ出すもので、網羅的に、また開発が終了していない段階でも検査が行えるというメリットがある。しかし、脆弱性として報告されたものの中に、単なる「コーディング規範違反」が含まれることもあり、使いこなすにはある程度開発に関する知識が必要となるなど、ややハードルが高かった。
そこで注目を集めているのが、DASTとSAST、両方のメリットを兼ね合わせた「Interactive Application Security Testing(IAST)」という手法だ。まずDASTで検査を行い、疑わしいと思われる部分が出てくれば、SASTによってその部分のソースコードを集中的に検査する。2つの手法をうまく組み合わせたハイブリッド型の検査によって、網羅的に、また少ない手間と時間で脆弱性を見つけ出すことができる。
ハイブリッド検査に専門家の「知見」を組み合わせた「Fortify On Demand」
HPが提供するクラウドベースの脆弱性検査サービス「Fortify On Demand」は、このIASTを実践できるセキュリティソリューションだ。Webアプリにエージェントを導入すれば、あとはクラウド側でセキュリティ検査が実行される。従来のセキュリティテスト、特にソースコード診断検査の実行には、それなりのスペックを備えたハードウェアが必要だったが、そうした準備やコストをかけることなく、脆弱性検査が可能だ。
セキュリティ検査に要する時間は、SASTでおおむね3日間、DASTでも最大7日程度。見つかった脆弱性は、Web上のダッシュボードで確認でき、アプリケーションのどこに、どの程度深刻な脆弱性があるかが一目で把握できる。深刻度を共に示すことで、迅速な改修が必要なのか、それとも当面Web Application Firewall(WAF)でブロックし、徐々に根本的な改修を進めればよいのかなど、対応の指針を決める役にも立つ。ランタイムプロテクションを組み合わせ、本番稼働中のWebアプリケーションを内側から保護することも可能だ。
「Fortify On Demandでは、SASTによるアプリケーションロジックの検査と、DASTによるビジネスロジックの検査という、異なるスキルが求められる2つの検査を、ノウハウを備えたHPのセキュリティ専門家が提供することが特徴だ」(塩屋氏)。Rubyをはじめ、幅広い言語をサポートした静的解析と、24のカテゴリに分けて検査する動的解析の双方を提供することも特徴だが、単なるツールの提供にとどまらず、専門的な知識を備えた「人材」の力が背後にあることが最大の強みだという。
これを背後で支えているのがHPのSecurity Research Centerだ。特に、脆弱性リサーチ部門であるZero Day Initiative(ZDI)では、世界中のセキュリティ研究者やハッカーコミュニティと連携しながら、多数のゼロデイ脆弱性を発見するなど、深い知見を備えている。Fortify On Demandにはこうした脆弱性研究の成果が反映されており、常に最新の情報に基づいた検査が行えるようになっている。
塩屋氏はさらに「マニュアルによるペネトレーションテストを提供しているセキュリティ企業もあるが、そうしたサービスの課題は、人によってばらつきがあり、スケールしないこと。HPには200人以上のテスターがおり、シニアテスターと組んで二人一組で共通のテストを実施するため、均質なテストが行える」と述べている。
チェックすべきポイントの多い「モバイルアプリ」の検査も可能
Webサービス以上に勢いよく成長しているのがモバイルアプリ市場だ。モバイルアプリの場合、サーバー側だけでなくクライアント端末や通信経路など、セキュリティに配慮しなければならないポイントがさらに増えるが、Fortify On Demandでは、AndroidならびにiOS向けのモバイルアプリに対する検査も可能となっている。
「モバイルアプリはクライアント/サーバー型のアプリに比べ入り組んでおり、セキュリティ上見るべきポイントが多い。その点、Fortify On Demandにはモバイルアプリのテストも含まれており、バイナリとソースコード、サーバーといった要素全てをチェックできる」(塩屋氏)。加えて、マニュアル検査時には独自開発のツールも併用し、通信経路も含めたきめ細かな検査を実施するという。
モバイルアプリの検査にもやはり、HPのSecurity Research Centerのナレッジが生かされている。Webアプリケーションセキュリティの向上に努める業界団体、OWASPにはHPのセキュリティリサーチャーが多数参加しており、モバイルアプリに存在する代表的な脆弱性をまとめた「Mobile OWASP Top10」の取りまとめに当たっているという。
継続的なテストでWebアプリのリスクを減らす
塩屋氏によると、Fortify On Demandは、海外に複数の拠点を抱えるグローバル企業を中心に採用が進んでいる。海外拠点でどのようなアプリが展開されているか、必ずしも本社側が全て把握しているとは限らない。そうしたケースでは、DNSやIPアドレスの情報を基に関連あるURLを洗い出し、簡易的な検査を実施して優先順位付けを行える「Digital Discovery」が特に重宝されているという。
一方で、自社アプリのソースコードをクラウド上に、それも海外にアップロードするのはコンプライアンス上困難な企業も少なくない。HPではそうした企業のニーズに応えるべく、データセンターを日本国内に設置している他、プライベートクラウド向けという選択肢も用意している。
「開発の工程に脆弱性検査を組み込み、出来上がったアプリケーションに継続的にスキャニングを実施していく仕組みによって、リスクを下げていくことができる」と塩屋氏は提言する。Fortify On Demandは、機能と納期、コスト、そしてセキュリティといった、Webアプリケーションに求められる要素をバランスよく満たすための、心強い味方になるだろう。
なお、HP Fortifyを活用した事例として、米国陸軍の軍需品管理システム「TAMIS」での取り組みをホワイトペーパーとして用意した。セキュリティをどこよりも重要視しなければならない場所で、脆弱性検査がどのような成果を上げたのか、具体的なケーススタディとしてぜひご一読いただきたい。
本記事に関連するホワイトペーパー
米軍が使う軍需品管理システム「TAMIS」のセキュリティを強化するため、HP Fortifyが採用されています。脆弱性に対するリスクを、TAMISチームはどのように改善していったのでしょうか。その課題から戦略、成果まで、HP Fortifyを使ったケーススタディをお送りします。
※ダウンロードの際に、簡単なアンケートのご協力をお願いしております。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:日本ヒューレット・パッカード株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2015年2月18日