コンテンツ
脆弱性診断とは?ネットワークやアプリケーションに脆弱性がないか診断することです!
「脆弱性診断」とは、ネットワークやOS、Webアプリケーション(システムやネットワーク)などに、脆弱性がないか診断し、様々なセキュリティリスクを洗い出すセキュリティテストです。
「脆弱性」とは、Webアプリケーションを開発する際に生じるセキュリティ上の欠陥のことです。
外部からの攻撃者は、この脆弱性を狙って攻撃をしかけてきます。
脆弱性診断を行うことで、外部からの悪意のある攻撃や、情報漏洩といったリスクを未然に防ぐことができます。
なお、脆弱性診断を行う前に、セキュリティ対策をしっかり行う事は大変重要です。こちらのコラムにてセキュリティ対策について解説してますので、合わせてご覧ください。
ペネトレーションテストとは?さまざまなサイバー攻撃を使ってシステムへの侵入を試すことです!
「ペネトレーションテスト」または「ペンテスト」とは、ネットワークやサーバー、ネットワークに接続されたパソコンの脆弱性を検証するテストの一つです。
実際にネットワークに接続し、システムに攻撃をしかけて侵入を試みることから、「侵入テスト」という呼ばれ方もされます。
ペネトレーションテストでは、実際にサイバー攻撃を受けた場合に、実装しているセキュリティシステムがどの程度耐えられるかを評価するため、現実に起こりうる攻撃と同じ手法を用いてテストを行い、課題を洗い出します。
脆弱性診断とペネトレーションテストの違いを解説!
サイバー攻撃からシステムを守る「脆弱性診断」と「ぺネトレーションテスト」。ではこの2つにはどのような違いがあるのでしょうか。
「脆弱性診断」は、サイバー攻撃のきっかけとなる脆弱性を見つけるために網羅的な検査を行い、より多くのリスクを発見するものです。
一方、「ぺネトレーションテスト」はシステムに実際に侵入し、現実的な攻撃シナリオを用いて問題点を発見し、サイバー攻撃の予防につなげます。
近年、サイバー攻撃は脆弱性診断ではカバーしきれない方法でシステム内部に侵入する事例が増えています。
侵入口に脆弱性がなくても、内部に侵入され、被害を受けるということがおきているのです。
そのため、システムを守るためには多層的な防御策をすることが重要になっています。その確認のために、ぺネトレーションテストが必要だといわれています。
なお、実際の診断では、両者を組み合わせて実施するケースが多いです。そのため、言葉の定義としての違いはありますが、混用して使われるケースも多く、そこまで神経質に考える必要もなさそうです。
脆弱性診断とペネトレーションテストのメリット・デメリットとは
では、脆弱性診断とぺネトレーションテストのメリット・デメリットについてみていきましょう。
脆弱性診断のメリット
セキュリティ対策がされていないシステムには、多くの脆弱性があると考えられます。
この脆弱性をそのまま放置していると、サイバー攻撃を受け、情報の漏洩や改ざん、盗難などの被害にあう可能性が生じます。
このようなリスクを回避するためにも、脆弱性診断を定期的に行う必要があります。
脆弱性診断は、セキュリティ対策の不足やシステムの脆弱性を網羅的に検査します。
自社システムの脆弱性を把握し、その危険性を知ることで、サイバー攻撃へのリスク対策が可能になります。
脆弱性診断のデメリット
脆弱性診断は定型的な方法で検査を行い、システムに潜む問題を特定します。そのため、既知の脆弱性に対する攻撃の検証には有効ですが、ゼロデイ攻撃などのリスクの検出には向いていません。
ペネトレーションテストのメリット
脆弱性診断が既知の脆弱性の発見を目的としているのに対し、ペネトレーションテストは攻撃する側を想定して、その攻撃者の侵入が成功するかを検証する点に違いがあります。
ペネトレーションテストでは、実際にシステムへの侵入を試みることで、攻撃者の立場からシステムの脆弱性を調べることができます。
ペネトレーションテストを行う際は、最初にシステムの環境についての調査を行い、テストのシナリオを作成します。これにより、システム環境に合わせたテストが実施できます。
こうしてより具体的なセキュリティ対策が可能となります。
ペネトレーションテストのデメリット
ペネトレーションテストは、テストの規模や内容によっては、膨大なコストがかかる可能性があります。状況によってはシステム全体ではなく、特定の機能や重要な部分にのみ限定してテストを実施するのを検討するとよいでしょう。
また、ペネトレーションテストは、実施する側に高いスキルが求められます。そのため、実施者のスキルによって得られる成果に差が生じやすくなります。
ペネトレーションテストを依頼する際には、依頼先の経験や実績を十分に検討しましょう。
脆弱性診断とペネトレーションテストの流れや手法を簡単に解説!
脆弱性診断には、大きくわけて、「手動診断」と「ツール診断(自動診断)」の2つの方法があります。
手動診断は、専門知識を持った技術者が直接調査を行います。
ツール診断(自動検査)は、自動検査ツールを用いて調査を行います。手動検査と違って必ずしも専門知識を持つ技術者が行う必要はありませんが、診断ツールによってその結果に大きな差が出ます。
実際の脆弱性診断には、状況に応じて手動診断とツール診断を組み合わせて調査を行うことも考えられます。
ペネトレーションテストには、以下のような種類があります。
内部ペネトレーションテスト
内部に攻撃者がすでに侵入していることを想定したテスト。
外部ペネトレーションテスト
外部から攻撃者が侵入することを想定したテスト。
ホワイトボックステスト
システムに関する情報を把握した状態で行うテスト。
ブラックボックステスト
システムに関する情報を、検査者が把握していない状態で行うテスト。
ペネトレーションテストは、基本的に以下の流れで行われます。
1.準備
テストに必要な情報集を行います。これをもとに攻撃シナリオを作成します。
2.テスト
攻撃シナリオにそってテストを行います。攻撃シナリオに合わせて、前述のテストを複数組み合わせて行う場合もあります。
3.報告
テストの結果をもとに、脆弱性を分析し、報告を行います。
なお、セキュリティのテストを行うための診断ツールもあり、こちらのコラムで解説をしておりますのでご覧ください。
今注目?脅威ベースのペネトレーションテスト(TLPT)とは
攻撃シナリオにもとづいて擬似的な攻撃を行うペネトレーションテストを「脅威ベースのペネトレーションテスト」といい、「TLPT(Threat-Led Penetration Testing)」と呼ばれます。
近年ではセキュリティ脅威の⾼度化への対応から、金融機関を中心にTLPTの実施を検討する企業が増え、TLPTは脆弱性診断やペネトレーションテストの発展形として注目を浴びるようになりました。
金融庁は、2018年10月に改定された「金融分野におけるサイバーセキュリティ強化に向けた取組方針」において、「実践的な侵入テスト(TLPT: Threat-Led Penetration Test)の実施」を大手金融機関に対して推進していくことを公表しました。
これにより、TLPTに対する関心はますます高まっています。
どちらを行う?脆弱性診断とペネトレーションテストの必要性
脆弱性診断は攻撃されるリスクを発見するため、ペネトレーションテストは攻撃を予防するためのテストといえます。
サイバー攻撃の手法は高度で複雑なものに日々変化しています。サイトの更新や改修を行った際など、定期的にセキュリティ診断サービスを行うことをおすすめします。
静寂性診断、ペネトレーションテストそれぞれの特徴や、自社が重視するポイントを検討し、必要なセキュリティ対策を選定しましょう。
なお、セキュリティのテスト結果を、定量化し客観的な基準で評価する手法として「CVCC(Common Vulnerability Scoring System」があります。
そちらについては、こちらのコラムで解説をしております。
セキュリティに留意したシステムの開発をするには
今回は脆弱性診断やペネトレーションテストに関してご紹介してきました。
セキュリティに留意したサービスの構築には、脆弱性診断やペネトレーションテストが欠かせませんが、まずはしっかりとしたセキュリティ対策をすることも重要です。
Samuraiでは、セキュリティ対策もさることながら、外部ペネトレーションテストを活用したサービスの構築実績も多数ございます。
セキュリティ対策に留意したサービス構築に興味のある方は、下記問い合わせフォームから気軽にお問い合わせください。

この記事を書いた人