本文の内容は、2022年11月1日にDaniella Pontesが投稿したブログ(https://sysdig.com/blog/sysdig-prepare-november-2022-openssl-vulnerability/)を元に日本語に翻訳・再構成した内容となっております。
ブログ記事「2022年11月のOpenSSL脆弱性に備えるためのSysdig Secureの活用する」のアップデートです。新たにリリースされたOpenSSL 3.0.7パッチの検出方法と緩和の優先順位について取り上げるセクションを追加しています。
OpenSSL 脆弱性の修正の詳細については、Sysdig Threat Research Team のブログ記事「最新のOpenSSL脆弱性を阻止するための5つのステップ:CVE-2022-3602, CVE-2022-3786」および「OpenSSLの重大な脆弱性が人気のコンテナイメージに与える影響について」を参照してください。
11月1日、待ちに待ったOpenSSL 3.0.7パッチがリリースされました。OpenSSLプロジェクトチームは、3.0.6までのすべてのOpenSSL v3バージョンに影響を与える2つのHIGH severityの脆弱性(CVE-2022-3602、CVE-2022-3786)を発表しました。これらの脆弱性は、11月1日にリリースされたバージョン3.0.7で修正されています。修正された脆弱性は、X.509証明書検証の名前制約チェック部分における2つのスタックベースのバッファオーバーフローです。
Sysdig Secureのレポート機能を利用して脆弱性のあるコンテナイメージを探す方法と、実行時にアクティブなパッケージにopensslの脆弱性CVE-2022-3602とCVE-2022-3786があるコンテナを特定して緩和を優先する方法は以下を参照してください。
Sysdig Secureを使用したCVE-2022-3602およびCVE-2022-3786の検出
Sysdig Secureを使って、CVE-2022-3602およびCVE-2022-3786(OpenSSL 3.0.7パッチ)の影響を受けるコンテナを簡単に見つける方法を見てみましょう。Sysdig Secureのホーム画面、左下のToDoレコメンドボックスのSysdig Alertsタイルの下に、“How are you affected by the OpenSSL 3 vulnerability?”「OpenSSL 3の脆弱性の影響をどのように受けていますか?」というレコメンドが表示されます。これを選択して詳細を確認し、右上の「Generate Report」ボックスをクリックすると、新しいレポートウィンドウが表示されます。以下のスクリーンショットをご覧ください。
OpenSSL 3.0.7に関するTodo
また、Vulnerabilities > Reporting を選択しても、新しいレポートを生成することができます (スクリーンショットを参照)
次に、”Add report” ボタンを選択します。
New Report ビューで、以下のようにフィールドに入力し、CVE-2022-3602 および CVE-2022-3786 によって影響を受けるコンテナイメージのレポートを生成します:
脆弱性IDがCVE-2022-3602とCVE-2022-3786であるコンテナイメージに対してフィルタリングが行われ、すべてのインフラストラクチャーに対して実行されます。
お客様は、スケジュール頻度をカスタマイズし、毎日に設定し、通知方法(メール、slack、webhook)を選択することができます。
また、“Vulnerability” -> “Reporting”セクションでレポートを選択し、「Generate now」ボタンを押すことで、レポートを手動で生成することも可能です。
数秒後(環境に依存)、レポートがダウンロードできるようになります。
CSVファイルには、イメージ名やバージョン、Kubernetesのコンテキスト(K8Sクラスター名、K8Sネームスペース名、K8Sワークロードタイプ、K8Sワークロード名、K8Sコンテナ名)など、利用可能なすべての情報が含まれています。
CSVファイルは、例えばLibreOfficeで開くことができます。
レガシーエンジンの使用
レガシーエンジンを使用する場合、手順は非常に似ています(詳細については、公式ドキュメントを参照してください)。“Vulnerabilities” -> “Scheduled reports” セクションでレポートを作成し、データフィールドにvulnerability ID を指定します。Sysdig Secure Risk Spotlightを使用したCVE-2022-3602およびCVE-2022-3786の緩和の優先順位付け
ランタイムに使用されるパッケージに関連する脆弱性だけが、悪用される可能性があります。Risk Spotlightは、コンテナに対する深い可視性を使用して、実行時にロードされる脆弱なパッケージを特定し、優先順位を付けます。これらのパッケージは、緩和のために直ちに注意を払うべきものです。Risk Spotlight の優先順位付けは簡単です。サイドメニューから“Vulnerabilities > Runtime”を選択し、本番環境におけるすべてのコンテナを確認します。次に、関心のあるコンテナを選択します。
“Vulnerabilities”タブを選択します。トップメニューの “in-use” フィルターを選択して、ランタイムに使用されているパッケージをフィルタリングします。
何が公開され、何が公開されないかを知ることで、Risk Spotlight はノイズや推測を取り除き、チームは待つことのできない本当に重要な問題に集中できるようになります。
Risk Spotlightについてもっと知りたい方は、私たちのブログをご覧ください: Risk Spotlightでノイズを排除し、本当に重要な脆弱性に優先順位付けする。
以下は、2022年10月29日に掲載された弊社オリジナル記事「2022年11月のOpenSSL脆弱性対策にSysdig Secureを活用する」です。
11月1日にOpenSSLプロジェクトにおいて、CVSSスコアの深刻度が「high」または「critical」と予想される重大な脆弱性が発表されようとしています。10月25日にOpenSSLのメーリングリストにこんな発表があったほかは、まだ詳細は不明です。
こんにちは、
OpenSSLプロジェクトチームは、OpenSSLバージョン3.0のリリースを間近に控えていることを発表したいです。
OpenSSL プロジェクトチームは、OpenSSL バージョン 3.0.7 のリリースを発表します。
このリリースは2022年11月1日(火)13:00-17:00 UTCに利用可能になる予定です。
1300-1700 UTCに公開されます。
OpenSSL 3.0.7は、セキュリティ修正リリースです。このリリースで修正された最も重要度の高い問題
このリリースで修正された最も重要な問題はCRITICALです。
https://www.openssl.org/policies/general/security-policy.html
さよなら
OpenSSL プロジェクトチーム
この脆弱性の重大度評価、OpenSSL の共通性、および OpenSSL の脆弱性に広く影響を与える過去の歴史を考慮すると、できるだけ早くソフトウェアを更新する準備をしておくことが望まれます。
OpenSSLバイナリだけに影響するのか、OpenSSLライブラリにも影響するのかは不明です。さらに複雑なことに、LinuxディストリビューションによってOpenSSLライブラリの名称が異なり、Debianベースのディストリビューションではlibssl、RPMベースではopenssl-libsという名称が使用されています。
OpenSSLv3 は Node.j v18.x および v.19.x のパッケージバージョンにも含まれており、他の依存関係の中にネストされていたり遷移していたりすることがあるので、すぐにわかるものよりも多くのインスタンスがあることが予想されます。
この記事では、Sysdig Secureを使用して、環境内のOpenSSLを含むコンテナイメージのインベントリを生成する方法について説明します。このインベントリは、経営陣への報告や、避けられない修復作業に対するチームの優先順位付けと連携に役立ちます。
準備作業
CVE IDはまだ公開されていませんが、レポート機能を使用して、環境内の特定の脆弱なパッケージとバージョンを探すことができます。前述したように、LinuxディストリビューションによってOpenSSLライブラリの名称が異なり、Debianベースのディストリビューションではlibssl、RPMベースではopenssl-libsという名称が使用されています。すべてのケースをカバーするために、2種類のレポートを作成する必要があります。1つは “openssl” を含むパッケージ名で、もう1つは “libssl” で始まるパッケージ名で、それぞれ作成します。レポートの作成方法の詳細については、公式ドキュメントを参照してください。
パッケージ名が「Node.js」でバージョンが「18」で始まるもの、パッケージ名が「Node.js」でバージョンが「19」で始まるもの、それぞれについてレポートを作成します。
“Vulnerability” -> “Reporting”で、影響を受ける可能性のあるOpenSSLパッケージ(バージョン3)を探すためのレポートを作成してみましょう。
そして、”Add a report “ボタンを選択します。
求めるレポートは以下の通りです。
この条件を利用して、パッケージ名がOpenSSLで始まり、パッケージのバージョンが3で始まるコンテナイメージを表示させたいと思います。
先に説明したように、この脆弱性はバージョン3.0.Xにのみ影響します。
次に、‘Preview’ ボタンを押すと、レポートのプレビューが表示されます。
また、 “Vulnerability” -> “Reporting” でレポートを選択し、“Generate now”ボタンを押せば、手動でレポートを生成することも可能です。
数秒後(環境に依存)、レポートのダウンロードが可能になります:
この場合、イメージ名とバージョン、Kubernetesコンテキスト(K8Sクラスタ名、K8Sネームスペース名、K8Sワークロードタイプ、K8Sワークロード名、K8Sコンテナ名)を含むすべての情報が含まれるCSVファイル(JSONまたはNDJSONファイルでも可能)です。
CSVファイルは、例えばLibreOfficeで開くことができ、すべての詳細情報を得ることができます。
この例は、OpenSSL パッケージについてだけであることを忘れないでください。
レガシーエンジンの使用
レガシーエンジンを使う場合も、手順はよく似ています (詳しくは公式ドキュメントをご覧ください)。パッケージ名 “openssl “用のレポートとパッケージ名 “libssl “用のレポートを用意する必要があります。今回は、”Vulnerabilities” -> “Scheduled reports” でレポートを作成します。
そして、”Add a report “ボタンを選択します。
説明したようにデータを入力しますが、今回は「OpenSSL」というパッケージが含まれるイメージをフィルタリングすることが条件となります。以下、簡単な3ステップで適用できます。
レポートの作成
条件を追加する(パッケージ名のみ、パッケージのバージョンはCSV/JSONファイルで直接フィルタリング可能)。
プレビューと保存
スケジュールして実行すると、設定したメールに送信されるだけでなく、ダウンロードも可能になります。
この場合、イメージ名やバージョン、Kubernetesのコンテキスト(K8Sクラスター名、K8Sネームスペース名、K8Sワークロードタイプ、K8Sワークロード名、K8Sコンテナ名)を含む、利用できるすべての情報を含むCSVファイル(JSONファイルでも可能)です。
CSVファイルは、例えばLibreOfficeで開くことができ、すべての詳細を取得し、必要なパッケージのバージョンでフィルタリングすることができます:
今後、より多くの情報が入手可能になり次第、内容を更新していく予定です。