male Icon

部長が「贅沢性 (ぜいたくせい) に注意しなさい」って言ってたけど、僕ってそんなに無駄使いしてるようにみえる?

部長が言ってたのは「脆弱性 (ぜいじゃくせい)」だよ
システムやアプリケーションに存在するセキュリティ上の欠陥のこと

female Icon

male Icon

脆弱性って情報セキュリティの話だったんだね!
昨日飲み会で話した僕の秘密、朝には部の全員が知ってたよ〜

君はまず自分の脆弱性診断をやった方がいいかも、、
今日はWebアプリケーション脆弱性診断の手順と注意点を解説するね

female Icon

脆弱性診断が必要な理由

Webアプリケーションを担当していると、企画や開発、日々の運用で精一杯の状態になり、脆弱性診断の優先順位がつい下がってしまうこともあるかもしれません。脆弱性診断は本当にやらないといけないのでしょうか。

脆弱性診断とは、Webアプリケーションなどのシステムに関する脆弱性の有無を検査するものです。脆弱性とは、システムに生じるバグやセキュリティ上の欠陥を指します。脆弱性診断を実施し、Webアプリケーションのセキュリティを確認することで、情報漏洩などのリスクを防ぐことができます。

脆弱性は、Webアプリケーションの開発や運営に伴う身近な問題であり、放置すると情報漏洩やウイルス感染など様々なリスクを引き起こします。個人情報が漏洩した場合、補償や顧客への対応などに加えて社会・経済面からの制裁によって企業の存続に大きな影響をもたらす危険性をはらんでいます。

脆弱性とは

システムにおけるセキュリティ上の欠陥。セキュリティホールとも呼ばれる。

脆弱性診断の必要性や費用について詳しく知りたい方は、こちらの記事もご覧ください。

【脆弱性診断とは?必要性や費用も解説】ー脆弱性診断でよくあるお悩みー

脆弱性診断の手順

脆弱性診断は、事前確認、計画、実施、報告書作成、再診断の順番で実施します。

以下それぞれの手順について簡単に解説します。

事前確認

Webアプリケーションの脆弱性診断を進める上でまず最初にやるべきことは、脆弱性診断の対象となるサイトとその対象範囲を明確にすることです。

脆弱性が特に気になる特定の画面や機能があるかもしれませんが、まずは範囲を狭めずに対象範囲となる可能性があるものは全て網羅していきましょう。

診断の計画

次に脆弱性診断の計画を立てていきます。脆弱性診断にかけられるリソースやコストには限りがあります。そのため、事前確認で網羅した範囲の中から、特に脆弱性が気になる部分や、万が一セキュリティ事故があった場合に影響が大きい部分に優先順位をつけていきます。

また、このとき脆弱性診断のスケジュールも作成します。もし開発中のWebアプリケーションであれば、開発のスケジュールと足並みをそろえなければいけません。また、すでに稼働中のWebアプリケーションであれば、稼働を停止するのか、停止する場合はいつからいつまで停止するのかを事前に計画します。ユーザーへの影響を最小限に抑えられるのかなどを検討する必要があります。

診断の実施

計画が定まったら脆弱性診断を実施します。実施前に、関係者やユーザーには事前に脆弱性診断のスケジュールを告知しておかなければなりません。脆弱性診断の計画に沿って診断を実施していき、あとで報告書としてまとめられるよう、実施結果を記録していきます。

もし、脆弱性診断中に重大な脆弱性が発覚した場合は、関係者に素早く報告しましょう。計画の段階で報告体制や報告基準を明確にしておくと、脆弱性診断をスムーズに進められます。

報告書作成

脆弱性診断完了後、診断結果を報告書にまとめていきます。報告書では、脆弱性の各カテゴリごとの危険度のサマリや、各脆弱性への対応方法などがまとめられています。実施したすべての診断を網羅的に報告書へ記載するのではなく、重要度や危険度に合わせて抜粋し、診断後の具体的なアクションに繋げられるよう報告書として作成することが重要です。

実際の脆弱性診断報告書のフォーマットを知りたい方はこちらからダウンロードできます。

脆弱性診断[Web診断]報告書サンプル

再診断

脆弱性診断後、より詳しく診断すべき箇所が見つかったり、脆弱性に対して対策を施した後には再診断を実施することがあります。

脆弱性診断を外部に依頼する際には、再診断が工程に含まれているか、無料で受けられるかなどをあらかじめ確認しておきましょう。

脆弱性診断の注意点

脆弱性診断を実施する上での注意点を3つご紹介します。これらの注意点をよく理解し、効果的な脆弱性診断を実施しましょう。


① 事前にWebアプリケーションの仕様を深く理解する
② 手動診断・自動診断の特性を理解して使い分ける
③ 脆弱性診断の専門家の意見を取り入れる

female Icon

事前にWebアプリケーションの仕様を深く理解する

脆弱性診断を実施する上で、まずWebアプリケーションの仕様を理解することが必要不可欠です。仕様に対する理解が浅いまま計画を立ててしまうと、実際に診断を進めていくうえで漏れが発生したり、意味のない診断をすることに繋がります。

脆弱性診断は実施すること自体が目的ではなく、脆弱性を見つけ、大きなセキュリティ事故や障害に繋がる前に事前に対策を打つことが目的です。そのためには、対象となるWebアプリケーションの仕様についても深く理解しておくことが必要です。

特に脆弱性診断を実施する担当者が開発担当者と異なる場合や、脆弱性診断を外部へ委託する際には、Webアプリケーションの仕様まで深くヒアリングができる方に脆弱性診断を依頼することが重要です。

手動診断・自動診断の特性を理解して使い分ける

脆弱性診断には、手動診断と自動診断の二つの手法があります。

手動診断は、脆弱性診断の専門家が実際にWebアプリケーションの仕様を理解したうえで、手動で脆弱性診断を実施します。過去の知見から脆弱性が見つかりやすいところに重点的に診断実施したり、非専門家では見逃しやすい箇所についても診断することができます。

一方、自動診断は、脆弱性診断の自動診断ツールを活用します。脆弱性診断の非専門家でも簡易な診断を実施することができたり、診断コストを削減することができます。また、手動診断だとしても、専門家の判断で自動診断ツールを活用する箇所もあります。

重要なのは、手動診断・自動診断の特性を理解し、脆弱性診断の目的に合わせて使い分けることです。専門家による手動診断と、ツールによる自動スキャンの2つを組み合わせ、悪意のあるユーザからアクセスがあった際に、一般的な攻撃手段でリスクを発見されてしまわないかを診断することが大切です。

脆弱性診断の専門家の意見を取り入れる

脆弱性診断は非常に専門性の高い領域であり、またセキュリティ攻撃は日々多様化し、進化しています。低コストで済ませようとするあまり脆弱性診断をないがしろにし、セキュリティ事故や障害に繋がってしまっては本末転倒です。

また、脆弱性診断を別部門や外部の会社へ委託する際には、診断の実施だけを依頼するのではなく、Webアプリケーションの仕様や脆弱性診断の計画について深くヒアリングしてくれる方に依頼するのがいいでしょう。

脆弱性診断の専門家の意見を取り入れることで、脆弱性診断以外のWebアプリケーションの仕様や開発における課題点にも気付くことができます。

まとめ

脆弱性診断は、Webアプリケーションのセキュリティを確保するために欠かせない作業です。しかし、脆弱性診断の優先順位が下がりがちなこともあります。脆弱性診断は、情報漏洩やウイルス感染などのリスクを防ぐために重要です。

脆弱性診断の手順としては、事前確認、診断の計画、診断の実施、レポート作成、再診断があります。また、脆弱性診断を実施する上での注意点として、Webアプリケーションの仕様を深く理解し、手動診断と自動診断の使い分け、脆弱性診断の専門家の意見を取り入れることが重要です。

株式会社GENZでは、脆弱性診断にお悩みの方に向けた脆弱性診断サービスをご提供しています。

こんなお悩みをお持ちの方におすすめです。

  • セキュリティリスクに対する不安がある
  • 脆弱性診断のサービスについてまとまった資料が欲しい
  • 検査項目のカテゴリや手法について知りたい

詳しいサービス内容についてはこちらよりサービス資料をダウンロードしてください。

脆弱性診断資料

株式会社GENZでは、お客様のシステム課題にあわせて、経験豊富なスタッフが、テストプロジェクト全体の品質、コスト、納期のバランスを整理したうえで、最適なプランをご提案いたします。脆弱性診断について、ご不明な点やご質問がございましたら、お気軽にお問い合わせください。