今週のSecurity Check(第175回)

 OSやアプリケーションの脆弱性(セキュリティ・ホール)や設定ミスを検査する「脆弱性診断」は,具体的な対策を施すために必要な情報を収集するために実施される。IDS(侵入検知システム)やIPS(侵入防御システム)などによる不正アクセスの検知・防御と同様に,セキュリティの維持・向上を図るために不可欠なものの一つである。

 近年ではWebアプリケーションの脆弱性診断が重要視され,指定されたIPアドレス範囲のWebサーバーをインターネット側から検査する「ブラックボックス・テスト」を実施する企業・組織が増えている。その背景には,「SQLインジェクション」[注1]に代表されるWebアプリケーションの脆弱性が頻繁に悪用されていることが挙げられる。

注1)「2005年はSQLインジェクションや“Winnyウイルス”が脅威に」,セキュリティ白書

 インターネット側からの脆弱性診断は,実際に攻撃が可能であるかどうかを攻撃者と同じ条件で検査できるので有用だ。しかし,OSやアプリケーションが持つ個別の脆弱性を網羅的に検査することは,ファイアウオールやIDS/IPSによる防御やアクセス制御を受けるために難しい。

 そこで本稿では,インターネット側からの脆弱性診断だけでは検出されない“内在する脆弱性”に注目し,脆弱性診断の種類や対策の進め方について解説する。脆弱性診断を受ける場合や,自社で実施を計画する際の参考にしていただければ幸いである。

検査ポイントで結果が変わる

 インターネット側からの脆弱性診断では,診断側には検査対象のIPアドレス範囲のみが与えられ,詳細なネットワークやサーバーの構成などは知らされないことが一般的である。この方法で検出された脆弱性は,攻撃者も悪用できるため検査結果の重要度は高いといえる。深刻な脆弱性が発見された場合には,すぐに対応することが求められる。

 この方法では,検査結果の品質は診断側の技術力に依存する部分が多い。診断側には高度な検査技術と経験が求められる。診断に漏れがあると,攻撃者に侵入を許してしまう恐れがあるからだ。診断では現れなかった脆弱性を攻撃者が発見した場合,LANへの侵入を許し,大きな被害を受ける可能性がある。

 これを防ぐには,万一侵入されても被害を拡大させない対策が必要である。そのためには,アクセス制御を受けないポイントから個々のサーバーの脆弱性を診断し,それぞれに対策を施すことが不可欠となる。

 図1に,脆弱性診断における基本的な検査ポイントを3つ示す。


図1 基本的な3つの検査ポイント

 (A)から(C)の検査ポイントには,それぞれ次のような特徴がある。

(A)攻撃者と同じ条件で検査できる。脆弱性が検出された場合は,緊急に対策する必要とする。ファイアウオールやIDS/IPSの効果も測定できる。

(B)各サーバーの脆弱性を詳しく検査できる。例えば,サーバー・セグメントを踏み台とした内部セグメントやデータベース・サーバーなどへの侵入の可否について検査することができる。

(C)内部セグメントのクライアントPCの脆弱性や,内部セグメントからサーバー・セグメントへのアクセス制御の効果(内部からの不正アクセスの可能性)について検査できる。

 (A)からの検査で脆弱性が発見されなかった場合でも,(B)からの検査では多くの脆弱性が検出されることがある。これは,インターネット境界に設置されたルータやファイアウオール,IDS/IPSによってサーバー・セグメントが保護されていることを意味する。

 この場合,サーバー・セグメントへの侵入を許すと被害は深刻になる恐れがあるので,あくまでも「一時的な対策が取られている状態」と認識していただきたい。根本的な解決のためには,各サーバーの脆弱性について対策する必要がある。

 診断側としては,まずは(B)からの検査により検査対象の脆弱性を洗い出し,その結果を基に(A)から検査を実施すれば,効率的で正確な診断を実施することができるだろう。

 図2は,ある企業・組織のネットワークにおいて,検査ポイント(A)と(B)から同じ項目で検査した結果の一例である。インターネット側から検出した脆弱性の数と比べると,サーバー・セグメントからの検査では,より多くの脆弱性が検出されていることが分かる。


図2 検査ポイント(A)と(B)の脆弱性診断結果の比較 [画像のクリックで拡大表示]

 これらの結果から,各サーバーの脆弱性については,(B)から検査した結果を基に対策を実施したほうが効果的といえるだろう。また,(A)からの検査結果と比較すれば,ファイアウオールなどのアクセス・コントロールの効果評価や,IDS/IPSの検知・防御ポリシーの見直しに応用できる。