pr


 @IT情報マネジメント編集部主催イベント「@IT情報マネジメントゼミナール ソフトウェアテスト春ゼミ アプリケーションの品質とセキュリティの確保〜テスト手法・ツールの有効活用〜」が、2009年3月11日に東京・秋葉原UDXギャラリーで開催された。

会場

 いまや企業内のクライアントアプリケーションの主流は、Webアプリケーションに移ったといっても過言ではないだろう。SaaSクラウドコンピューティングといった最近注目のキーワードも、Webアプリケーション技術に支えられている。このようにWebアプリケーションが普及する一方で、そのセキュリティ問題も顕在化してきている。

 開発費用や納期の問題から、セキュリティに配慮したテストまで十分に行えている企業やプロジェクトは少ない。では、限られた予算と時間の中でいかに効率よくテストを実施し、最低限のセキュリティを担保すればよいのだろうか。

 今回のセミナーでは、「テストをどこまでやればよいのか分からない」「効率のよいテストを実現するには?」「テストツールの有効性は?」といったユーザーに向けて、セキュリティテストの概要やテストツールの機能などを紹介した。

園田氏
IPAセキュリティセンター
園田道夫氏

 セッションに先立って行われた基調講演では、独立行政法人情報処理推進機構(IPA)セキュリティセンターの園田道夫氏が「セキュリティテストの話」と題し、セキュリティテストやファジングについて説明した。

 園田氏は冒頭、「ソフトウェアを開発し、テストをするエンジニアには、そもそもそのソフトウェアやセキュリティを壊そうとするクラッカーなどの心理が分かりづらい」と指摘。セキュリティテストでは、正常な動作を確認するためのテストよりも、壊そうとする技術知見によるテストを行う方が脆弱性を発見するには向いているとした。そして、ファジングの有効性や利用実例、現状のファジングの限界などを分かりやすく解説した。

 園田氏の基調講演に続いて行われたセッションでは、日本アイ・ビー・エム株式会社(以下、日本IBM)と日本ヒューレット・パッカード株式会社(以下、日本HP)がそれぞれのテストツールの特徴を説明。今回のレポートでは、この2社のセッション内容をピックアップして紹介する。


イベントレポート インデックス
『ツールで簡単、Webアプリケーション・セキュリティ・テスト』
‐ 日本IBM
『アプリケーションライフサイクルを通したセキュリティの管理』
‐ 日本HP


事業継続セミナー セッション1:日本IBM
『ツールで簡単、Webアプリケーション・セキュリティ・テスト』

 日本IBMのセッションでは、「なぜWebアプリケーションが危険なのか」という点を例を交えて説明し、そのリスクを低減するためのセキュリティツールを紹介した。

雨宮氏
日本アイ・ビー・エム株式会社
ソフトウェア事業 Rational事業部
雨宮 吉秀氏

 まず雨宮氏は、現在のWebアプリケーションの危険性について、「ウイルス対策やネットワークセキュリティ対策はしているのに、Webアプリケーションのセキュリティ対策は実施していない企業が多い」と警告。実際、アプリケーションの脆弱性対策は組織的な対応がなされておらず、多くの企業ではセキュアなアプリケーションを書くための技術演習や教育も十分ではないという。

 実際に、アプリケーションが想定していないSQL文を実行させることで攻撃する「SQLインジェクション」や、サイト間を横断して悪意のあるスクリプトを混入させる「クロスサイトスクリプティング」などの攻撃は、いまも頻繁に行われており、Webアプリケーションが攻撃される可能性は増していると警告した。

 Webアプリケーションの脆弱性検査を行う場合には、自社内で手動で行うケースや、ツールで行うケース、外部に委託するケースなどが想定される。しかし、外部に委託するケースでは数百万円単位でコストが発生するため、コスト面を考えるとなかなか厳しい。また、SQLインジェクションやクロスサイトスクリプティングの攻撃テストはかなりのパターンを検査しなければならないため、社内で手作業でやるのは非現実的だ。

 そこで、注目されるのが「ツールを用いて自社内でテストを行う方法」だ。

 自社内で行う場合、その企業のポリシーによって、開発段階で開発しながらテストしたり、ビルド段階で行ったり、最終テスト段階で行うなど、さまざまなフェイズに応じたツールを利用して行うことができる。「やはり、開発段階に近ければ近いほど手戻りが少なくなるので、修正にかかる工数と時間も削減できる。従って、コスト削減には有効だ」(雨宮氏)と説明する。このような環境下において同氏が推奨するのが、Webアプリケーションのセキュリティ検査をする「IBM Rational AppScan」シリーズだ。

 「IBM Rational AppScan」シリーズの最もスタンダードな製品で、スタンドアロンでも利用できるのが「AppScan Standard/Express Edition」だ。開発工程だけでなく、セキュリティ検査サービス会社なども利用する汎用性の高いWebアプリケーションの脆弱性テストツールだ。

 「AppScan Standard/Express Edition」では、Webアプリケーションは“ブラックボックステスト”方式で検査する。ブラックボックステストとは、アプリケーションにテスト用の入力値を与え、その出力を検証してアプリケーションに脆弱性がないかどうかを判定するテストする手法だ。このテストは膨大な量の入力データを試すため、この作業を自動化し、手作業に比べて圧倒的に時間とコストを削減できるという。具体的には、「ログイン方法の指定」などいくつかの項目をウィザード形式で設定するだけで自動的にWebアプリケーションを検査。問題があった場合には、.NETやJ2EE、PHPなどWebアプリケーションでよく使われている言語の修正方法やサンプルコードを表示する。

 最新バージョンの「7.8」では、Web 2.0技術サポートとして「Flash/Flex」をサポート。Flashアプリケーションの自動検査や、Flash経由のクロスサイトスクリプティング、Ajaxの検査にも対応した。また、バイナリが日本語と英語で共通なので、日本語/英語の切り替えも可能で、日本語で検査した結果を英語で参照することも可能だ。

 開発段階向けのテストツールには、「AppScan Developer Edition/Build Edition」を提供する。Developer Editionは、開発ツールと統合されたWebアプリケーションテストツールで、「Eclipse」「Rational Application Developer」(RAD)と統合可能だ。開発段階でテストするため、ソースコードを検査する“ホワイトボックステスト”もできる点が特徴となっている。一般に、ホワイトボックステストでは多くの問題が指摘されすぎて、修正の優先度の判定に手間がかかるのが問題とされているが、AppScan Developer Edition では、ホワイトボックステストとブラックボックステストを共に行えるため、ホワイトボックステストで検出された問題の中で、現実に表面化する問題を特定することが可能だ。

 Build Editionの最大の特徴は、「ビルド時に行える」という点だ。「ソースコードがすべて集まった段階で行えるので、開発にかなり近い段階でなおかつ実際にアプリケーションも動かすことができるというメリットがある」(雨宮氏)と説明する。Build Editionでは、ビルドプロセスに統合されており、GUIではなくスクリプト内からスキャンを実施するのが特徴だ。汎用的なコマンドラインを利用することで多くのビルド環境へ統合できるほか、既存のビルドシステムをサポートする。ビルド段階なのでセキュリティテストを強制できるという観点でのメリットも大きい。

 「AppScan Tester Edition」は、QA(Quality Assurance:品質保証)ツールに統合されたテストツール。各種セキュリティテストをQAテストと同時に行うことができるのが特徴だ。具体的には、IBMのQAツールである「Rational Quality Manager」と、HPのQAツールである「HP Quality Center」と連携する。この連携により、QAツールの機能テストと同時にセキュリティテストも実施し、その結果はQAツールの品質管理機能で管理が可能になる。

 「AppScan Enterprise Edition/Reporting Edition」は、複数のWebアプリケーションの脆弱性を検査し、その結果や検査状況を視覚的に一元管理できる製品。複数ユーザーが複数のWebアプリケーションを同時にスキャンできるほか、ユーザーの職責や、担当プロジェクトに応じて、アクセスできるサーバやアプリケーションを制限することが可能だ。さらに、担当者個々のセキュリティ知識などに応じたスキャン権限も設定可能とし、セキュリティ検査の確実性、安全性を高めた。

 雨宮氏は最後に、セキュリティテストの問題解決策として「できるだけ多くの関係者を参加させること」というポイントを挙げた。より多くのテスターが参加すれば、それだけ多くのアプリケーションをテストすることが可能であり、より開発に近い段階でテストすればそれだけコストを削減できるからだ。同氏は、「テストが開発工程の一部になれば、予定外のスケジュール遅れやコスト増加を防げる。開発にかかわる1人でも多くの人がテストに参加するようになることが重要だ」と訴え、講演を締めくくった。

【日本アイ・ビー・エム株式会社 お問い合わせ先】
MAIL :


事業継続セミナー セッション2:日本HP
『アプリケーションライフサイクルを通したセキュリティの管理』

 日本HPのセッションでは、同社の増田氏がセキュリティテスト製品を取り巻く状況を説明し、Webアプリケーションの脆弱性が問題化している点を指摘。その脆弱性を低減するツールとして「HP Application Security Center」を紹介した。

増田氏
日本ヒューレット・パッカード株式会社 HPソフトウェア・ソリューションズ統括本部 ソリューションマネージャ
増田 博史氏

 増田氏は企業システムを取り巻く課題は大きく分けて、情報漏えいや事業継続性などに対応する「リスク対策」、日本版SOX法やPCI DSSへの対応を代表とする「コンプライアンス対応」、そして昨今の経済情勢を踏まえてプレッシャーの高まっている「TCO削減」があるとした。

 このような課題の中でも、企業のWebサイトの脆弱性に関する問題が激増していると指摘。例えば、2007年に起きた漏えい事故の媒体は「Web、インターネット」が第2位で全体の15.4%を占めたという。また、2008年第1四半期におけるWebアプリケーションの脆弱性に関する届出数は244件となり、Webサイトに関する届出数が過去最高を記録した。また、独立行政法人情報処理推進機構(IPA)は、SQLインジェクション攻撃が急増している点を警告し、WebサイトのSQLインジェクション脆弱性検出ツール「iLogScanner V2.0」を公開しているほどだ。

 また、同氏はガートナーの調査結果を例示し、「攻撃やハッキングの75%はアプリケーションレベルで発生している」と指摘。「ファイアウォールIDS/IPSなどは、アプリケーションレベルの攻撃を検知できるもののSSLに未対応な製品もあるため、ソースコードレベルでの脆弱性対策は必須になってきている」とコメント。これらの点を踏まえ、「Webアプリケーションの脆弱性は増加し続けている。しかも、従来はハッキングなどのWebアプリケーションへの攻撃は趣味やいたずらの類だったが、現在は金銭目的の犯罪に変化してきており、脆弱性を放置しておくリスクは件数とともに質の面でも急増している」と警告した。

 このようにWebアプリケーションへの攻撃が急増している中で同氏が注目するのが、セキュリティ標準として最近話題になっている「PCI DSS(Payment Card Industry Data Security Standard)」だ。

 PCI DSSは、2005年に米国で起きた数千万件に及ぶ大量のクレジットカード情報漏えい事件発生後、この事件を重く見たMasterCardやVISA、JCBなど国際クレジットカードブランド5社が、クレジットカード情報のセキュリティを担保するために、共同で策定した世界的なセキュリティ標準。最大の特徴は、開発や運用への要求が具体的に明記されており、分かりやすい点だ。

 例えば、コーディング段階での脆弱性を防止するため、クロスサイトスクリプティングやSQLインジェクションへの対策をしなければならないと明記。さらに、四半期ごとに脆弱性スキャンを行うことや、年1回のペネトレーションテストの実施、システムに大きな変更を行った際には脆弱性スキャンを義務付けている。

 増田氏は、「PCI DSSは、クレジットカードのデータをオンラインで取り扱うWebアプリケーションには必須の要件となってきている。しかし、最近ではそれ以外の用途や業界のWebアプリでも、同等レベルのセキュリティ対策を行うようになってきている」と発言。日本HPではセキュリティテストツール「Application Security Center」と、「Approved Scanning Vendor」(ASV)資格を持ったSaaS形式のアセスメントサービスにより、PCI DSSのコンプライアンスレベルにかかわる12個の要件のうち、要件6、11、12に対応している。

 さらに、同氏は「各種のテストを最適に効率化するためには、複雑なセキュリティテストを自動化ツールで行うことも重要だが、それを独立して行わず、ほかのテストと統合的に管理し、実施することも重要である」と提言。例えば、同社の品質検証の統合管理を行う「HP Quality Center」と負荷検証の「HP Performance Center」は、Webアプリケーションの脆弱性テストを重視した「Application Security Center」と連携し、Webアプリケーションの品質を統合的に向上させるソリューションだ。

 具体的には、同社製品「HP Quick Test Professional」により、要件となる正常機能のユーザーオペレーションを記録してテストを行い、その後、「Application Security Center」により、悪意のあるユーザーによる脆弱性への異常なアクセスをパターン化したテストで確認。ソースコード修正等の対策を行った後、再度、その対策によって本来の正常機能が損なわれていないかを、「Quick Test Professional」により確認することが可能だ。そのうえで、同社製品「Load Runner」によって負荷テストを実施できる。これらのテスト全体の進ちょくや、各テストにおける不具合の一元的な管理等を「Quality Center」が行う。

 同社の「Application Security Center」は、「HP WebInspect」「HP QAInspect」「HP DevInspect」「HP Assessment Management Platform」の4製品で構成されており、コーディング、テスト、運用段階のそれぞれで脆弱性を確認できる点が特徴だ。

 これら4製品の共通機能には、HPが用意している脆弱性情報データベース「SecureBase」を参照することで、常に最新の脆弱性情報に更新できる機能が挙げられる。SecureBaseには、現在5500種類以上の脆弱性情報が登録されており、製品自体のバージョンアップや法規制の追加修正に伴うコンプライアンステンプレートのバージョンアップも可能。スケジュール設定での自動アップデートも可能だ。

 HP WebInspectは、アプリケーションの運用向けに使えるセキュリティテストツール。システム管理者やセキュリティエンジニア、監査人などが対象に、既存/新規Webアプリケーションの自動ペネトレーション(侵入)テストや脆弱性診断を行う機能を提供する。具体的には、SecureBaseの脆弱性情報をベースとしたブラックボックステストを主体に実施する。また、レポート機能も特徴だ。PCI DSSや米国SOX法、日本の個人情報保護法などに対応したレポートを作成するためのテンプレートが付属し、20以上の法規制に対応しているほか、SecureBaseと通信することで最新の法規制にも対応できる。

 HP QAInspectはQA(Quality Assurance)向けに、プログラマやテスターのセキュリティ検査を支援するセキュリティテストツール。WebInspectと同様に、SecureBaseをベースとしたブラックボックステストを実施できる。特徴は、HPのアプリケーション品質管理ソフトウェアである「HP Quality Center」との統合だ。

 HP DevInspectは開発向けで、プログラマが利用するセキュリティテストツール。Visual StudioやEclipse、C♯などの各種開発環境に対してプラグインとして機能する。開発段階のテストなので、開発中のコードを分析して危険なコードを抽出・修正するホワイトボックステスト機能と、開発を終えて単体動作段階になったアプリケーションに対してブラックボックステストを行うことで脆弱性を確認する機能を組み合わせる「ハイブリッドアナライシス」を搭載している点が特徴だ。「ブラックボックステスト、ホワイトボックステストの両方を組み合わせたテストができる点が大きい。どちらか一方だけではどうしても誤検知や未検知が発生する。しかし、両方のテストを組み合わせることで、検知スピードと正確性を両立できた」(増田氏)という。

 これら3製品を統合管理できるのが、開発ライフサイクルの管理ツールである「HP Assessment Management Platform」だ。Assessment Management Platformは、アプリケーションのライフサイクル全体を通じた管理が可能で、各部門の担当者全員に対してポリシーや権限を集中制御できるほか、スキャン結果やレポートを一元管理できるようになっている。

 増田氏は、「Webアプリケーションの脆弱性のリスクは年々急増しているが、セキュリティ対策に完璧はない。そこで、PCI DSSなど明示された指標をベースにポリシーを策定し、なおかつこれに対応したテストツールを利用することが重要だ。PCI DSSをベースとし、ツールを有効に活用することで、セキュリティのレベルを担保しつつ、工数とコストを抑えた脆弱性テストを実施することができる」とコメントした。

【日本ヒューレット・パッカード株式会社 お問い合わせ先】
MAIL :
TEL : 03-3512-5290

関連リンク : HP Software 評価版・ダウンロードセンター


 なお、講演の最後には基調講演の園田氏、IBMの雨宮氏、HPの増田氏をパネリストに招いたパネルディスカッションおよび質疑応答が行われた。

パネルディスカッション
パネルディスカッションでは、セキュリティツールのメリットなどについて活発な議論がされた

 パネルディスカッションでは、「開発工程におけるセキュリティ検証の必要性」や「どこまでセキュリティ検査をすればよいのか?」「ツールを使うことによるメリットは?」などの問題が議論された。どこまでやればよいのか、という質問に対しては、「攻撃者はセキュリティレベルの低いところから攻めるもの。高いところをリスクを負ってまで攻撃しない。従って、ハッカーが見つけやすい部分だけでも最低限防ぐべき。ハッカーもツールを使って脆弱性を探しているので、企業側もせめてツールを使って防ぐべきだ。それ以上はコストとの兼ね合いとなる」(雨宮氏)や、「コンプライアンスという観点で考えると、PCI DSSが標準となり得る。はっきりとした要件を示しているので対応しやすいところもよい。大体のミスは簡単なものが多いので、ツールで人的ミスをなくすのが効果的だ」(増田氏)といった答えが出た。


提供: 日本アイ・ビー・エム株式会社
日本ヒューレット・パッカード株式会社

企画:アイティメディア 営業局
制作:@IT情報マネジメント編集部
掲載内容有効期限:2009年4月30日