セキュリティ対策の要点解説
第 11 回 危険度には個人差があります ~ Security Risk Management ~ システムと脆弱性の関係
公開日: 2006年11月22日
マイクロソフト株式会社
セキュリティ レスポンス チーム
小野寺 匠 著
前回は、脆弱性の危険度を判断する基本的な方法についてお話しました。
さて、今回はシステム全体を見た場合に脆弱性の危険度がどのように変化するのかについて考えてみます。脆弱性は、システムを構成する各部分々々に存在します。その脆弱性のある部分を含めてシステム全体で評価した場合に悪用される可能性がある場合は、システムの脆弱性ともいうことができますが、システムの他の機能や制限により悪用される可能性がない場合は、システムとして考えた場合に脆弱性はないと評価します。
このように、部分としての脆弱性を、システムとしての脆弱性ではなくしてしまう機能や要素がセキュリティ情報やセキュリティ アドバイザリにある「緩和される要素」です。
たとえば、サーバー サービスの特にファイル共有に関るような脆弱性が発見されたと仮定します。その場合、ファイル サーバーにとっては、一般に緩和する余地のない危険度の高い脆弱性となります。クライアント PC にとっては、必ずしもファイル共有の提供側になる必要があるわけではありません。最小限のサービスで動作しており、サーバー サービスが無効化されているような環境では、危険はないこととなります。もし、無効化されていない場合でも、一時的に無効化することで、対策が完了するまでのリスクを低く抑えることが可能です。
この様な機能の取捨選択や制限により危険度を評価することが可能ですが、システムとしてみた場合には、もうひとつの観点があります。
それは、システムまたは、脆弱性のある部分が、何を扱っており何のためのシステム・機能なのかという観点です。たとえば、ショッピング サイトのシステムに脆弱性があれば、社内のファイル サーバーよりは、危険度が高くなります。また、情報漏えいの脆弱性が、顧客管理システムにあれば危険度は非常に高いものとなりますが、他のシステムでは、それほど危険度は高くならない場合もあります。
この判断を、適切に行うことは、脆弱性が発見された場合でもシステムへの影響や停止時間を最小限に抑えることができます。しかしそのためには、事前にシステムに対する脅威モデルを把握しておくことが重要になります。
脅威モデルの詳細については、関連資料を見ていただくとして、簡易的に脅威モデルを作る方法として、各機能単位や外部から操作できる部分 (エントリーポイント) 毎に、STRIDE モデルに従った脅威の可能性を割り当てていきます。
脅威 | 説明 |
---|---|
なりすまし (Spoofing identity) |
不正にアクセス権を取得して、別のユーザーの認証情報 (ユーザー名とパスワードなど) を使用すること。 |
データの改ざん (Tampering with data) |
データに悪意のある変更を行うこと。 |
否認 (Repudiation) |
ユーザーがある操作を実行することを拒否されることで、そのことを他人に証明する手段がない状態のこと。"否認防止" は、否認の脅威に対抗するシステムの能力を指します (小包を受け取ったときに署名するようなことで、小包の受け取り手はこれを証拠として使用できます)。 |
情報漏洩 (Information disclosure) |
情報へのアクセス権を持たない個人に情報が公開されること。たとえば、適切な権利なしにファイルにアクセスすること。 |
サービス拒否 (Denial of service) |
正当なユーザーがサービスやシステムを使用できないようにする、意図的な試み。 |
特権の昇格 (Elevation of privilege) |
特権を持たないユーザーがアクセス権を獲得すること。特権の不正取得の一例には、特権のないユーザーを Administrators グループに追加する手段を考案することなどがあります。 |