前回に引き続きセキュリティ診断の効果的な使い方についてお話します。
今回はプラットフォーム診断について効果的なセキュリティ診断の使い方の説明になります。
脆弱性スキャンとペネトレーションテスト
各社のプラットフォーム診断サービスの中身を吟味すると、大きく分けて脆弱性スキャンとペネトレーションテストの2種類があることがわかります。
診断業者はこの2つの似て非なるサービスを「プラットフォームセキュリティ診断」というサービス名を呼称しているので、診断サービスを発注する際には注意する必要はあります。
脆弱性スキャン
脆弱性スキャナというソフトウェアを使って診断対象の脆弱性の有無を特定するサービスです。
脆弱性スキャナには診断対象の内部情報(設定ファイルやレジストリ等)を得て診断する方式(クレデンシャルスキャン)と内部情報なしに診断する方式(ノンクレデンシャルスキャン)の2種類が実装されていますが、診断結果の精度という観点では、クレデンシャルスキャンの方が高くなります。
クレデンシャルスキャンを実施するためには、診断対象の管理者権限が必要であるため、管理者ユーザ名とパスワードの情報をスキャナに設定する必要があります。
脆弱性スキャナの精度は近年極めて高くなり、クレデンシャルスキャンであればスキャン結果をほぼ信頼して問題ない精度であるといえます。
また、スキャナさえあればエンドユーザでも脆弱性スキャンを実施できることから、定期的に脆弱性スキャンを実施することが可能となります。
クレジットカードのセキュリティスタンダードであるPCI DSSの要件では、脆弱性スキャンを四半期に1度実施することになっていますので、このように短いスパンで実施するのは脆弱性スキャンが適しています。
ペネトレーションテスト
ペネトレーションテストは攻撃者の立場から、システムやネットワークに対して手動で攻撃を行い、脆弱性やセキュリティの問題を発見するためのテスト手法です。
ペネトレーションテストを実施するエンジニアであるペネトレーションテスターは、実際の攻撃に近い手法でシステムに侵入し、実際のシステムからどのような情報を抜き取ることができたか、どのような細工を施すことができかたを報告します。
ペネトレーションテスターは高度な技術知識と手動操作による攻撃スキルが必要で、脆弱性スキャンに比べてコストが高く時間がかかります。前出のPCI DSSでは、ペネトレーションテストは年1回の実施を要求されています。
脆弱性スキャンとペネトレーションテストのお勧めの使い分け
脆弱性スキャンとペネトレーションテストの性格の違いを考慮して、私はお客様に以下のような使い訳をお勧めしております。
短周期での脆弱性スキャンの実施
脆弱性は1日に何十個も発見されるものですので、脆弱性の有無の確認は短周期に実施されるべきです。できれば四半期に一回程度の実施頻度が求められます。
また、マスコミ等で高危険度の脆弱性が発見されたニュースが発信された場合は、その都度、その脆弱性にフォーカスした脆弱性スキャンを実施することも大切です。
許容した脆弱性にフォーカスしたペネトレーションテスト
脆弱性スキャンを短周期で行い、都度パッチ適用で脆弱性の修復をしていくと、様々な理由でパッチ適用ができないケースがでてきます。
たとえば止められないシステムはパッチ適用ができませんし、パッチを当てると正常に動作しないアプリケーションもあるかもしれません。
そのようなときには、許容した脆弱性を使ってどのようなセキュリティ侵害が発生するのかペネトレーションテストで実験することが有効になります。
ペネトレーションテストの結果、セキュリティ侵害の度合いがより少なければ、そのまま許容する判断もできますし、経営上看過できないセキュリティ侵害である場合は、許容せずに、なんとか困難を克服しパッチ適用を行う判断ができるかもしれません。
このように脆弱性スキャンとペネトレーションテストを使い分けて、費用対効果の高いセキュリティ診断をお客様に提案させていただきます。