企業が施すセキュリティ対策は広範かつ複雑になっています。外部からのサイバー攻撃や、内部での情報の持ち出しなど、セキュリティの脅威が多様化しているためです。企業が保護すべき情報、アプリケーション、機器の種類・数などが拡大していることも理由に挙げられます。
「脆弱性診断」ではアプリケーションやサーバ、ネットワークに、悪用できる脆弱性がないかを診断します。本記事では、ライフサイクル別にどんな診断が必要か、ツール診断と手動診断、ペネトレーションテストとの違いなどを解説します。
脆弱性診断とは
脆弱性診断とは、企業・組織のシステムに内在するセキュリティ上の既知の欠陥(=脆弱性)を特定する検査です。Webアプリケーション、スマホアプリケーション、サーバ、ネットワークなど診断対象により様々な脆弱性診断があります。セキュリティ上の問題点を可視化することで、情報漏洩やサービス停止等のセキュリティ事故を防ぐために、どのような対策を実施すればよいか検討するのに役立ちます。
脆弱性のリスクについてはこちらの関連記事もあわせてご参照ください。
「BBSec脆弱性診断結果からみる― 脆弱性を悪用したサイバー攻撃への備えとは ―」
「定期的な脆弱性診断でシステムを守ろう!-放置された脆弱性のリスクと対処方法-」
「既知の脆弱性こそ十分なセキュリティ対策を!」
「今、危険な脆弱性とその対策―2021年上半期の診断データや攻撃事例より―」
脆弱性診断の必要性
情報資産を守るため
情報のセキュリティの3要素、「機密性」「完全性」「可用性」を守るためにも、脆弱性診断は必要な理由の一つです。
「機密性」…限られた人だけが情報に接触できるように制限をかけること。
「完全性」…不正な改ざんなどから保護すること。
「可用性」…利用者が必要なときに安全にアクセスできる環境であること。
これらの要素を適切に満たすことが、情報セキュリティを担保する上では欠かせないものとなります。
情報セキュリティ事故を未然に防ぐため
攻撃者より先にシステムに隠れた脆弱性を検出して対策することで、攻撃や事故発生の確率を下げることができます。ひとたび個人情報やクレジットカード情報の漏えい事故が発生すれば、さまざまな対応・復旧費用や対策工数の発生は避けられません。ブランドの毀損や企業イメージの低下も招きます。
サービス利用者の安心のため
パソコンやインターネットを補助的に利用していた昔と異なり、現在はWebサービスやアプリケーションそのものが利益を生み出しています。生活や経済がネットワークなしに成り立たない現在、脆弱性診断などのセキュリティ対策は、事業を継続しサービス利用者の安心を守るため、欠かせないものとなっています。
脆弱性診断の種類
診断対象により、さまざまな脆弱性診断サービスがあります。まず、企業が開発したWebアプリケーションが挙げられます。問合せや会員登録といった、入力フォームの入出力値の処理、ログイン機能の認証処理などに対して、幅広く網羅的に脆弱性診断が行われます。
次に、そのWebアプリケーションを実行するサーバやネットワーク機器、OSやミドルウェアに脆弱性がないか検査するプラットフォーム診断があります。
アプリケーションの脆弱性診断には、既知の攻撃パターンを送付して対象システムやソフトウェアの挙動を確認する「ブラックボックステスト」という方法があります。 「ブラックボックステスト」では、実装時における脆弱性は検出できますが、そもそもプログラムの設計図であるソースコード中に存在する脆弱性を網羅的には検査することには適していません。
この場合、ソースコード開示のもと「ソースコード診断」する方法が有効です。「ソースコード診断」は「ブラックボックステスト」に対して 「ホワイトボックステスト」とも呼ばれます。また、「ソースコード診断」はさらに、プログラムを実行しないで行う「静的解析」と、実行して行う「動的解析」に分類できます。
ソースコード診断についてはこちらの記事もあわせてご参照ください。
「ソースコード診断の必要性とは?目的とメリットを紹介」
そのほか、近年増加の一途をたどるスマホアプリケーションやIoT機器を対象とした脆弱性診断もあります。
(株式会社ブロードバンドセキュリティのサービス分類に基づく)
脆弱性診断とペネトレーションテストの違い
脆弱性診断とペネトレーションテストは、双方とも脆弱性などを検出する点では似ていますが、目的と方法が少し異なります。脆弱性診断は既知の脆弱性を網羅的に検出することを目的としています。
ペネトレーションテストは、「侵入テスト」の名前のとおり、疑似的なサイバー攻撃を仕掛けてセキュリティ対策の有効性を評価するために実施します。技術的アプローチだけでなく、対象となる組織の構成や、業務手順、ときには物理的な施設の特徴すら加味して、攻撃シナリオを作成する「レッドチーム演習」と呼ばれるテストを実施することもあります。
シナリオに沿ってペネトレーションテスターが攻撃を実行し、システムに侵入できるか、ターゲットとする資産(多くは知的財産)にたどり着くことができるかどうかなどをテストします。ペネトレーションテストは脆弱性診断と比べて、技術力はもちろん、より幅広い見識やセンスが求められます。
脆弱性診断のやり方(方法)
脆弱性診断にはツールを使って自動で診断する「ツール診断」とエンジニアが診断する「手動診断」があります。
ツール診断
「ツール診断」では、セキュリティベンダーが、商用または自社開発した脆弱性診断ツールを用いて脆弱性を見つけ出します。脆弱性診断ツールと呼ばれるコンピュータプログラムを実行して、その応答から脆弱性を検知していくもので、自動診断とも呼ばれます。機械的に不正なHTTPリクエストを送り付ける疑似攻撃を行いますが、クラッカーによる攻撃とは異なり、あくまでも 脆弱性を見つけ出すことが目的であるため、システムを破壊することはありません。
ツール診断は機械的な検査であるため、過検知や誤検知なども含まれることが多く、その結果は担当者が補正することで正確な情報が得られます。比較的手軽に行えることから、開発段階で実施されることも多い診断です。また、定期的な簡易診断として用いることで、コストを低減しつつ最新の状態を保つことができるといった利用方法もあります。
脆弱性診断ツールとは
脆弱性診断ツールには、たとえばWebアプリケーション診断の場合に、検査コードと呼ばれる不正なHTTPリクエストを送信し 擬似攻撃するプログラムがあります。
手動診断
技術者がプロキシツールを介してWebブラウザでサイトにアクセスした際に発生するリクエストを書き換える形で、脆弱性を確認する方法です。ツール診断と比べ検査項目も広く、また細かな検査ができるのが特徴です。
手動診断は、経験と専門性を持つ技術者によって実施され、機械的な判断では見落としてしまう画面遷移・分岐にも対応できるメリットがあります。発見した脆弱性の再現手順や、最新動向を加味した対策方法などを提示してくれるのも、手動診断ならではの特徴と言えます。
ツール診断と手動診断は、どちらが優れていると比較するものではありません。それぞれの特長を生かし、予算に合わせて組み合わせることで、コストパフォーマンスを発揮できるでしょう。
脆弱性診断サービスの流れ
セキュリティベンダーに脆弱性診断を依頼する際は、まず 診断する範囲を決めます。組織にとって重要度が高い部分、すなわちサイバー攻撃を許してはいけないシステムやサーバ、Webアプリケーションを選定します。
診断が終了するとベンダーからレポートが提供され、報告会が行われることもあります。レポートに記載された脆弱性には深刻度などがスコア化されていることもあります。内容に応じて優先度をつけて、脆弱性をふさぐ必要があります。
継続的なセキュリティ対策の実施を
脆弱性診断は一度実施したらそれで終わり、というものではありません。脆弱性診断により発見された問題に対し対策を実施することで、より堅牢なシステム・環境・体制を構築することができます。
重要なのは、システムライフサイクルの各フェーズで、適切な診断を実施し、洗い出されたセキュリティ上の問題に優先順位をつけて、ひとつひとつ対処することです。診断ツールの検討に関しては自組織の環境やシステム特性に合わせたものを選定し、継続的なセキュリティ対策に有効活用できるようにしましょう。
まとめ
企業の情報システムが複雑かつ大規模になった現在、カード情報や個人情報・機密情報を狙う内外からの脅威に対して、企業もさまざまな予防手段を打っていく必要があります。情報システムやそれを取り巻く環境・体制が堅牢であるかどうかを検査、評価する方法として「脆弱性診断」があります。
・脆弱性診断とは企業・組織のシステムに内在するセキュリティ上の既知の欠陥(=脆弱性)
を特定する検査
・Webアプリケーション、スマホアプリケーション、サーバ、ネットワークなど診断対象により様々な脆弱性診断がある
・脆弱性診断を実施し洗い出されたセキュリティ上の問題に優先順位をつけて、ひとつひとつ対処することが重要である
まずは無料で資料をダウンロード
サービス内容が記載されている資料がダウンロードできるURLをお送りいたします。
見積もりについてのご相談は、お問い合わせよりご連絡ください。
Security Report TOPに戻る
TOP-更新情報に戻る