SRIとは、SIDfm VMにおいてホストのリスクを分析・評価するために使用される指標で、ホストへの脆弱性の影響を決定するための環境評価と現状評価を行うフレームワークとして機能します。SIDfm Risk Impactの略称で、弊社が脆弱性情報を長年提供してきて培ったノウハウが込められています。
サーバの設置場所等の環境を考慮して「ホストカテゴリ」という概念を導入し、脆弱性の環境評価基準のプリセットを提供しました。予め、「ホスト」にホストカテゴリを設定することにより、当該ホストの個々の脆弱性が SRIレベルで表示されます。SIDfm VMでは、SRI指標による脆弱性の度合いの標準化を図り、リスク分析・評価における手間を省くように設計されています。これによって、リスク評価と改善への優先付けが自動的に行われます。
なぜ、SRIが必要なのか?
ホストにおけるリスクを分析・評価するにあたり、重要なパラメータの一つが影響範囲(環境評価と現状評価)です。特定のホストへの脆弱性の影響を判断するとき、多くの場合、現場の運用担当者によって暗黙的に決定されています。また、旧来からよく知られている CVSS(Common Vulnerability Scoring System)の仕組みでは、2014年4月に発覚した OpenSSLの脆弱性(いわゆる Heartbleed)のような脆弱性の影響を判定した場合に実体に即したリスクとして正しく表現できていない、という問題がありました。
これは、CVSSの「基本評価基準」(攻撃元区分:AV、攻撃条件の複雑さ:AC、攻撃前の認証要否:Au、機密性への影響:C、完全性への影響:I、可用性への影響:A)が脆弱性そのものだけを雛形通りに客観的に評価していることに起因しています。実際にHeartbleed問題への評価は仕組み上は正しく妥当であるのですが、「部分的に情報漏洩が発生する」ものが SSLそのものの根幹をなす「秘密鍵」であるということはCVSSの仕組みには反映されておらず、SSLの仕組み自体が破綻する脆弱性であるにも関わらず、CVSSスコアが低く算出されてしまいます。
こうした問題について、米国CERT/CC Blog(2018年12月5日付記事)でも「CVSSを脆弱性対応の優先順位付けとリスクアセスメントに利用するのは誤用」であると指摘しており、影響範囲を正しく評価するためにはCVSSでは製品ベンダーなどが提供する「基本評価基準」以外の基準である「現状評価基準」や「環境評価基準」に対する評価をシステム管理者が各自行う必要があります。 ただし、これらの評価は多大な労力を伴うため、現実的には実施することが非常に困難です。
脆弱性の優先順位付けとしてCVSSを使用する際の問題(関連記事)
- 「CVSS」とはそもそも何か? 脆弱性対応の優先順位付けではない!?
- CERT/CC Blog(2018年12月5日付記事)「Towards Improving CVSS」
- 白書本文「TOWARDS IMPROVING CVSS」
「TOWARDS IMPROVING CVSS」白書本文 — Executive Summary — (邦訳)
技術的な深刻度を測定するように設計されているにもかかわらず、Common Vulnerability Scoring System(CVSS)は脆弱性の優先順位付けとリスク評価に広く悪用されています。さらに、CVSSスコアリングアルゴリズムは(この目的のためには)形式的にも経験的にも正当化されません。 CVSSを「リスクスコア」として誤用していることは、自分がそれから学んでいると思っていたことを実は学ぶことができていないということを意味してます。計算式の設計上の問題から、その出力が信頼できないことが分かっています。したがって、CVSSは不適切です。この論文では、機能的な脆弱性の優先順位付けシステムがどのようになるのかを理解するための方法を示します。
CVSSの誤用は広まっているように見え、経験的に観察していくべきです。私たちは、誰がCVSSを使用、または誤用しているかについて体系的に気付いていません。例えば、米国政府や世界的なカード業界においては、直接的な脆弱性の優先順位付けとしてCVSS Baseスコアを誤って使用していますが、これがポリシーになる可能性があります。同様に単純な脆弱性の優先順位付けポリシーを持つ他の多くの組織が観察されています。いくつかの組織では、CVSSを優先順位付けへの複数の入力のうちの一つとして慎重に考えていますが、利用可能な証拠に基づいて我々の仮説を言うならば、誤用が広まっているということです。
J.M. Spring, E. Hatleback, A. Householder, A. Manion, D. Shick Contact: cert@cert.org December 2018
SRI は、ホストの環境や、脆弱性の現状、製品の特性などによる影響を加味し、統一的に定義する仕組みとして生まれた指標です。SIDfm VMはホスト登録時に、環境評価に値する「ホストカテゴリ」を選択することで自動的にそのホストにおける脆弱性の範囲と影響程度を計算しリスクの評価結果として出力します。
ホストカテゴリの定義
SIDfm VMにおける、環境評価基準のプリセットであるホストカテゴリは以下のように定義されています。以下いずれかをホスト登録時に選択することで、自動的にその影響を鑑みてリスクの評価結果を返します。
信頼できない人間がアクセス可能なネットワークに配置された、信頼できる人間のみがログインできるシステム。 基本的にファイアウォールの外側やDMZ、クラウドにあるサーバシステムを意味します。 (具体例:公開Webサーバ、公開DNSサーバ、公開SMTPサーバ) | |
信頼できる人間や特定の人間のみアクセス可能なネットワークに配置された、信頼できる人間のみがログインできるシステム。 基本的にファイアウォールで保護された内側にあるサーバシステムを意味します。 (具体例:内部Webサーバ、内部DNSサーバ、内部SMTPサーバ) | |
信頼できない人間がアクセス可能なネットワークに配置された、信頼できない人間がログインできるシステム。 レンタルサーバのサービスを提供するシステムや、不特定なユーザにアカウントを発行する Webサービスを提供するシステムを意味します。 (具体例:レンタルサーバ、無料のアカウントを発行するサービスを提供するサーバ、共用端末) | |
信頼できない人間がアクセス可能なネットワークに配置された、他システムへサービスを提供しないクライアントシステム。 Webの閲覧やドキュメントの作成などに使用し、公開無線LANなどに接続するノートパソコンやタブレットを意味します。 | |
信頼できる人間や特定の人間のみアクセス可能なネットワークに配置された、クライアントシステム。 Webの閲覧やドキュメントの作成などに使用し、外部への持ち出しを行わないノートパソコンやタブレットを意味します。 | |
信頼できない人間がアクセス可能なネットワークに配置された、仮想サーバを提供する仮想サーバのホストシステム。 基本的に仮想サーバのハイパーバイザシステムの動作するシステムを意味します。仮想サーバの操作を行うWebインタフェースなどは評価の対象となりません。 | |
信頼できない人間がアクセス可能なネットワークに配置された、ルータ・スイッチ・ファイアウォールなどのネットワーク機器。 (具体例:ファイアウォール、エッジルータ、エッジスイッチ) | |
信頼できる人間や特定の人間のみアクセス可能なネットワークに配置された、ルータ・スイッチなどのネットワーク機器。 (具体例:コアルータ、コアスイッチ) |
SRIレベルの定義
ホストカテゴリによって環境評価が決まると、脆弱性が発見された時点で関連するホストのSRIレベルが判定されます。SRIレベルは、ホストカテゴリによる環境評価と脆弱性情報の現状評価を組み合わせ、以下の基準によって決定します。
SRIレベル | 評価基準 |
---|---|
SRIレベルが 高 もしくは 中 であり、かつ、以下を満たす場合 ・フレームワークやライブラリ等においてデフォルトの設定状態で影響を受ける場合 ・攻撃コードが既に確認されている場合 | |
・攻撃者にシステムを不正に操作される場合 ・容易にサービス妨害を起こす場合 ・容易に機密情報の漏洩を起こす場合 | |
・サービス妨害を引き起こす場合 ・情報漏洩を引き起こす場合 ・情報収集時点で詳細が不明な場合 | |
・直接的な被害を受ける可能性が低い場合 ・その他、特別な理由による場合 |
※対象プロダクトによっては、例外的な評価を行う場合がある。(例:Wireshark)
SRIレベル「重大」の場合
ホストカテゴリ名 | 該当ケース |
---|---|
個々の脆弱性により重大と判断したもの(高・中レベルからの引き上げ) | |
個々の脆弱性により重大と判断したもの(高・中レベルからの引き上げ) | |
個々の脆弱性により重大と判断したもの(高・中レベルからの引き上げ) | |
個々の脆弱性により重大と判断したもの(高・中レベルからの引き上げ) | |
個々の脆弱性により重大と判断したもの(高・中レベルからの引き上げ) もしくは、以下の場合 ・ローカルからの平文パスワードの漏洩 | |
個々の脆弱性により重大と判断したもの(高・中レベルからの引き上げ) | |
個々の脆弱性により重大と判断したもの(高・中レベルからの引き上げ) | |
個々の脆弱性により重大と判断したもの(高・中レベルからの引き上げ) |
SRIレベル「高」の場合
ホストカテゴリ名 | 該当ケース |
---|---|
・ライブラリAPIによる意図していないコード実行 ・リモートからの任意のコード実行 ・認証無しのSQLインジェクション ・リレーなどネットワーク境界に依存しない任意のコード実行 | |
・リレーなどネットワーク境界に依存しない任意のコード実行 | |
・ライブラリAPIによる意図していないコード実行 ・ユーザの操作による意図していない任意のコード実行 | |
・ライブラリAPIによる意図していないコード実行 ・ユーザの操作による意図していない任意のコード実行 | |
・ライブラリAPIによる意図していないコード実行 ・リモートからの任意のコード実行 ・ローカルからの特権奪取 ・認証無しのSQLインジェクション ・リレーなどネットワーク境界に依存しない任意のコード実行 | |
仮想化ゲストから仮想化ホスト上での任意のコード実行 | |
個々のアプライアンス製品、ネットワーク製品に依存する | |
個々のアプライアンス製品、ネットワーク製品に依存する |
SRIレベル「中」の場合
ホストカテゴリ名 | 該当ケース |
---|---|
・ライブラリAPIによるサービス妨害 ・ユーザの操作による意図していない任意のコード実行 ・ローカルからの平文パスワードの漏洩 ・リモートからのサービス妨害 ・反射型クロスサイトスクリプティング ・クロスサイトリクエストフォージェリ | |
・ライブラリAPIによる意図していないコード実行 ・リモートからの任意のコード実行 ・ユーザの操作による意図していない任意のコード実行 ・認証無しのSQLインジェクション ・ローカルからの平文パスワードの漏洩 ・反射型クロスサイトスクリプティング ・クロスサイトリクエストフォージェリ | |
・ライブラリAPIによるサービス妨害 ・ローカルからの平文パスワードの漏洩 ・リレーなどネットワーク境界に依存しない任意のコード実行 | |
・ライブラリAPIによるサービス妨害 ・ローカルからの平文パスワードの漏洩 ・リレーなどネットワーク境界に依存しない任意のコード実行 | |
・ライブラリAPIによるサービス妨害 ・ユーザの操作による意図していない任意のコード実行 ・リモートからのサービス妨害 ・ローカルからのサービス妨害 ・反射型クロスサイトスクリプティング ・クロスサイトリクエストフォージェリ ・ローカルからのカーネルメモリ読み取り | |
・ライブラリAPIによる意図していないコード実行 ・ユーザの操作による意図していない任意のコード実行 ・ローカルからの平文パスワードの漏洩 ・仮想化ゲストから仮想化ホストのカーネルメモリ読み取り ・リレーなどネットワーク境界に依存しない任意のコード実行 | |
個々のアプライアンス製品、ネットワーク製品に依存する | |
個々のアプライアンス製品、ネットワーク製品に依存する |
SRIレベル「低」の場合
ホストカテゴリ名 | 該当ケース |
---|---|
・ローカルからの特権奪取 ・仮想化ゲストから仮想化ホスト上での任意のコード実行 ・ローカルからのサービス妨害 ・ローカルからのカーネルメモリ読み取り ・仮想化ゲストから仮想化ホストのカーネルメモリ読み取り | |
・ライブラリAPIによるサービス妨害 ・ローカルからの特権奪取 ・仮想化ゲストから仮想化ホスト上での任意のコード実行 ・リモートからのサービス妨害 ・ローカルからのサービス妨害 ・ローカルからのカーネルメモリ読み取り ・仮想化ゲストから仮想化ホストのカーネルメモリ読み取り | |
・リモートからの任意のコード実行 ・ローカルからの特権奪取 ・仮想化ゲストから仮想化ホスト上での任意のコード実行 ・認証無しのSQLインジェクション ・リモートからのサービス妨害 ・ローカルからのサービス妨害 ・反射型クロスサイトスクリプティング ・クロスサイトリクエストフォージェリ ・ローカルからのカーネルメモリ読み取り ・仮想化ゲストから仮想化ホストのカーネルメモリ読み取り | |
・リモートからの任意のコード実行 ・ローカルからの特権奪取 ・仮想化ゲストから仮想化ホスト上での任意のコード実行 ・認証無しのSQLインジェクション ・リモートからのサービス妨害 ・ローカルからのサービス妨害 ・反射型クロスサイトスクリプティング ・クロスサイトリクエストフォージェリ ・ローカルからのカーネルメモリ読み取り ・仮想化ゲストから仮想化ホストのカーネルメモリ読み取り | |
・仮想化ゲストから仮想化ホスト上での任意のコード実行 ・仮想化ゲストから仮想化ホストのカーネルメモリ読み取り | |
・ライブラリAPIによるサービス妨害 ・リモートからの任意のコード実行 ・ローカルからの特権奪取 ・認証無しのSQLインジェクション ・リモートからのサービス妨害 ・ローカルからのサービス妨害 ・反射型クロスサイトスクリプティング ・クロスサイトリクエストフォージェリ ・ローカルからのカーネルメモリ読み取り | |
個々のアプライアンス製品、ネットワーク製品に依存する | |
個々のアプライアンス製品、ネットワーク製品に依存する |