Introduction
Webアプリケーション診断とは、WebサイトやWebアプリケーションにひそむ脆弱性を診断し、明らかにする診断サービスのことです。企業内で運営するコーポレートサイトや、ECサイトなどに脆弱性がひそんでいた場合、脆弱性を利用したサイバー攻撃を受ける可能性があります。Webアプリケーション診断は、サイバー攻撃による脅威を防ぐための重要な対策のひとつです。
この記事では、Webアプリケーション診断とは何か、メリットや診断の流れなどについて解説します。
目次
Webアプリケーション診断とは?
Webアプリケーション診断とはどのようなものか、ほかの診断と何が違うのかなどについて解説します。
WebサイトやWebアプリケーションに対するセキュリティ診断のこと
Webアプリケーション診断とは、デジタル庁の『地方公共団体の基幹業務システムの標準非機能要件の拡充等について』によると、以下のように定義されています。
Webアプリケーション診断
Webアプリケーション診断とは、Webサイトに対して行うWebサーバやWebアプリケーションに対するセキュリティ診断のこと。
Webアプリケーション診断は、WebサイトやWebアプリケーションにひそむ脆弱性を診断し、明らかにする診断サービスのことです。そのため、セキュリティ診断は、脆弱性診断と呼ばれることもあります。
企業サイトやECサイト、情報サイトなどを構築して運営している場合、セキュリティ診断の実施が推奨されています。WebサイトやWebアプリケーションには脆弱性が存在し、悪意ある第三者がその脆弱性を利用して、サイバー攻撃をしかけてくる可能性があるためです。
たとえば、あるECサイトでログイン時に入力したIDが間違っていた場合に「IDが存在しません」と表示されたとします。この場合、いろいろなIDを入力してみて「IDが存在しません」のメッセージが表示されなければ、存在するIDを特定できてしまいます。これは、認証項目を推測できてしまう脆弱性です。
このように、「親切から実装した機能が脆弱性を生じた」という場合もあり、開発者でも一見して脆弱性がどこにひそんでいるかわからないため、Webアプリケーション診断を定期的に行う必要があります。
▽あわせて読みたい▽
>>脆弱性診断とは?診断の種類や必要な理由、やり方やツールについても解説のページへ
プラットフォーム診断との違い
Webアプリケーション診断とは別に、プラットフォーム診断もあります。両者の違いは何なのでしょうか。
プラットフォーム診断とは、OSやミドルウェア、ネットワーク機器やサーバーなど、システムの基盤となるプラットフォームの脆弱性診断のことを指しています。プラットフォームにひそむ脆弱性を明らかにし、脆弱性対策を行うための診断サービスです。
一方、Webアプリケーション診断は、WebサイトやWebアプリケーションそのものに対する脆弱性診断です。2つの診断は、診断対象が異なることがわかります。
OSやミドルウェアなどの脆弱性に対しては、製造元のベンダーが製品のアップデートを行い、対策しています。そのため、比較的迅速に脆弱性対策が行われ、アップデートを行えば対処可能です。
しかし、WebサイトやWebアプリケーションは、OSやミドルウェアなどのように汎用的ではなく、企業ごとに開発された非汎用的な製品であることが多いです。そのため、WebサイトやWebアプリケーションの脆弱性は製品ごとに異なり、個別に診断を行う必要がある点に注意しなければなりません。
ペネトレーションテストとの違い
セキュリティ診断(脆弱性診断)とよく比較されるものとして、ペネトレーションテストがあります。
セキュリティ診断は、サイバー攻撃の侵入口となる脆弱性がないかを網羅的に調べて、検出する診断です。Webアプリケーションやネットワーク機器、OS、ミドルウェアなどの脆弱性を、ツールによる自動診断、専門家による手動診断などで見つけだします。
一方、ペネトレーションテストとは、想定される攻撃シナリオに沿って、セキュリティ対策が十分かを調査するものです。たとえば、社員がメールの添付ファイルを開いた場合、内部犯行によりデータを盗もうとした場合などのシナリオを想定して、テストを行います。攻撃者による侵入や改ざんなど、特定の手口を想定してテストを行う点が、システムに対する網羅的な診断を行うセキュリティ診断と異なります。
ペネトレーションテストに関してはこちらもご覧ください。
>>ペネトレーションテストとは?脆弱性診断との違いやメリット・注意点、手法について解説のページへ
>>脆弱性診断とペネトレーションテストの違いとは?自社に必要なのはどちらか、選び方を解説のページへ
最新の脅威への対策ができる
WebサイトやWebアプリケーションを構築した際に、脆弱性診断を受けていれば問題ないというわけではありません。脆弱性は後から見つかることも多く、新たな手口によるサイバー攻撃も次々と登場しています。
そこで、Webアプリケーション診断を定期的に実施すれば、最新のセキュリティの脅威に対策を講じることが可能です。
専門家からのフィードバックやサポートを受けられる
Webアプリケーション診断を専門会社に依頼すれば、セキュリティの専門家からのフィードバックやサポートを受けられます。
Webアプリケーション診断で脆弱性が明らかになっても、見つかった脆弱性に対する対策が行われなければ、意味がありません。診断後に脆弱性対策を行うためのフィードバックやサポートを受けられる専門会社に依頼することにより、スムーズに対策できます。
脆弱性を見つけるだけでは意味がないので、その後のサポートにつなげられる体制を整えておく必要があるでしょう。
関連サービスについて
Webアプリケーション診断における主なチェック項目
Webアプリケーション診断には具体的にどのような診断項目があるのか、その一部をご説明します。
分類 | チェック項目 | 主なチェック内容 |
入出力処理 | クロスサイトスクリプティング | 入力エリアに悪意あるスクリプトを埋め込めるなどの脆弱性がないか |
SQLインジェクション | SQL文生成方法の問題により、データベース情報漏洩、改ざんなどを招く脆弱性がないか | |
HTTPヘッダインジェクション | 入力値をHTTPレスポンスヘッダに出力する際に、意図しないヘッダが追加されるなどの脆弱性がないか | |
認証処理 | ログインフォーム | ログインフォームなどの秘密情報を入力するエリアで、入力情報の扱いが適切か |
エラーメッセージ | 認証項目の入力時に、エラーメッセージから登録された認証情報が推測可能になっていないか | |
セッション管理 | 長いセッションの有効期限 | セッションIDの有効期限が長く、特定しやすい状態になっていないか |
強度の低いセッションID | セッションIDの値に法則性があるなど、第三者が推測可能な状態になっていないか |
ほかにも、認可、Webサーバー設定、クライアントサイド技術、アプリケーション仕様や設計などに関する脆弱性もあります。Webアプリケーション診断のチェック項目は、数多く存在することがわかります。
このようなWebアプリケーションの診断項目をまとめた「診断基準」としてはOWASP ASVSなどがあります。
▽あわせて読みたい▽
>>クロスサイトスクリプティング(XSS)とは?手口や被害事例、対策をわかりやすく解説のページへ
>>SQLインジェクションとは?手口や被害事例、対策をわかりやすく解説のページへ
Webアプリケーション診断を行う方法
Webアプリケーション診断の方法には、ツールによる診断と専門家による手動診断の2種類があります。どちらの診断方法にもメリット、デメリットがあり、適した診断項目が異なります。もっともおすすめなのは、ツール診断を利用して効率アップをはかりつつ、重要な部分で手動診断を行う方法です。
ここでは、2種類の診断方法についてご説明します。
ツール診断
ツール診断を行うと、既知の脆弱性や網羅的に確認すべき項目などを効率よく短時間で診断できます。たとえば、Webサイトの文字入力欄に対し、ツールで自動的に文字列を入力して、セキュリティ上の不備を検出するなどの方法です。
Webアプリケーション診断には多くの診断項目が存在するため、すべての内容を人の手で診断できるわけではありません。そこで、ツール診断を活用すれば、効率よく診断を行うことが可能です。
手動診断
セキュリティの専門家が手動で診断を行う方法です。機械的な診断項目であれば、ツール診断を活用することで診断できます。しかし、専門家が対話型で操作しないと、検知できない脆弱性も存在します。そのような場合には、セキュリティに関する深い知識をもつ専門家による手動診断も必要です。
Webアプリケーション診断の流れ
Webアプリケーション診断が行われる流れは、以下のとおりです。
1.ヒアリング
まずは、現在のWebサイト、Webアプリケーションの状況や診断に関する要望などについてヒアリングを行います。
2.診断計画
ヒアリングの内容から診断内容を見積もり、計画を立てます。
3.診断内容の設計・診断の実行
具体的にどういう方針や手段で診断するかを設計し、診断を実行します。
4.報告書による報告
診断結果を報告書にまとめて報告します。
5.再診断(必要に応じて)
脆弱性が検出された箇所や、より詳しく診断した方がよい箇所などがある場合には、必要に応じて再診断を行います。無料で再診断を受けられるサービスもあります。
関連サービスについて
Webアプリケーション診断の依頼先の選び方
Webアプリケーション診断を依頼する際には、信頼できる依頼先を選ぶ必要があります。ここでは、どのようなポイントを確認して、依頼先を選ぶべきなのかをご説明します。
①対応範囲
対応できる範囲はどこまでなのか、自社のWebサイトやWebアプリケーションが対象になっているのかを確認しましょう。
診断プランによっては、個人情報を保持するサイトや、決済サービスを扱うサイトが対象になっていない場合もあるので、ご注意ください。
②診断基準
目的とするサイトやアプリケーションに応じて適切な「診断基準」を選択できることは重要です。多くの場合、OWASP Top10 や ASVS などの外部基準を参照する形で、最適な基準を選択できます。一方、そのような基準が無い場合、必要な診断項目が漏れるなどの恐れもあるため注意が必要です。
③信頼性
多くの専門会社のなかで信頼性の高い会社を選ぶためには、IPA(情報処理推進機構)の『情報セキュリティサービス基準適合サービスリスト』を利用することをおすすめします。これは、経済産業省が策定した、情報セキュリティサービス基準の審査を通過した専門会社のリストです。それぞれの審査登録機関の審査を通過しており、さらにIPAに対して誓約書を提出しているため、一定の信頼性があります。
④アフターフォロー
Webアプリケーション診断の内容や対象、サポート期間なども重要ですが、アフターフォローが十分かも確認しておきたいポイントです。診断結果の報告後、再診断を受けられるのか、脆弱性が見つかった場合の対処を依頼できるのかなどを確認しましょう。専門家による手厚いサポートを受けられるサービスがおすすめです。
⑤同業種での導入実績
WebサイトやWebアプリケーションの仕組みや性質は、業界によって大きく異なります。同じ業種の企業の診断実績が豊富な専門会社を選ぶことで、過去の事例や実績を踏まえたサポートを得られます。そのため、過去の導入実績に、自社と同じ業種のケースが多い専門会社を選ぶのがおすすめです。
⑥費用
Webアプリケーション診断の費用相場を抑え、サービスやサポート内容を十分に検討して選びましょう。そのためには、複数の専門会社の費用やサービス内容を比較する必要があります。
SHIFTのセキュリティ(脆弱性)診断について
SHIFTでは、セキュリティ基準の高い金融業界のセキュリティ(脆弱性)診断実績が多く、高品質な診断サービスをご提供いたします。ツール診断はもちろん、専門家によるブレのない高い品質の手動診断もご利用いただけます。
自社のコーポレートサイトやECサイトのWebアプリケーション診断を実施したいとお考えの方は、ぜひSHIFTにご相談ください。診断後の対応なども強力にサポートさせていただきます。
セキュリティベンダー選定のための比較チェックシート
脆弱性診断サービスの導入にあたり、数あるセキュリティベンダーの中から最適なベンダーを選定するためには確認すべき観点が多くあり、それらを正しく判断するためには本来豊富な知見が必要です。
しかし、担当者の誰しもがそのような知見を持っている訳ではありません。そこで、SHIFTは、誰でも簡単に重要な観点を押さえながら、ベンダーの比較検討ができるチェックシートをご用意しました。お客様に合った最適なセキュリティベンダーを選んでいただくことにお役立ていただければ幸いです。
脆弱性診断サービスの導入にあたり、数あるセキュリティベンダーの中から最適なベンダーを選定するためには確認すべき観点が多くあり、それらを正しく判断するためには本来豊富な知見が必要です。
しかし、担当者の誰しもがそのような知見を持っている訳ではありません。そこで、SHIFTは、誰でも簡単に重要な観点を押さえながら、ベンダーの比較検討ができるチェックシートをご用意しました。お客様に合った最適なセキュリティベンダーを選んでいただくことにお役立ていただければ幸いです。
まとめ
この記事では、Webアプリケーション診断とは何か、メリットや診断の流れなどについて解説しました。
WebサイトやWebアプリケーションの脆弱性は、どこにひそんでいるかわかりません。また、一度診断を受けても新たな脆弱性が発見されたり、攻撃手法が変わったりすることもあります。そのため、企業サイトやECサイトの構築時だけでなく、その後も定期的に診断を受けることをおすすめします。
>>SHIFTのセキュリティソリューションのページへ
>>お問い合わせページへ
>>料金についてページへ
▽あわせて読みたい▽
>>脆弱性診断の適切な頻度とは?項目ごとの違いやタイミングについて解説のページへ