米HP「Webアプリの品質、セキュリティの問題を“元から断つ”」米HPに聞く、“フォーティファイ買収の背景”

» 2010年11月04日 00時00分 公開
[内野宏信,@IT]

 Webアプリケーションがビジネスに深く浸透している近年、その品質、セキュリティがあらためて注目されている。品質に問題があれば、ビジネスを遅滞させて機会損失を招き、セキュリティに脆弱性があれば、金銭だけでは解決できない傷跡をそのブランドに残してしまうためだ。そこでこの問題に対し、“障害をいち早く解決する”“ハッキングから守る”といった対症療法的なアプローチではなく、問題原因を元から断つ “原因療法”のアプローチで臨んでいるのが米ヒューレット・パッカードだ。

 同社は2007年6月、Webアプリケーションのセキュリティ評価ソフトウェア/サービスを持つ米SPIダイナミクスを買収。「BTO(Business Technology Optimization)――“ビジネスとITとのギャップを解消する”」をコンセプトとするBTO Softwareシリーズのうち、「HP Application Security Center」に同社製品を組み入れ製品体系を強化した。さらに、この2010年8月にはセキュリティ分野のリーディング企業、米フォーティファイ・ソフトウェアも買収。その技術も導入することで、「品質、セキュリティ面の問題を根本的に排除する」としている。では、具体的にはどのようなアプローチでそうした体制を実現するのだろうか。米ヒューレット・パッカードカンパニー シニアディレクターのマーク・サビュースキー(Mark Sarbiewski)氏に話を聞いた。

セキュリティの問題を“元から断つ”

 Eコマースやオンラインバンキング、オンライントレードなどWebアプリケーションがビジネスや日常で当たり前に使われている昨今、そのレスポンスが遅れて顧客に不快な思いをさせれば、即、機会損失やブランド性の低下を招くし、ハッキングに遭い顧客データなどを盗まれてしまえば企業は致命的なダメージを被る。サビュースキー氏はこうした状況について次のように解説する。

 「品質やセキュリティの問題は企業の存続を左右する。特にハッキングに遭うとその回復に100万ドルのコストがかかることも珍しくない。だが、そうした事態を避けるうえで何より問題なのは、“セキュリティ上の脆弱性がアプリケーションそのものの中に潜んでいる”という事実だ」

 これは、Webアプリケーションの開発者は「“開発のプロ”ではあっても、多くの場合、セキュリティのプロではない」ことに起因する。その専門家ではない以上、セキュリティホールに十分に配慮しながらコーディングを行うことがそもそも難しいというわけだ。そこで同社では、こうした状況の中、「では最初から脆弱性が潜んでいないものを作るにはどうすべきか」と考えたことが、2社の買収につながったという。

写真 米ヒューレット・パッカードカンパニー シニアディレクターのマーク・サビュースキー(Mark Sarbiewski)氏

 まず、2007年に買収したSPIダイナミクスは、アプリケーション開発のライフサイクルを通じてセキュリティ上の脆弱性を検知する製品・サービスを提供してきたベンダであり、HP自身もその製品・サービスを利用してきた経緯を持つ。具体的には、実際に稼働しているアプリケーションに対し、“ハッカーが外部から攻撃するように”あらゆるパターンでテストを行い、脆弱なポイントを検知、明確化する。

 ただ、こうしたブラックボックステストは、脆弱性を効率的に検知するうえで非常に有効な半面、エンドユーザー視点で“外側から”テストするため、問題点があってもその原因個所までは特定することができない。すなわち「どのコードに、どんな問題があるのか、コードは効率的な構造になっているのか、といったアプリケーション内部の問題までは把握することができない。

 よって、「最初から脆弱性が潜んでいないものを作る」ためには、アプリケーションの動作を支えるコードそのものの問題を解析する静的テストも求められる。サビュースキー氏は「まさしく、そのためにフォーティファイ・ソフトウェアを買収した」と解説する。

 「周知の通り、フォーティファイ・ソフトウェアは静的解析ツールで定評のあるベンダ。ソフトウェアのコードを自動的に分析し、脆弱性のあるコードを効率的に発見する技術を持っている。このフォーティファイ・ソフトウェアとSPIダイナミクスの技術を掛け合わせることで、“アプリケーションを使ったときの弱点”と、それを支えている“コードの弱点”を洗い出し、2つのテスト結果を合わせれば、問題の現象、原因を特定することができる。これにより、『どこがアプリケーションの弱点なのか』を高精度に特定できるほか、『コードを修正するうえで、最もプライオリティの高い部分はどこか』も迅速に分析可能となる。すなわち、問題原因を根本的に摘み取り、Webアプリケーションの脆弱性、セキュリティ上の問題をプロアクティブに防止できるというわけだ」

写真 “アプリケーションを使ったときの弱点”と、それを支えている“コードの弱点”を洗い出し、2つのテスト結果を合わせて問題の現象、原因を特定する

 むろん、ブラックボックステストとホワイトボックステストの長所を掛け合わせ、短所を補完する“グレーボックステスト”は以前から存在する。ただ、それぞれの分野におけるリーディング企業の技術を融合させて、より確実にテストを行いやすい環境を提供すべく「1つの製品としていく」点に今回の意義があるという。

 というのも、開発作業は、開発途上の段階にあっても、その過程でコードの問題が発見されれば、即、修正しながら開発プロセスを進めていく形となる。しかし周知の通り、開発工程が進めば進むほど迅速な修正は難しくなる。開発の後半になって問題が見つかれば、大幅な手戻りが発生する可能性もある。

 「その点、開発者がひと仕事を終えるたびに、本製品を使ってスキャニングをし、開発の初期段階から、ブラックボックス、ホワイトボックスを掛け合わせたテストを行いながら工程を進める形とすれば、問題を確実につぶしながら工程を進められる。すなわち、確実かつスピーディにセキュアなアプリケーションを開発できる環境が整う」

 本製品は、アプリケーション・ライフサイクルの各段階におけるセキュリティテストを支援する「HP Application Security Center」の一製品として組み込まれ、「近日中にベータ版を発表する予定」だという。

「HP Application Security Center」は開発を支える3本柱の1つ

 一方、サビュースキー氏は、「コストを抑えながら、アプリケーションの品質やパフォーマンス、セキュリティを担保する」というテーマについて、「アプリケーションのライフサイクルに沿った管理が重要だ」とも指摘する。ビジネスの要求に従って「何を開発するのか、何に投資するのか」を決めるアプリケーションの企画段階から、開発、運用まで、プロジェクトの各工程を確実に管理、実施していくことで、「ユーザーテストで不具合が見つかるような、大幅な手戻りや、無駄な投資を未然に防げるため」だ。

 これを受けて同氏は、BTO Softwareシリーズの中から、アプリケーションライフサイクルマネジメントを実現する一連の製品群をあらためて紹介する。まず、企画段階の核となるのが「HP Project and Portfolio Management Center」だ。同製品は業務部門から寄せられる全要件を集約して一元管理するほか、ビジネス要求の重要度、コスト、リソースといった任意のKPIに応じて、全ビジネス要求に対する投資の優先順位付けを支援する。これにより、ビジネス目標に対して真に意義のある開発案件への投資の集中を支援するという。

写真 BTO Software製品群のポートフォリオ

 一方、開発段階ではアプリケーションの「品質」「パフォーマンス」「セキュリティ」を3本柱と考え、これらを担保する3製品を用意しているという。具体的には、「品質」を担保する「HP Quality Center」、負荷・性能検証テストにおける検証や分析、チューニング、キャパシティプランニングなど、パフォーマンス管理を支援する「HP Performance Center」、そして「セキュリティ」を担保する「HP Application Security Center」の3つだ。つまり、先のSPIダイナミクス、フォーティファイ・ソフトウェアの技術は、こうした開発フェーズを支える3本柱の1つに組み入れられる形となる。

アプリ開発は、ビジネスとの整合性を図る企画段階が真のスタート

 サビュースキー氏はこれらを指して、「開発に“スピードと品質の両立”が求められているいま、セキュリティをいかに担保するかという問題と並んで、品質を確実に担保する開発環境整備も大きなカギになる」と指摘。現在のビジネス環境における「HP Quality Center」の重要性をあらためて解説する。特に同氏が強調するのは、HP Quality Centerが「要件定義や各種テスト資産などを、単一のリポジトリで管理する仕組みを持ち、開発プロジェクトの全関係者の情報共有を実現する」という点だ。

 「例えば、開発の現場ではテスト管理にWordやExcelを使う例も多い。しかし仕様書を書く人や開発者、テスト技術者など、各関係者がそれぞれ異なるアプリケーションを使い、電子メールで互いにファイルをやり取りするような環境では、ファイルを紛失したり伝達が遅れたりする可能性もある。大規模開発などで開発チームの人数が多くなれば、確実な情報共有が難しくなり、もはやこのやり方ではプロセスとして成り立ちにくくなってしまう」

 特に開発拠点が物理的に分散しているケースも多い昨今、「IT部門に入ってくる要件と関連情報を一元管理して、すべてを見渡し、コントロールできる環境が必要だ」という。その点、HP Quality Centerは、開発段階の情報を一元管理できるほか、任意の時点における一連の要件やテスト計画を“基準(ベースライン)”としてキャプチャし、いつでも基準設定時の状態を復元できる『ベースライン機能』を持つ。また、個々の要件、テスト計画に加えられた変更を、履歴(バージョン)として管理し、任意のバージョンを比較・再利用できる『バージョン管理機能』もある。

写真 「アプリケーション開発を企画段階から考えるのも、セキュリティ面の強化も、“後で問題を生じさせない”ため」

 これによって、「ユーザーから要求変更があって、テスト工程に変更が生じても、関係者間で即座に情報共有したり、当初の要件やテスト計画を確認したり、既存の要件やテスト計画を再利用したりすることができる。従って、作業の変更を最小限にとどめ、あらゆる変更に対して迅速かつ確実に対応できる」

 すなわち、企画段階から流れを俯瞰すれば、まずHP Project and Portfolio Management Centerで、ビジネス目標に対して意義のある開発案件を絞り込み、優先順位を付けてからプロジェクトをスタートさせ、そのあとは、HP Quality Centerが統合されたフローで、必要な情報を共有しながら開発を進められる体制を整える。これと同時に、2社の買収で強化された「HP Application Security Center」がセキュリティ面の問題を、開発段階において“元から断つ”というわけだ。

 「言ってみれば、開発プロジェクトとはハイウェイに例えられる。常に需要とキャパシティのバランスを見据えて、ビジネスサイドの要求に応じて、全案件をスムーズに走らせるためのコントロールが必要だ。そのためには開発段階だけではなく、ビジネスに基づいた企画から開発、運用というアプリケーションのライフサイクル全体を視野に入れて、そもそも問題が生じないような計画立案を目指すことが肝要だ。それがコストを抑えながら優れた品質、セキュリティ、パフォーマンスを担保するポイントとなる」

 サビュースキー氏は最後にこのように述べ、アプリケーション開発における、“ビジネスとITとのギャップを解消する”という「BTO(Business Technology Optimization)コンセプトの重要性を、別の角度からあらためて強調した。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ