こんにちは。先日Drupalから重大な脆弱性に関するセキュリティ勧告が発表されましたね。

日本時間の3月29日早朝にアップデート版がリリースされましたが、
弊社でも朝からアップデート作業を行いました。

まだ対応されていないという方は、お早めにアップデートされることをお勧めいたします。
詳細はこちらからご確認ください。

セキュリティリスクレベルについて知っていますか

今回のようなセキュリティに関する発表がなされた際、以下のようなセキュリティ勧告を見ることになるかと思います。

Drupalのセキュリティ情報

このページに記載されたSecurity riskの値(上の画像でいうとHighly critical)をみて、どの程度危ないのかどうか見極めると思いますが、
このSecurity riskはどのようにして決められているかご存知でしょうか?
そしてその横にある、21/25AC:None/A:None...といったものが何を意味するかご存知でしょうか?

今回はDrupal公式の情報をもとにご紹介いたします。

セキュリティリスクレベルについて

現在のセキュリティ勧告リスクレベルシステムはNIST Common Misuse Scoring System (NISTIR 7864)に基づいています。それぞれの脆弱性はこのシステムを使用して点数化され、0から25の数字が割り当てられます。
総合の点数に応じて、理解しやすいような文言が与えられます。

  • 0 ~ 4点: Not Critical
  • 5 ~ 9点: Less Critical
  • 10 ~ 14点: Moderately Critical
  • 15 ~ 19点: Critical
  • 20 ~ 25点: Highly Critical

リスクレベルはRisk Calculatorによって決定されます。Risk Calculatorには6つの評価基準があり、それぞれ3種類の異なる値を選択肢として持っています。
これは簡潔なフォーマットにコード化され、全てのセキュリティ勧告のSecurity Riskフィールドに含まれます。

以下の表はそれぞれの分野についての詳細説明と点数をまとめたものです。

コード 評価基準 説明
AC

Access complexity

アクセスの複雑さ

攻撃者にとって脆弱性の利用がどの程度困難か

  • AC:None 全く困難でない(直接アクセス可能) +4点
  • AC:Basic 基本的またはルーチン(特定のパスに従う必要がある) +2点
  • AC:Complex 複雑または極めて特異(複数ステップや依存度の高い非直感的なプロセスを経る必要がある) +1点
A

Authentication

権限

悪用が成功するために必要な特権レベルは何か

  • A:None 特になし(誰でも匿名ユーザでも可能) +4点
  • A:User ユーザレベルのアクセス(基本的、一般的な権限をもつことが必要) +2点
  • A:Admin 管理者レベルの権限が必要 +1点
CI

Confidentiality impact

機密性の影響

脆弱性によって非公開のデータにアクセス可能か

  • CI:ALL 全ての非公開データがアクセス可能 +5点
  • CI:Some ある程度の非公開データがアクセス可能になる +3点
  • CI:None 機密性の影響は無し +0点
II

Integrity impact

完全性の影響

この悪用により、システムデータやシステムによって処理されるデータが侵害される可能性があるか

  • II:All 全てのデータは改変や削除される可能性がある +5点
  • II:Some いくつかのデータに改変の恐れがある +3点
  • II:None データの完全性は保持される +0点
E

Exploit (Zero-day impact)

悪用(ゼロデイ攻撃)

既知の悪用が存在するか

  • E:Exploit 悪用が存在している(文書化またはデプロイされた悪用コードがすでに存在する) +4点
  • E:Proof 証明が存在する(悪用の方法がすでに文書化されている) +2点
  • E:Theoretical 理論またはwhite-hatによる報告(公開された悪用コードや開発ドキュメントは存在しない) +1点
TD Target distribution

どの程度のユーザーが影響を受けるか

  • TD:All モジュールの全ての設定において悪用可能 +3点
  • TD:Default モジュールのデフォルトや一般的な設定においては悪用可能だが、設定を変えることで回避できる +2点
  • TD:Uncommon イレギュラーな設定の場合のみ悪用可能 +1点

 

情報を活用しましょう

Drupalセキュリティチームの方が書かれた記事に今回ご紹介した情報の活用例が記載されていましたので翻訳しました。

https://www.mydropwizard.com/blog/understanding-drupal-security-advisories-risk-calculator

例えばあなたのサイトは機密データを取り扱っていますか、それとも商品カタログのような公開データのみのサイトですか。

前者の場合は評価基準の中でも特にCIの値に気を配る必要がありますが、後者のサイトにとってはCI:Someは緊急性は高くないと言えるでしょう。(その場合でも、もしメールアドレスやパスワードを別のサイトで使用しているならCI:Allには気をつけなければいけません)

別の例をあげましょう。あなたのサイトには信頼できないユーザーもログインできますか、それともログインするのはスタッフだけで他は全員匿名ユーザーですか。

後者であればA:UserやA:Adminの脆弱性について過度に心配する必要はないでしょう(匿名ユーザーに付与すべきでない権限を付与したり、ユーザーアカウントに不適切なパスワードを使用したりしていない限りですが。。)

サイトの特徴とリスクレベルについての情報を照らし合わせることで、脆弱性が自分のサイトにとってどれほどの脅威なのかを判断することができます。
その上で適切な行動が取れるといいですね。

ちなみに冒頭でお話しした先月のセキュリティ勧告では、

AC:None/A:None/CI:All/II:All/E:Theoretical/TD:Default

となっていました。
E:Theoreticalなので、実際に攻撃されたり方法が公開されたりしているわけではないですが、その他の評価基準においてはかなり深刻であることがわかりますね。

というわけで、まだアップデートがお済みでないかたはお早めに。


共に働く新しい仲間を
募集しています

スタジオ・ウミは「Drupal」に特化したサービスを提供する Drupal のエキスパートチーム。
フルリモート&フレックス制だから、働く場所を選ばず時間の使い方も自由です。
そんなワークライフバランスの整った環境で、当ブログに書かれているような
様々な技術を共に学びながら、Drupalサイト開発に携わってみたい方を募集しています。
まずはお話だけでも大歓迎!ぜひお気軽にご連絡ください。