こんにちは。シングルサインオン『jugaa』を開発している
クラウド軍師運営チームです。

コンピュータのOSやアプリケーション、ネットワークなどにおける、セキュリティ上の欠陥のことを、「脆弱性(ぜいじゃくせい)」と呼びます。

脆弱性は、放置しておくとサイバー攻撃のターゲットとなりやすく、コンピュータやネットワーク利用のリスクを高めてしまいます。よって、早期発見と更新プログラムなどによる早期対策が非常に重要です。

そして、この早期発見のために役立つのが、「脆弱性診断」というものです。
今回はこの診断の概要や、必要性を解説していきます。

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

OSやアプリケーション、ネットワークなどにおける脆弱性の有無を診断するテストを、「脆弱性診断」または「セキュリティ診断」と呼びます。

この診断は、セキュリティの現状を把握し、脆弱性を早期発見するために役立つもの。不具合や攻撃に繋がりうる既知の脆弱性を特定し、ランクを付け、ユーザーに報告と対策の提案を行います。

ユーザーが自身でシステムの脆弱性を見つけることは困難ですが、この診断を活用すれば、問題が起こる前にシステム全体を調査し、脆弱性を見つけ、対策を行うことができます。

また、実施にあたって、さほど時間やコストがかからないのもこの診断の特徴。
脅威による被害を避けるためのセキュリティ対策として、脆弱性診断はこまめに実施すべきでしょう。

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

前章でもご紹介したとおり、脆弱性診断の目的は、不具合や攻撃に繋がりうる既知の脆弱性を特定し、ランクを付け、ユーザーに診断結果を報告すること。ランクは、見つかった脆弱性の種類や危険度をもとに、「共通脆弱性評価システム(CVSS)」で評価されます。
脆弱性への対策を行うには、この診断結果が欠かせません。

この診断が混同されやすいものに、ペネトレーションテストというものがあります。
ペネトレーションテストとは、システムに実際に侵入して、攻撃シナリオを元にシステムの問題点を見つけるテストのこと。脆弱性診断が「脆弱性の有無やその特定」を行うのに対し、ペネトレーションテストは「特定の脆弱性を利用し実際に試すこと」を目的としています。

これらはどちらも脆弱性に関するテストですが、その方法と目的は異なることを理解しておきましょう。

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

脆弱性診断の主要な種類としては、「Webアプリケーション診断」「プラットフォーム診断」「ネイティブアプリ診断」の3つが挙げられます。

Webアプリケーション診断

サーバ上で稼働するアプリケーションに対する脆弱性診断のことを、「Webアプリケーション診断」と呼びます。この診断では、攻撃者の視点から技術攻撃を実施し、アプリケーション内の問題を検査します。

具体的には、独自のアプリケーションやCMSなどに対し、SQLインジェクション(SQL文の組み立てに関する問題)やクロスサイトスクリプティング(攻撃者による悪意のあるスクリプトをユーザーが実行してしまう問題)、コマンドインジェクション(サーバの不正なコマンドを実行されてしまう問題)などの脆弱性を発見し、報告することが可能です。

プラットフォーム診断

サーバやネットワークに対する脆弱性診断のことを、「プラットフォーム診断」と呼びます。具体的には、サーバOSやミドルウェア、ネットワークなどに対し、既知の脆弱性の有無やネットワーク機器・使用サービスなどの安全性を検査します。

この診断には、インターネットを経由して外部からシステム全体を検査するものと、ネットワーク内から各システムの問題を検査するもの、またその両方を行うものがあります。

ネイティブアプリ診断

スマートフォンやタブレット専用アプリに対する脆弱性診断のことを、「ネイティブアプリ診断」と呼びます。
この診断はiOSやAndroidなどのモバイルデバイスならではの問題を検査し、安全な端末使用をサポートします。

脆弱性を放置するリスク

脆弱性の放置は、次のリスクに繋がります。

  • 攻撃者に隙を与える
  • ウイルスに感染する
  • 犯罪が発生する

各リスクの内容を詳しく確認していきましょう。

【リスク①】攻撃者に隙を与える

システムの脆弱性は、攻撃者にとって格好のターゲットです。実際に、脆弱性を狙った攻撃は多数発生しており、多くの企業や個人が被害に遭っています。
脆弱性を放置するということは、玄関の鍵を開けたまま出かけるようなもの。攻撃者に隙を与えないためにも、その対策は万全にしておく必要があります。

【リスク②】ウイルスに感染する

脆弱性を狙った攻撃では、システムがマルウェアをはじめとしたウイルスに感染させられることも少なくありません。
ウイルスに感染すれば、そのコンピュータやサーバのデータは破壊されたり盗まれたりしてしまいます。さらには、他のコンピュータにウイルスを広げ、被害を拡大してしまう恐れも。
大規模な被害が出れば、業務に支障が出ることもあり得るでしょう。

【リスク③】犯罪が発生する

脆弱性を狙った攻撃には、犯罪行為に繋がるものもあります。例えば、盗んだ個人情報の売買やクレジットカード情報の不正利用、システムを使用できなくして身代金を要求するランサムウェアなど。
これらは、企業にとっても企業のサービスを利用するユーザーにとっても大きなリスクとなります。このような犯罪から自身を守るためにも、脆弱性対策は必須でしょう。

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

脆弱性診断は、手動とツールの2種類の方法に分けられます。

手動診断

脆弱性診断には、セキュリティエンジニアが、手動でアプリケーションなどを検査する方法があります。
この方法では、エンジニアは自身の経験や技術、知識を用いて検査を行います。これにより、ツールでは発見できないような想定外の脆弱性も発見できる可能性がある点は、手動診断のメリットでしょう。

ツール診断

診断には、専用ツールを用いることもあります。
専用ツールによる脆弱性診断は、手軽に実施できる点が特徴。自動かつ数分程度の短時間で検査を終えられるため、日常的に行う診断に向いています。

無料で脆弱性診断(セキュリティ診断)ができるツールを紹介

最後に、無料で脆弱性診断ができるおすすめの専用ツールを3つご紹介します。

IssueHunt バグバウンティ

IssueHunt バグバウンティは、優れたホワイトハッカーが対象システムの脆弱性診断を行うツールです。

このツールでは、利用にあたっての事前準備は必要ありません。自社のリソースを割くことなしに、手軽に診断を受けることができます。
また、開発・運用・サポートが国内で行われている安心感も魅力でしょう。

さらに、IssueHunt バグバウンティは、成果報酬型を採用している点も特徴的です。そのため、費用がかかるのは脆弱性が発見された時のみ。
固定費用は不要で、高い費用対効果を期待できることからその評判は高く、政府機関や多くの欧米企業にも導入されています。

Secualive

Secualiveは、Webアプリケーションの脆弱性診断や情報収集のアシストを実施するクラウドサービス。
実際に診断を行っているエンジニアによって開発されたこのサービスは、高い検知率と柔軟性が魅力です。ガイダンスやピンポイント説明機能を有するインターフェイスはわかりやすく、また70以上の診断に対応します。
診断により見つかった問題点はハイライトでわかりやすく示されるため、早期の問題把握・解決に役立つでしょう。

このサービスは、5つのIPアドレス・5つのドメインまでであれば、無料で利用が可能。有料プランであれば、使用をカスタマイズすることもできます。

自診くん

自診くんは、無料で利用できるセキュリティ自己診断サービスです。

シンプルな設計のこのシステムでは、少ない手順で診断を行うことが可能。スマホやタブレットの検査にも対応できます。
また、手続きは全てWeb上で完結するため、ソフトをインストールする必要はありません。

完全無料サービスならではの手軽さが、自診くんの魅力です。ただし、ベンダーによるサポートは受けられないので注意しましょう。

まとめ

情報資産の重要性が高い現代ビジネスにおいて、脆弱性診断は基本のセキュリティ対策のひとつです。この診断を定期的に行うことによって、企業また個人は悪意のある第三者からの攻撃やそれによる犯罪のリスクを低減させることができます。
脆弱性診断ができるツールには無料のものも多く存在するので、まずはそれらの利用を検討すると良いでしょう。

ただし、セキュリティ対策は脆弱性診断だけでは不十分です。万全に情報資産を守るためには、この診断の他にも複数の対策を実施し、あらゆる攻撃に備えるようにしてください。