最終更新日:2023-06-07
脆弱性診断に興味がある、もしくは脆弱性対策の強化を検討している開発部門の方へ。脆弱性診断の仕組みや特徴をふまえて、自動診断と手動診断の違いやおすすめのサービスについて解説します。
脆弱性診断とは、コンピューターシステムやソフトウェアに存在する脆弱性を特定・評価し、その脆弱性を悪用した外部からの攻撃を防ぐためのシステムやサービスを指します。
脆弱性(Vulnerability:バルネラビリティ)とは、コンピューターシステムやソフトウェアにおいて、セキュリティを低下させる要因となる欠陥や弱点のこと。脆弱性はシステムの設計、開発、運用のあらゆる段階で発生する可能性があり、主に以下のようなものが挙げられます。
設計上の脆弱性 | システムの設計に欠陥があるために発生する脆弱性 |
---|---|
開発上の脆弱性 | システムの開発プロセスに欠陥があるために発生する脆弱性 |
運用上の脆弱性 | システムの運用プロセスに欠陥があるために発生する脆弱性 |
脆弱性を放置していると、システムへの不正アクセス、システムの改竄、データの盗難といった攻撃を受ける可能性が。そのため定期的な脆弱性診断によって、システムに潜在するリスクを早期に発見し、適切な対策を講じる必要があります。
どれだけ入念にチェックしたとしても、システム設計や開発段階ですべての脆弱性を検出することは不可能です。新しい攻撃方法が開発されるペースも早いため、システム運用中に予想外の脆弱性が発見されるケースもあります。
脆弱性診断を行なうタイミングは、機能開発するたびに脆弱性診断を実施するというのが理想的です。しかし、コストなどの関係から、徹底してタイムリーな脆弱性診断を実施している企業は限られています。
「1年に1回」「半年に1回」といったスパンで診断を行なうのが現実的な解決策といえるでしょう。社内のセキュリティ・ポリシーで、脆弱性診断を年に1回は実施することを定めている企業も多くあります。また、開発とリリースのサイクルが早いアジャイル開発では、脆弱性が増えていく可能性も高まるため、より短いサイクルで脆弱性診断を行なう必要があるでしょう。
脆弱性診断のサービスやツールについては、「脆弱性診断サービス・ツール比較14選!選び方や無料ツールも」でもご紹介しています。
脆弱性診断のサービスやツールをお探しの方は、こちらからサービス紹介資料をダウンロードいただけます。
利用規約とプライバシーポリシーに同意の上、
資料をダウンロードしてください。
脆弱性診断の対象範囲は、システムの構成や目的によって異なります。一般的には「アプリケーション診断」と、ハードウェア機器も含めた「プラットフォーム診断」のレイヤーに分けられます。具体的な対象範囲は以下のとおりです。
アプリケーション診断 | Webアプリケーション、Webサービス、データベース、ミドルウェア など |
---|---|
プラットフォーム診断 | 各種サーバーにおけるOS・ミドルウェア・サーバー用ソフトウェア、ネットワーク機器 など |
また、iOSやAndroid OS上で動作するスマホアプリに特化したスマホアプリ専用の脆弱性診断も存在します。
脆弱性診断の診断項目は、システムやアプリケーションの種類によって異なりますが、一般的には、以下の項目が診断されます。
様々な診断項目の中から、自社のシステムに合ったものが含まれるサービスを選択する必要があります。
脆弱性の診断方法には、大きく分けてツールによる自動診断と専門家による手動診断があります。また、両者を組み合わせたサービスも提供されています。
脆弱性診断ツールは、「事前設定」⇒「診断の実施」⇒「診断結果の確認」の流れで、システムに潜在する脆弱性を自動的に検出します。ツールの自動診断の強みは、手動診断の脆弱性診断よりも短時間で多くの脆弱性を検出できること。また、基本的に無料で利用できるオープンソースのツールや、リーズナブルな価格のツールを選べばコスト削減にもつながります。
反対に注意が必要なのは、システムに潜在するすべての脆弱性を検出できるとは限らないという点です。自動診断で検出された脆弱性を修正した後も、引き続きシステムに脆弱性が残っていないか確認する必要があります。また、安価なツール診断には「誤検知に紛れて本当のリスクを判断できない」「対象となるシステム環境特有の構成上の問題にカスタマイズされた対応ができない」といった懸念点も。
<事前設定と診断の実施>
事前設定や診断の実施方法が容易であることも、自動診断ツールの導入メリット。最も簡単なパターンであれば、「診断対象のドメインを確認」して、「診断対象を設定(対象URLの登録など)」するだけで診断開始できます。また、ツールによってはシナリオ作成機能を搭載。たとえば「Vex」では、画面遷移図をもとにした検査シナリオを作成して、診断を実施する方式にも対応しています。
加えて、以下のようなシステム環境に対応したサービスもあります。
あらかじめ認証情報を設定しておけば、その認証情報を使ってアプリケーションにログインし、診断を実施するサービスがあります。たとえば、「Security Scan」では認証情報をアップロードすることで、ログイン認証が必要なWebアプリケーションの診断にも対応できます。
フォームへの入力が必要なシステムの場合は、自動でフォーム入力を行うサービスもあります。たとえば「Securify」では、フォームの項目を判定して、AIが適切な数値を自動で入力してくれます。
このように、専門知識がなくても使いやすく、簡単な手続きのみで脆弱性診断が開始できるように各サービスで工夫が施されています。
<診断結果の確認>
以下は診断結果の確認画面の一例です。「Securify」では、様々な攻撃に対するセキュリティレベルがスコアとして表示されます。この例では、「パストラバーサル」や「コマンドインジェクション」といった攻撃に対する診断結果をスコアで確認できることがわかります。
(出所:Securify公式Webサイト)
また、下図のように、「どこを脆弱性と判断したのか」「どんな脆弱性なのか」といった解説や、具体的な修正方法の提案までカバーしたサービスがあります。更に、検出された脆弱性に関する修正対応の有無といったステータス管理ができるサービスも。
(出所:Securify公式Webサイト)
手動診断では、まず、専門家が診断対象となるシステムの概要を把握したうえで、システムのソースコードや構成ファイルについて調査します。この際、システムの動作をテストして脆弱性を探るといった手法も用いられます。
まず、ツールを使った自動診断では発見が難しい脆弱性も、専門家なら見落としにくいという強みがあります。ツールを使った自動診断よりもコストがかかりますが、Webアプリケーションやプラットフォームの特性に合わせて、診断すべき脆弱性を提案してくれたり、診断結果を報告書にまとめて報告してくれたりと、手厚いフォローも魅力です。更に、オプションで改善後の再診断に対応してくれるサービスも。
たとえば、以下のような診断内容を提供。専門家が多角的な視点でリスクを可視化し、潜在的な脆弱性を検出していきます。
このように、手動診断ではシステムに合わせたきめ細やかな診断が可能なので、一般的には自動診断ツールより精度が高いと考えられます。ただし、手動診断では検出できなかった脆弱性が、ツールによる自動診断で検出されることがあるなど、すべての面で手動診断が優れている訳ではありません。
脆弱性診断の費用は、診断対象の規模や診断方法によって大きく異なります。
ツールであれば月額50,000円くらいからが相場です。コストを抑えたい場合は、「OWASP ZAP」のような無料のオープンソースのソフトウェアを使う手もあります。ただし、環境構築や診断対象の設定、診断結果の読み取り方など、手間や習熟が必要になるため、スキルや経験がない場合は不向きです。
1回あたり40万円くらいからが相場で、大規模な診断になると100万円以上かかるケースも多くあります。
高額に感じる方もおられるかもしれませんが、脆弱性診断を実施することでリスクを低減し、サイバー攻撃による被害を防げるため、セキュリティ対策の重要性を考えると決して高い金額ではありません。
より詳しく知りたい方は、「セキュリティ診断サービスを価格別に比較。予算に合った選び方」をご参照ください。
主な脆弱性診断ツールを紹介します。
利用規約とプライバシーポリシーに同意の上、
資料をダウンロードしてください。
(出所:Securify公式Webサイト)
開発時のセキュリティ対策としておすすめの脆弱性診断ツール。複雑な事前設定は不要で、最短3ステップで診断を開始できる。セキュリティの専門知識がなくても使いやすい、シンプルで直感的な操作性のインターフェイスに定評あり。ダッシュボードからは最新の診断結果や診断の状況、発見された脆弱性の推移などを一目で確認可能。現在のステータスを簡単に把握できる。
加えて、認証情報をアップロードすれば、認証が必要なWebアプリケーションの診断もでき、Selenium認証とJavaScript認証の2つの認証方法に対応している。更に、定期的に診断を実行する「定期実行機能」を搭載。継続的なセキュリティ品質の維持をサポートする。また、オプションで手動診断を追加できるのも魅力的。
利用規約とプライバシーポリシーに同意の上、
資料をダウンロードしてください。
(出所:vex公式Webサイト)
経済産業省が推奨する、純国産のWebアプリケーション脆弱性検査ツール。「自動」「手動」「自動・手動」の3つの検査方法が用意されており、目的に応じた最適な方法を選べる。脆弱性診断経験豊富なエンジニアの手動診断ノウハウを活かした、独自のアルゴリズムを採用。高い脆弱性検出率を実現している。また、対象のWebアプリケーションを巡回し、自動的にテストシナリオを作成することも可能だ。
多彩なWebアプリケーションに対応できる柔軟性も特徴の一つで、多様なリクエストフォーマットや複数サイト経由での認証、OpenID対応など、変化し続ける最新の技術トレンドに適応している。事前の知識や経験がなくても安心して導入できる支援サービスが用意されているなど、きめ細かいサポート体制も魅力。その他、サーバー検査の実施機能を搭載している。
利用規約とプライバシーポリシーに同意の上、
資料をダウンロードしてください。
(出所:VAddy公式Webサイト)
セキュリティ診断の経験がなくても手軽に検査ができる、高速な脆弱性診断ツール。充実したオンラインマニュアルと直感的なUIで、特別なトレーニングなしで診断を実施できる。1つの契約で3つのFQDN(ドメイン)を検査対象に登録できるほか、それらのサーバーに検査を実行するユーザーを無料で紐つけられる。クラウドサービスで専用環境へのインストールも不要なので、テレワーク環境や複数拠点間での利用に最適なサービスだ。自動診断を行なう基本プランのほかに、手動診断が追加されたプランを提供。
更に、国内で人気の高いクラウド型WAF「Scutum」の開発・運用ノウハウが活かされているのも本ツールの強み。VAddyと Scutumのセットプランも提供されている。
利用規約とプライバシーポリシーに同意の上、
資料をダウンロードしてください。
「脆弱性診断サービス・ツール比較14選!選び方や無料ツールも」でも、その他のサービスも含めて詳しくおすすめツールを紹介していますので、ご参照ください。
脆弱性診断は、システムのセキュリティを向上させるための重要な手段です。システムのセキュリティを維持するためにも、定期的な脆弱性診断の実施がかかせません。そのためには、自社のシステム構成や目的を考慮して、適切な診断方法やサービスを選択する必要があるでしょう。
脆弱性診断には、「ツールによる自動診断」と「専門家による手動診断」があり、それぞれ以下のようなメリットとデメリットがあります。
<メリット>
<デメリット>
<メリット>
<デメリット>
本記事を参考に、改めて脆弱性診断では何をすべきか、実施するとしたらどんな方法があるのかを確認してみてください。そして、自社システムにあったサービスを導入して、セキュリティを強化しましょう。
脆弱性診断のサービスやツールをお探しの方は、こちらからサービス紹介資料をダウンロードいただけます。
利用規約とプライバシーポリシーに同意の上、
資料をダウンロードしてください。
★★★★★ 4.5 10件の口コミ・評判
★★★★★ 4.5 10件の口コミ・評判
導入0円、ワンストップでセキュリティ対策を実現。Webアプリケーションの脆弱性診断からSaaS診断、WordPress診断までのセキュリティ診断を網羅的かつ継続...
利用規約とプライバシーポリシーに同意の上、資料をダウンロードしてください。
国内各診断ベンダーにも利用されている「プロ品質」のWebアプリケーション脆弱性検査ツール。経済産業省のWebアプリ診断の推奨セキュリティツールにも選出。国内シェ...
利用規約とプライバシーポリシーに同意の上、資料をダウンロードしてください。
セキュリティ担当者がいない現場でも「今日から使える」クラウド型Web脆弱性診断ツール。固定料金だから、何度も・簡単に・高性能の脆弱性診断を実施できます。...
利用規約とプライバシーポリシーに同意の上、資料をダウンロードしてください。
アスピックご利用のメールアドレスを入力ください。
パスワード再発行手続きのメールをお送りします。
サービスの導入検討状況を教えてください。
ご登録いただいているメールアドレスにダウンロードURLをお送りしています。ご確認ください。