「脆弱性診断」の業務に関する問題の解法
はじめに
今回のテーマは「脆弱性診断」です。情報処理安全確保支援士の制度の概要の「2.業務と役割」には、以下の記載があります。
(3)暗号利用、マルウェア対策、脆弱性への対応など、情報及び情報システムの利用におけるセキュリティ対策の適用を推進又は支援する。
つまり、情報処理安全確保支援士の資格保有者は、脆弱性診断に関する業務の遂行を求められることになります。今回はこの「脆弱性診断」について、令和2年度10月の午後Ⅰ問題 問3を取り上げます。
脆弱性診断の概要
脆弱性診断は、Webアプリケーション、プラットフォーム(サーバ・クライアント・ネットワーク機器のOS/アプリケーション/サービス)、IoT機器(組込機器)などのシステムに実施されます。これらのシステムに、下記のようなセキュリティホールが存在するか否か診断することを「脆弱性診断」と呼びます。
- 既知の脆弱性が含まれるソフトウェア/ミドルウェア/OSの利用
- サイバー攻撃につながるような設定・設計ミス、バグ
世の中に広く認知されている脆弱性診断には、主に下記の2種類があります。
診断種別 | 概要 |
---|---|
Webアプリケーション診断(Web診断) | SQLインジェクションやクロスサイトスクリプトなど、既知の攻撃を疑似的に実行し、Webアプリケーションにセキュリティバグや設定不備などがないか診断すること |
プラットフォーム診断(PF診断) | サーバ・クライアント、ネットワーク機器で稼働しているOS/アプリケーション/サービスなどを対象に、パッチの適用状況や、セキュリティ上危険な設定がないか、脆弱性を含んだバージョンのまま稼働していないかなどを診断すること |
今回取り上げた問題でも、この2種類について言及されています。このほかにも、IoT機器や組み込み機器に特化した診断サービスを提供している企業もあります。
業務としての脆弱性診断
では、この脆弱性診断について、令和2年度10月の午後Ⅰ問題 問3に沿って解説していきます。
この問題では「脆弱性診断サービスを受ける企業での診断計画の策定能力」が問われています。一方、脆弱性診断の細かい手順や、診断結果の解釈の仕方については言及されていません。したがって、今回の解説でも、この「診断計画の策定」に焦点を当てて解説します。
また、この問題では脆弱性診断サービスを受けるうえで考慮すべき3つの観点について触れられています。ここからは、それぞれの観点から問題にアプローチします。
観点1:本番環境かステージング環境か
今回取り上げた問題のシナリオでは、すでにインターネット上に公開されているWebシステム(ECサイト)に対し、脆弱性診断を実施しようとしています。しかしその後、T主任から「Web診断はステージング環境で行うべきである」と指摘されています。
本来、脆弱性診断はリリース前(インターネット公開前)のシステムに実施されることが望ましいです。システムをインターネットに公開する前に脆弱性診断を実施しておくことで、システムに存在するセキュリティホールを事前に認知し、対策を打つことができるためです。またWeb診断について言えば、本番環境ではなく、本番環境と全く同じ機能を持ったステージング(テスト/検証)環境に診断を実施することが望ましいです。
本番環境で脆弱性診断を実施すると、下記のような懸念があるためです。
- 診断によって生成された疑似攻撃データが、本番環境に残存してしまう
- 脆弱性診断が原因でシステム障害が発生し、一般のお客様が当該サービスを利用できなくなる可能性がある
したがって、すでにリリースされているWebアプリケーションに脆弱性診断を実施する場合は、上記のリスクを踏まえ、極めて慎重に診断を計画する必要があります。
この件は、設問2(1)で触れられています。
(1)本文中のbに入れる適切な字句を,15字以内で具体的に答えよ。
「b」については図1をご参照ください。この「指摘1」では、Web診断終了後の作業について言及されています。「FW1の設定を元に戻すこと」に関しては、問題文中「図3 診断要件」の2に則った措置と言えます。
この要件をもとに、UさんはWeb診断を以下のように実施することにしました。
図3の「診断用の利用者ID」とは、今回のWeb診断のためだけに作成されたユーザーデータです。したがって、問題文中図3の2に記載の「設定及びデータ」に該当します。つまり、設問2(1)の解答は「診断用の利用者ID」です。
一方、PF診断に関して言えば、本番環境に実施することが望ましいです。基本的にPF診断で行われる疑似攻撃は、ポートスキャンやサービスのバージョンスキャンがメインのため、サーバーや起動しているアプリケーションへの影響はほとんどありません。現実の攻撃者が本番環境に攻撃を仕掛けてくることを考慮すると、PF診断は本番環境に実施した方が、より意義があります。
ただし、何事も万が一ということがあります。ここで、設問2の(2)を見てみましょう。
(2)本文中の下線③について,なにをどのように変更すべきか。Pシステムの通信量に着目し,変更する項目を表2から選び答えよ。また,変更する内容を20字以内で述べよ。
問題文中表2の内容は、以下の通りです。
「下線③」は図1に記載があります。この問題を解くポイントは、図1の「指摘2」に記載された「サーバが異常停止した場合の影響を最小化する」ことです。PF診断を実施した結果、診断時の設定ミスなどが原因で、万が一本番環境のサーバが停止してしまった場合を考えます。このとき、お客様はサービスを一時的に利用できなくなってしまいます。この影響を被るお客様の数を最小化するためには、Pシステムの利用者=通信量が一番少ない時間帯を狙ってPF診断を実施する必要があります。そこで「Pシステムが受診する1日の時間帯別の通信量の比率」に注目します。
「0時~8時」の時間帯における通信量比率は「2%」と、他の時間帯と比較して極端に小さいことがわかります。したがって、この時間帯はPシステムの利用者が一番少ない=サービス停止時の影響が最も小さい、と考えることができます。つまりこの問題の解答は下記の通りです。
変更する項目:日時
変更する内容:診断時間を0時~8時の間にする