脆弱性診断(セキュリティ診断)とは?費用やメリット・デメリット・適切な頻度をわかりやすく解説

脆弱性診断(セキュリティ診断)とは

脆弱性診断(Vulnerability Assessment)とは、ネットワーク、ソフトウェア、Webアプリケーションなどに潜在している脆弱性がないかをチェックして修正するためのセキュリティ対策の手法です。

脆弱性の種類や深刻度、影響を特定するためには、一般的に専門のセキュリティエンジニアがツールを使った自動診断や主導によるマニュアル診断を行います。これにより修正すべき脆弱性を特定し、優先度をつけて対処することができます。

そもそも脆弱性とは

脆弱性(Vulnerability)とは、Webアプリケーション、OS、ミドルウェア、ネットワークなどに潜む「隙間」や「弱点」のことを指します。これは、システムやアプリケーションが予期せぬ攻撃や悪意のあるアクセスから守られていない状態を示しており、脆弱性が存在すると悪意のある攻撃者によって悪用され、システムやデータへの不正アクセス、改ざん、情報漏洩などのリスクを引き起こす可能性があります。

ペネトレーションテストとの違い

脆弱性診断もペネトレーションテストもどちらもセキュリティを評価する手法ですが、目的は少し異なります。 脆弱性診断はシステム内に潜む問題を網羅的に把握し、問題がどのくらい深刻かを特定します。一方で、ペネトレーションテストは実際のサイバー攻撃を模倣し、攻撃者の目標が達成できるかを確認します。

例えるなら脆弱性診断は「侵入のきっかけになりうる入り口」を探す作業に対し、ペネトレーションテストは「その入り口は本当に侵入できるのか」を試す作業です。どちらもセキュリティ向上に役立ちますが、アプローチが異なります。


なぜ脆弱性診断(セキュリティ診断)が必要なのか?

脆弱性診断(セキュリティ診断)の目的

脆弱性診断の主な目的は、システムやソフトウェア、Webアプリケーションに存在する脆弱性を特定し、評価、報告することです。これにより、悪意ある者がこれらの脆弱性を悪用して情報漏えいやシステムへの不正アクセスなどの侵害を行うセキュリティリスクを軽減します。

脆弱性診断では脆弱性を特定し、それらの深刻度や対策の優先順位を報告します。そして、報告を通じて組織に脆弱性の存在を通知し、対処策を提案します。脆弱性に対して適切な対処を行うことにより悪意ある攻撃からのリスクを最小限に抑えられ、組織のセキュリティが向上します。

脆弱性診断(セキュリティ診断)の必要性

脆弱性診断の必要性は、情報技術が中心となった現代社会においてますます重要となっています。昔と異なり、現在はWebサービスやアプリケーションが個人や企業活動に密接に関わっており、経済や日常生活はネットワークに依存しています。このような状況下で情報セキュリティの確保は第一に考えるべき事案です。

脆弱性診断の重要性は、攻撃者が脆弱性を発見し悪用する前に、それらを特定し修正することで、情報漏えいや不正アクセスといったセキュリティ侵害から情報資産とサービスの安全性を確保する点にあります。脆弱性診断を怠り攻撃者の侵入を許してしまった場合、個人情報や機密データが漏洩し、重要な情報資産が危険にさらされるだけでなく、企業イメージも低下し対処や復旧に膨大なコストがかかる可能性もあります。

脆弱性診断は、データ漏洩やサイバー攻撃のリスクを軽減し、企業の信頼性と顧客信頼を保護するために重要な取り組みとして理解されています。


脆弱性診断(セキュリティ診断)の種類

アプリケーション診断

アプリケーション診断は、ECサイトやゲームアプリ、SNS、ウェブAPIなどウェブ上で提供されるさまざまなソフトウェアやアプリケーションを対象に、潜在するセキュリティリスクを特定する手法です。

Webアプリケーションは、ユーザーとサーバー間でデータの処理を行いますが、このデータには個人情報やクレジットカード情報、パスワード、機密情報などの重要なデータが含まれている可能性があります。この処理に脆弱性が存在していた場合、悪意ある攻撃者によって情報を窃取されたり改ざんされるリスクが生じます。

アプリケーション診断によって脆弱性を特定し、適切な対処を行うことでこれらのセキュリティリスクを最小限に抑えることができます。

プラットフォーム診断

プラットフォーム診断は、システムを運用するために不可欠なネットワーク機器、OS、サーバー、ミドルウェアなどに潜在的なセキュリティリスクや設定上の不備がないかを検査・評価する手法です。

インターネットを介してアクセス可能なネットワーク機器やサーバーなどに対してネットワークスキャナーや設定管理ツールを用いて潜在する脆弱性を検出したり、セキュリティエンジニアが手動で機器の設定状況などを調査します。

特に新しいシステムを導入する企業や、前回実施した診断から時間が経過している企業の場合、プラットフォーム診断を実施することはサービスの信頼性を確保し運用していくうえで重要です。


脆弱性診断(セキュリティ診断)の手法

手動診断

手動(マニュアル)診断とは、ソフトウェアやアプリケーション、コードなどを対象に経験豊富なセキュリティエンジニアが攻撃者の視点に立ち自らの手で診断を行う手法です。

ツール診断で検出されやすい偽陽性(実際には脆弱性がないにもかかわらず脆弱性と検出されたもの)を減らし本当の脆弱性を特定したり、アプリケーション特有の環境に合わせて柔軟に実施できるのがメリットです。 また手動診断はセキュリティエンジニア本人の経験や洞察力を駆使して実施されるため、自動(ツール)診断に比べて時間とリソースを必要としますが、ツールでは発見できない未知の脆弱性を発見できるなど深く高精度な検証が可能です。

複雑なビジネスロジックや多くのユーザーインタラクションを持つWebアプリケーション、個人情報を取り扱うECサイトなどに手動診断は適しています。

自動(ツール)診断

自動(ツール)診断とは、自動化されたスキャンツールを使うことでスピーディーな診断を行う手法です。

ツール診断は多くのテストケースを自動的に実行し、大規模なアプリケーションであっても比較的迅速にスキャンできるため、広範なセキュリティの脆弱性の早期発見が可能です。 ツール診断は既知の脆弱性を検出するのに有効ですが、未知の脆弱性や複雑なロジックに起因する脆弱性などを特定するのには向いていません。 また、ツール診断には検出すべき事象を検出できない偽陰性、検出する必要の無い事象を誤って検出してしまう偽陽性が存在していることを把握しておく必要があります。

ツール診断による迅速なスキャンで一般的な脆弱性を効率よく洗い出し、セキュリティエンジニアによる手動診断でより深い検証を行うなど、予算や規模をふまえ、自組織にとって最適なアプローチを検討することが重要です。


脆弱性のリスクと対策

脆弱性の対処をしないセキュリティリスク

検出された脆弱性を放置しておくと悪意ある攻撃者によって深刻なセキュリティリスクが生じる危険があります。

    • 情報漏洩 : 攻撃者が脆弱性を悪用しシステムに侵入することで機密情報の漏洩が起こり得ます。これには顧客情報、従業員データ、知的財産、財務情報などが含まれ、企業や顧客に損害をもたらす可能性があります。

    • サービス遮断 : 攻撃者が脆弱性を利用してシステムに侵入し、システムで動作しているアプリケーションを停止させる可能性があります。これによりサービスの利用不能状態が生じ、企業の信頼性や評判に損害を与えことがあります。

    • 改ざんと破壊 : 攻撃者はシステム内で不正な変更を加えたり、データを破壊したりすることができます。これによりシステムの不正操作やデータの改ざん、破壊が行われる可能性があります。

  • 法律やコンプライアンスの違反 : 特定の業界や地域では、データセキュリティやプライバシー保護に関する要件を課しています。脆弱性の放置はこれらの法的要件に違反し、法的な制裁や罰金の対象になる可能性があります。 セキュリティリスクを最小化し、情報資産を守るために脆弱性の発見と迅速な対処が不可欠です。

脆弱性への対策

脆弱性への対策としては、信頼性のあるセキュリティベンダーやIPAなどのセキュリティ機関が提供するガイドラインを参照し、システムやアプリケーションに対してアクセス制御、暗号化、パッチ適用、セキュアコーディングといった適切なセキュリティ対策を実施することが大切です。 さらにシステム、ソフトウェア、ファームウェアを最新の状態に保つことも脆弱性への対策として有効です。ベンダーから提供されるセキュリティアップデートやパッチを定期的に適用することで、既知の脆弱性に対処します。

独自に開発したシステムやアプリケーションについては、セキュアコーディング、定期的な脆弱性診断やペネトレーションテストを実施することで脆弱脆弱性に対処する必要があります。


脆弱性診断(セキュリティ診断)の費用相場

脆弱性診断(セキュリティ診断)の費用は診断対象の規模や、実施の期間など様々な要因によって異なりますが、主に以下の要因で決定します。

    • 診断対象の規模と複雑性 : 対象となるシステムの規模や複雑性が増すほど、診断にかかる時間とリソースが増加し費用も高くなります。一般的なWebアプリケーションの場合、対象となるURL数と稼働日数、実施するセキュリティエンジニアの人数などで金額が変動しますが、大規模で複雑なシステムやネットワーク環境への診断は高額になる傾向があります。

    • 規制要件 : 特定の規制要件(PCI DSS、GDPRなど)に準拠する必要がある場合、それらの要件を満たす診断を実施するために費用が増加する可能性があります。

  • その他の費用 : お客様が指定する場所でのオンサイト診断や特別なレポートを作成する必要がある場合などは、別途費用が増加する可能性があります。

脆弱性診断(セキュリティ診断)の主な流れ

脆弱性診断(セキュリティ診断)の主な流れ

Step1. ヒアリング

お客様から希望の実施時期や予算、診断対象についての詳細な情報などを収集します。診断対象に関するヒアリング内容は以下のようなものです。

    • 対象がWebアプリケーションの場合 : アプリケーションの概要やURL数、画面数、決済機能や連携機能の有無など

  • 対象が内部ネットワークの場合 : システムの概要、対象ホストのIPアドレスやポートに関する情報、通信の遮断機能の有無、想定される攻撃の起点など

Step2. 契約手続き

お客様からいただいた診断要件をもとに診断範囲・対象を特定するための事前調査を行い、診断対象の数や工数から実施に必要な期間やお見積もりを算出し、詳細な診断内容を提案します。 そして内容に問題がなければ実際に診断を行うスケジュールを決定して契約手続きを行います。

Step3. 診断準備

ステークホルダーや関係者にセキュリティ診断の期間、診断範囲、目的、リスク、アクセス権限の確保などを明確に伝え、協力を得るための準備を行います。具体的には通信プロトコルの確立、リスク共有、コミュニケーション経路の整備、法的要件の確認、アラートと緊急対応計画の共有などが含まれます。

Step4. 診断の実施

自動化ツールや手動によるテストにより、診断対象となるアプリケーションやシステムに潜む脆弱性を特定します。 例えば診断対象がWebアプリケーションの場合、一般的にはSQLインジェクション、クロスサイトスクリプティング、クロスサイトリクエストフォージェリ、認証バイパスといった脆弱性の有無や、アクセス制御、認証、暗号化、セッション管理といったセキュリティ設定の評価を行います。

Step5. 報告書の提出

セキュリティ診断の結果を報告書にまとめて提出します。一般的にこの報告書には検出された脆弱性のほかに各脆弱性に対する具体的な対策策定や修正方法について記載されており、これに則り適切な対策を実施することでシステムやアプリケーションのセキュリティリスクを最小限に抑えることができます。 また必要に応じて報告会や再診断を実施できるケースもあります。


脆弱性診断(セキュリティ診断)のレポート例

セキュリティ診断のレポート(報告書)は、診断の結果を文書化したものです。内容は診断対象の性質や規模によって異なりますが、一般的には以下のような内容が含まれています。

    • 診断概要 : 対象となるシステムやアプリケーションに関する情報や診断を実施する目的など。

    • 診断結果 : 実施したテストやスキャンの内容、方法、結果に関する詳細な説明と発見された脆弱性に関する情報など。

    • リスク評価 : 検出された各脆弱性についての重要度や危険度の評価と各脆弱性が組織やシステムに及ぼすリスクや潜在的な影響についての評価など。

  • 対策提案 : 各脆弱性に対する具体的な対策や修正方法、およびそれらの優先順位の提案。

脆弱性診断(セキュリティ診断)を依頼する際のポイント

診断範囲

脆弱性診断の対象範囲はWebアプリケーション、モバイルアプリ、ネットワーク機器、サーバー、クラウドインフラなど多岐にわたります。診断する範囲を事前に明確にしておき、合致するサービスを提供しているか確認しましょう。 また、アプリケーションであれば、決済機能やアカウント管理機能などの重要な機能に限定して診断を実施する、あるいは追加で開発した新規の機能に限定して診断を実施するなど、予算と目的に合わせて診断範囲を決定することも一般的です。

診断方法

脆弱性診断にはツール診断と手動診断の2つのアプローチがあります。ツール診断は既知脆弱性を効率的に検出できますが、複雑な仕様のシステムに対する深い診断には向いておらず、偽陽性や偽陰性への対処を検討しておく必要があります。 診断対象の仕様によってはセキュリティエンジニアの経験や洞察を活かした手動診断が有効な場合も多いことから、どのような診断方法に対応できるか確認しておきましょう。

費用と予算

脆弱性診断の価格は非常に幅広く、数十万〜数百万円のサービスまで様々です。予算を確認したうえで、脆弱性診断の手法や脆弱性診断を実施する対象範囲を調整しましょう。 また、発見された脆弱性の修正にかかる開発費用、システムのアップデートにかかる費用についても、脆弱性診断にかかる費用と別に予算化しておくことが望ましいと言えます。

実績と信頼性

セキュリティエンジニアの持つ資格やCTFでの実績、サービスの導入事例などを確認しましょう。信頼性のある会社は、顧客から高い評価を受けることが一般的です。また、業界標準のセキュリティ資格や認定を持つサービスプロバイダーは、高い専門性を証明しています。

アフターフォロー

脆弱性が見つかった場合、報告書を提出するだけでなく具体的な対策や改善策を提案してくれるかが重要です。さらに、アフターフォローとして脆弱性の修正状況を確認し、再診断を実施してくれる会社もあるため事前に確認しておきましょう。


脆弱性診断(セキュリティ診断)に関するよくある質問とその回答

診断の頻度は?

脆弱性診断の実施頻度は、対象となるシステムやアプリケーションの性質、セキュリティ要件に依存します。 1年に1回程度の定期的な脆弱性診断と、システムに変更が実施された場合の都度実施するなどの方針が一般的ですが、 診断対象のシステムの仕様やビジネスリスクを個別に考慮することが望ましいと言えます。

脆弱性診断とASMの違いは?

脆弱性診断とASM(アタックサーフェスマネージメント)はどちらもアプリケーションやシステムを保護するために使用されますが、アプローチが異なります。 脆弱性診断はツールや手動によって既知または未知の脆弱性を特定するために行いますが、ASMはアプリケーションのサーフェス(外部からアクセス可能な領域)を管理し、不要なエンドポイントやアクセスポイントを削減し、攻撃リスクを低減するためのセキュリティプラクティスの手法を指します。

脆弱性診断を行うタイミングは?

脆弱性診断は半年や1年に1回など定期的な診断を実施することが推奨されていますが、システム、アプリケーション、インフラストラクチャに新しいコード、構成変更、アップデートなど重要な変更が行われた場合も診断を行うことをおすすめします。 脆弱性診断を定期的かつ継続的に行うことでセキュリティの確保と維持が可能となり、潜在的なセキュリティリスクを最小限に抑えることができます。

脆弱性診断で検査する項目は?

脆弱性診断で検査される項目には以下のようなものがあります。

    • SQLインジェクション : 攻撃者が不正なSQLクエリをデータベースに挿入する脆弱性。正しく処理されない入力によって発生する可能性があります。

    • クロスサイトスクリプティング (XSS) : 攻撃者がスクリプトをWebページに挿入し、ユーザーのブラウザで実行させる脆弱性。セッションハイジャックや情報漏えいにつながることがあります。

    • セッション管理の脆弱性 : セッション固定攻撃、セッションハイジャック、認証情報の漏洩など、セッションに関連した脆弱性の検査が含まれます。

    • クロスサイトリクエストフォージェリ (CSRF) : 攻撃者がユーザーの代わりに意図しない操作を実行する脆弱性。ユーザーが攻撃用Webページに誘導されることで発生します。

    • 認証回避 : 認証機構が回避できる脆弱性。攻撃者が正当な認証を持たないままアクセスできる場合があります。

  • データベース脆弱性 : データベースへの不正アクセスやデータベース内のデータ漏洩を防ぐための診断が含まれます。これらは脆弱性診断の一般的な項目の一部であり、実際の診断内容はシステムの種類や診断範囲によって異なります。

診断できない機能は?

脆弱性診断はセキュリティ上の問題を検出するための重要な施策ですが、フィッシングメールによるソーシャルエンジニアリング攻撃といった人間の心理や行動に焦点を当てた攻撃はカバーできません。

こういった攻撃に対しては組織内でのセキュリティ教育の実践や意識向上が必要になります。

サーバーに負荷はかかるか?

脆弱性診断は対象のアプリケーションやシステムに対して通信やリクエストを送信し、その応答を調査することがあります。診断の規模や使用するツール、サーバーの性能によっては一時的な負荷が発生する可能性があるため、適切な設定を行うことで影響を抑えることができます。

開発・移動中のシステムの診断はできるか?

開発中または移行中のシステムに対しても脆弱性診断を行うことができます。開発の進捗に合わせて脆弱性診断を実施することで、セキュリティの早期発見と修正が可能となり、脆弱性を抱えたままシステムをリリースしてしまうリスクを軽減できます。


サイバーディフェンス研究所の脆弱性診断(セキュリティ診断)について

サイバーディフェンス研究所には多様なセキュリティスキルを持つ専門家が結集しており、ネットワークセキュリティ、アプリケーションセキュリティ、インシデントレスポンス、脅威インテリジェンスなど、広範な分野にわたるセキュリティ課題に対処できます。

その中でもサイバーディフェンス研究所のセキュリティ診断の特徴についてご紹介します。


    • 高度な技術力と専門性 :
      サイバーディフェンスのWebアプリケーション診断は、最新の技術にも精通した一流のセキュリティエンジニアが、ツール診断では検出できない項目まで全て手作業で実施します。
      また、1件の診断あたり必ず複数人のチームで取り組むため、丁寧かつ深く、網羅性の高い診断結果をお約束します。

    • 実際に起こりうる脅威を総合的に評価 :
      診断対象となるシステムやアプリケーションの仕様だけでなく、お客様のビジネスロジックを理解したうえで本当の脅威となる脆弱性を評価します。
      単体では些細な脆弱性だとしても、それらを組み合わせることで実行可能な攻撃方法を分析することでお客様が優先して対処すべき課題を明確にします。

    • 豊富な実績と経験 :
      世界的なCTFでの優勝経験者や、「サイバーセキュリティに関する総務大臣奨励賞」の受賞者、数多くの未知脆弱性を発見してCVEを取得したエンジニアなど、サイバーディフェンスにはセキュリティの最前線で活躍する専門家が結集しています。
      攻撃者と同等以上の知識とスキルを持つサイバーディフェンスが、お客様の抱えるセキュリティ上の問題を可視化し、課題解決をサポートします。

    • ユーザーに合わせた柔軟な診断範囲 :
      お客様の予算やニーズに合わせて、診断の範囲を柔軟にカスタマイズできます。
      これにより特定のアプリケーション、システム、またはネットワークに焦点を当てることができるためリスクの特定をより効果的に行えます。

    • 最新の攻撃手法にも対応 :
      サイバーセキュリティの技術と脅威は日々進化していますが、サイバーディフェンスのエンジニアはCTF(ハッキングコンテスト)に参加し好成績を収めているほか、JVN(脆弱性データベース)への報告も多数ございます。
      海外のセキュリティカンファレンスでリサーチ結果を発表するなど、最新の技術や脅威に関する情報を常にアップデートしているため、お客様にとって最も強固なセキュリティ支援が可能です。

  • きめ細かいフォロー :
    診断対象となるシステムへのアクセスが制限されている場合は、オンサイトでの診断も可能です。
    また脆弱性を検出した場合、想定される脅威、推奨する対策方法などを記載した速報を提出いたします。これにより危険度の高い脆弱性に対して迅速に対処いただくことが可能です。

      • 情報セキュリティサービス基準に適合 :
        サイバーディフェンス研究所の「Webアプリケーション脆弱性診断」「スマートフォンアプリ脆弱性診断」は、経済産業省が定める『情報セキュリティサービス基準』に適合したサービスとして、『情報セキュリティサービス基準適合サービスリスト』に登録されています。

        これは特定営利活動法人日本セキュリティ監査協会(JASA)による審査を経て、一定の技術的要件および品質管理要件を満たし、品質の維持向上に努めている情報セキュリティサービスであることを示すものです。


主な脆弱性診断(セキュリティ診断)メニュー

Webアプリケーション脆弱性診断
スマートフォンアプリ脆弱性診断

攻撃者の視点でアプリケーションの解析およびサーバ側のスクリプト / API通信上の脆弱性など、アプリケーションの安全性をあらゆる角度から検証します。一般的な脆弱性診断サービスや脆弱性スキャナでは発見出来ない脆弱性までも徹底的に洗い出し、アプリの信頼性向上に貢献します。

【診断項目】

認証セッション管理 / 認証Cookie / 入出力値検証 / リクエストの正当性 / ロジック / アクセス制御 / 重要な情報の管理 / メール送信機能 / プラットフォームセキュリティ

組み込み機器・IoTセキュリティ診断

機器の分解を伴う基板上攻撃やファームウェアの解析、機器の有する通信インタフェースやWebUIへの攻撃、あるいは機器と連携するシステム・アプリケーションを介する攻撃などを対象に攻撃者の視点で疑似攻撃を実施し、潜在する脅威を顕在化します。

【診断項目】

バスの盗聴 / デバッグ用インターフェースの調査 / 動作モードの変更 / 記憶媒体の調査 / ファームウェアの解析 / ファームウェアの改ざん / 通信の盗聴と解析

まとめ

現代社会ではコンピューターシステムやアプリケーションが私たちの生活やビジネスに不可欠ですが、同時に悪意のある者による攻撃やデータ漏洩のリスクも高まっています。

脆弱性診断(セキュリティ診断)によって、コンピューターシステムやソフトウェアアプリケーションに存在する潜在的なセキュリティリスクや脆弱性を特定し、修正することでこれらのリスクを未然に防ぎ、情報の機密性、完全性、可用性を守ることができます。

システム内の脆弱性を放置すると、そこが攻撃者の侵入の糸口となり結果として、ビジネスに悪影響を及ぼしかねません。定期的にセキュリティ診断を実施して脆弱性を正確に把握し、対応することが重要です。

関連サイト:https://www.soumu.go.jp/main_sosiki/cybersecurity/kokumin/index.html

機密性を重視した依頼を送る際はこちらからお願いいたします。

cdiprivacydummy@protonmail.com