独自の 重大度スコアリングは、 アプリケーションセキュリティチームに 大きな 負担を かけることが 少なく ありません。 新しい ベンダーを 導入する たびに、 独自の 重大度フレームワークを 評価し、 ツール間で 評価された リスクを 変換する 必要が あります。 この 負担を なくし、 SDLC全体の 構成に 対する 明確な セキュリティ評価を お客様に 提供する ため、 Snykは コードから クラウドまでの セキュリティルールセット を Common Configuration Scoring System (CCSS)に 準拠させていきます。
Snyk Security Researchチームに よる 今回の アップデートを 通じて、 開発者と セキュリティチームの 双方が、 セキュリティ上の 問題を より 適切に 評価、 優先順位付け、 トリアージできるよう 支援し、 より 安全で 効率的な 開発ライフサイクルの 実現を 目指す取り組みを 前進させます。
最新バージョンの Snyk Infrastructure as Code (IaC) である IaC+では、 ルールと ルールの 重大度を CCSSに 基づいて 評価します。 これに より Snykは、 技術的な 重大度 (CCSS)、 脅威インテリジェンス、 アプリケーションおよびビジネスの コンテキストに 基づき、 Infrastructure as Codeや クラウド構成の リスクを より 正確に スコアリングしてお客様に 提供できるようになります。
重大度とは? Common Vulnerability Scoring System (CVSS) や Common Configuration Scoring System (CCSS)などの 業界標準フレームワークは、 脆弱性を スコアリングする ための 有用な 手法と、 誰もが 共通して 使える 言語を 提供します。 プロバイダーが 独自の フレームワークを 考案する 必要が なくなり、 利用者は 変換の 手間なく ベンダーを 直接 比較できます。
簡単に 言えば、 こうした フレームワークは 複数の 指標と 一連の 計算式を 定義し、 各指標の 値を 0~10の スコアに 変換するとともに、 低・中・高・重大に 該当する 重大度 を 割り当てます。
重大度レベルとスコア
Common Configuration Scoring Systemとは? Common Configuration Scoring System (CCSS)は、 米国国立標準技術研究所 (NIST)に よって 作成されました。 CVSSを 基に、 ソフトウェアの セキュリティ構成に 関する 問題に 対応する よう 改良されています。 IaCの 設定ミスは 本質的に セキュリティ構成の 問題である ため、 CCSSを 適用できます。
CCSSに 準拠する ことで、 先に 述べた 問題の 多くに 対処できます。 CVSSを 基に した、 なじみの ある 用語、 指標、 計算式を 使って IaCの 設定ミスに ベクトルを 割り当て、 問題の スコアと 重大度を 判定できます。
その ため Snykでは、 IaCの 設定ミスに 重大度を 割り当てる 従来の プロセスを 置き換えられます。 CCSS標準への 移行に より、 ベクトル、 スコア、 重大度を 表示し、 学習の 負担を 大きく 増やすことなく 透明性を 高める こともできます。 これは、 現在 CVSS脆弱性 に ついて 行っている 方法と 同様です。
CCSSベクターのビジュアル解説(近日公開)
上記の 問題に 対する CCSSベクトルは `AV:L/AC:H/Au:M/C:P/I:C/A:N/PL:U/EM:A`です。 これに より、 基本スコアは `8.3`、 重大度は `High`と なります。 上の 図には 最初の 6つの 指標が 示されていますが、 残りの 2つである `PL`と `EM`、 つまり `Privilege Level`と `Exploitation Method`は 表示されていません。 これら 2つの 指標は 重要な 役割を 果たす 一方、 基本スコアには 影響しないためです。
`Privilege Level`は `User`、 `Application`、 `Root`、 `Not Defined`の いずれかで、 攻撃者が 不正に 取得し得る アクセス権限の レベルを 示します。 基本ベクトルと 基本スコアでは、 `PL`は 利用者に 追加情報を 提供する ものであり、 特定の 環境指標の 計算に 使用されます。
`Exploitation Method`は、 基本指標の 多くの 値が `EM`指標の 値に 左右される ため、 少し 興味深い 指標です。 `EM`の 値は `Active`または `Passive`です。 `Active`の 設定ミスは、 AWS S3バケットが 誰でも 読み取り可能 に なっている 場合や、 デフォルトの rootユーザーパスワードが 設定された データベースが 公開されている 場合のように、 攻撃者に 悪用される 脆弱性を 露呈させます。 `Passive`の 設定ミスは、 許可された 操作を 妨げる ものや、 ディフェンダーの 作業を 困難に する ものに 分類されます。 たとえば、 APIログが 無効に なっている 場合や、 データベースの バックアップが 十分な 期間保持されない 場合などです。 `Passive`の 設定ミスは 通常、 すぐに 軽減できる エラーや ポリシー違反です。 一方、 `Active`の 設定ミスは、 より 複雑で、 計画や 分析が 必要に なることがあります。
SnykではCCSSをどのように導入したのか? Snykには、 IaCや クラウド構成の セキュリティを 検査する ための 多数の セキュリティルールが あり、 従来の プロセスで 重大度を 割り当てていました。 CCSSベクトルを 手作業で 追加し、 スコアを 計算し、 新しい 重大度を 導き出すのは、 非常に 骨の 折れる 作業です。 スクリプトを 使えば 効率化できますが、 判断能力には 限界が あります。 幸い、 より 良い 方法が あります。
実装プロセスに AIを 取り入れ、 既存の ルールセットを CCSS標準に 準拠させる 作業を 効率化しました。 独自の 専門知識を 反映した プロンプトで AIを 活用する ことで、 それぞれの 設定ミスの 重大度を 一貫性と 精度を もって 判定できます。 この 進歩に より、 ユーザー向けの セキュリティ評価の 透明性と 信頼性が 高まるだけでなく、 開発者中心の セキュリティを リードすると いう Snykの 取り組みも 強化されます。
AI活用に 関する これまでの 経験 を 生かし、 CCSSの 仕様を プロンプトに まとめ、 調査に 基づく 追加の ガイドラインを 加えました。 結果を 分析した ところ、 重大度の 内訳は 次のように 変化しました。
重大度別のルールの割合
そして、 次のようになりました。
CCSSの重大度別ルールの割合
上の グラフは、 従来の Snykの 重大度 評価が、 CCSSと 比べて 大幅に 保守的 だった ことを 示しています。
重大度 システムを CCSSに 準拠させる ことで、 ルールの 重大度を 再現可能な 方法で 判定できるだけでなく、 Snykの リスクスコア など、 詳細な 分析に 役立つ 貴重な コンテキストデータも 保持できます。 さらに、 データセット全体の 基本スコアの 分布を 分析すると、 釣鐘型の パターンが 見られます。 これは 0~10の スコアに 期待される 統計的分布と 一致しており、 AIを 活用した バランスの 取れた 予測可能な 重大度 評価を 実現する CCSSの 信頼性を 裏付けています。
基本スコアの分布
今後のSnyk IaCは? セキュリティリサーチの 最新情報や、 CCSS重大度の 展開に ついては、 updates.snyk.io を ご覧ください。
約 2 0年 に わたって 使われている Common Vulnerability Scoring System (CVSS)に ついて 詳しく 知りたい方は、 これまでに 何度も 、何度も 取り上げてきた 記事を ご覧ください。
セキュリティリサーチの プロセスを 強化する 開発ツールと しての AI活用に ついては、 こちら で 解説しています。 ベストプラクティス も ご紹介しています。