web-dev-qa-db-ja.com

SQL Server DBAとして、メルトダウン/スペクトルの脆弱性について何を知る必要がありますか?

聞いていない場合は、最近10年間に販売されたほぼすべてのプロセッサに影響を与える一連の関連する脆弱性が最近発見されました。 InfoSec.SEのメルトダウン/スペクトルの脆弱性に関するより技術的な詳細 を見つけることができます。

SQL Server DBAとして、これについて何を理解する必要がありますか?

SQL Server(またはvmファーム)を他の企業と共有しない場合でも、これはリスクですか?

これは単なるOSパッチでしょうか?または、この脆弱性に対処するために必要なSQL Server用のパッチ/ホットフィックスはありますか?パッチが適用されるSQL Serverのバージョンは?

一部の記事は、特に高度に仮想化された環境で、5〜30%のパフォーマンスへの影響を予測しています。 SQL Serverのパフォーマンスへの影響を予測する方法はありますか?

14
BradC

これは、3つの「CVE」番号が割り当てられた脆弱性に関するMicrosoftの セキュリティアドバイザリ です。

  • CVE-2017-5715-分岐ターゲットの注入( "Spectre"
  • CVE-2017-5753-境界チェックバイパス( "Spectre"
  • CVE-2017-5754-不正データキャッシュロード( "Meltdown"

これらの脆弱性がSQLサーバーに与える影響に関するMicrosoft KBは、新しい情報が利用可能になったときに積極的に更新されています。

KB 4073225:投機的実行サイドチャネルの脆弱性から保護するためのSQL Serverガイダンス

マイクロソフトの正確な推奨事項は、構成とビジネスシナリオによって異なります。詳細については、KBを参照してください。たとえば、Azureでホスティングしている場合、アクションは不要です(環境にはすでにパッチが適用されています)。ただし、信頼できない可能性のあるコードが含まれる可能性のある共有仮想環境または物理環境でアプリケーションをホストしている場合は、他の緩和策が必要になることがあります。

SQLパッチは現在、影響を受ける次のSQLバージョンに利用できます。

これらのSQLサーバーパッチは、CVE 2017-5753Spectre:Bounds check bypass)から保護します。

CVE 2017-5754Meltdown:Rogue data cache load)から保護するには、Windowsでのカーネル仮想アドレスシャドウイング(KVAS)(レジストリの変更による)またはLinuxでのLinuxカーネルページテーブルの分離(KPTI)(による) Linuxディストリビューターからのパッチ)。

CVE 2017-5715Spectre:分岐ターゲット注入)から保護するには、レジストリ変更によるハードウェアサポート(IBC)に加え、ハードウェアの製造元からのファームウェアアップデートによるブランチターゲットインジェクションの軽減。

KVAS、KPTI、およびIBCは環境によっては必要ない場合があり、これらはパフォーマンスに最も大きな影響を与える変更です(強調は私のものです):

マイクロソフトは、SQL ServerおよびWindowsの更新バージョンをインストールすることをすべてのお客様に推奨しています。これは、MicrosoftによるSQLワークロードのテストに基づく既存のアプリケーションへのパフォーマンスへの影響を無視できるか、最小限にする必要がありますが、運用環境に展開する前に検証することをお勧めします。

マイクロソフトは、カーネル仮想アドレスシャドウイング(KVAS)、カーネルページテーブルインダイレクション(KPTI)、およびブランチターゲットインジェクションの軽減(IBC)がさまざまな環境のさまざまなSQLワークロードに与える影響を測定し、大幅な低下。運用環境に展開する前に、これらの機能を有効にした場合のパフォーマンスへの影響を検証することをお勧めします。これらの機能を有効にすることによるパフォーマンスへの影響が既存のアプリケーションに対して高すぎる場合、お客様は、同じマシンで実行されている信頼されていないコードからSQL Serverを分離する方がアプリケーションの緩和策として優れているかどうかを検討できます。


Microsoft System Center Configuration Manager(SCCM)固有のガイダンス: 2018年1月8日の投機的実行サイドチャネルの脆弱性を軽減するための追加のガイダンス


関連ブログの投稿:

14
LowlyDBA