Alibaba Cloud Linux 3では、デフォルトで脆弱性の軽減が有効になっています。 しかしながら、これらの緩和はシステム性能に影響を及ぼす。 必要に応じて、脆弱性の軽減を無効にできます。 このトピックでは、Alibaba Cloud Linux 3に存在するCPU脆弱性、CPU脆弱性の軽減ステータスを示すファイル、およびCPU脆弱性の軽減を無効にする方法について説明します。
背景情報
2018年1月、Google Project Zeroは、最新のプロセッサに影響を与える、SpectreおよびMeltdownとして知られる新しいクラスの脆弱性を開示しました。 攻撃者はこれらの脆弱性を悪用して特権データを盗み、システムセキュリティを著しく損なう可能性があります。 SpectreおよびMeltdownの脆弱性は、Intel、AMD、およびARMプロセッサを含むほとんどの主流プロセッサに存在し、最初の開示以来多くの注目を集めています。 Alibaba Cloud製品は、必然的に脆弱性の影響を受けます。 Linuxオペレーティングシステムを含む主流のオペレーティングシステムは、脆弱性に対するソフトウェアの軽減策を提供します。 スペクターとメルトダウンの脆弱性は、2018年1月の最初の開示から、より多くのバリアントとタイプに進化し続けており、長い間続くと予想されています。
SpectreおよびMeltdownの脆弱性は、プロセッサのパフォーマンス向上に必要なプロセッサハードウェア上の投機的実行およびアウトオブオーダ実行機能を悪用します。 SpectreおよびMeltdownの脆弱性の緩和により、CPUパフォーマンスが低下します。
ほとんどの場合、ソフトウェアの軽減は脆弱性を軽減するだけですが、排除することはできません。
脆弱性
Alibaba Cloud Linux 3は、x86プロセッサとArm64プロセッサをサポートしています。 x86プロセッサとArm64プロセッサは、CPUの脆弱性を異なる方法で処理します。 次の表では、CPUのx86-specificとArm64-specificの脆弱性、およびカーネルブートコマンドラインの脆弱性の軽減策を無効にする方法について説明します。
x86
CVE | 軽減ステータスファイルへのパス ① | デフォルトの処理方法 | メソッドの無効化 |
/sys/devices/system/cpu /脆弱性 /spectre_v1 | デフォルトでは、軽減策が有効になっています。 | 緩和は強制有効であり、無効にすることはできません。 | |
/sys/devices/system/cpu /脆弱性 /spectre_v1 | デフォルトでは、軽減策が有効になっています。 |
| |
/sys/devices/system/cpu /脆弱性 /spectre_v2 | デフォルトでは、軽減策が有効になっています。 |
| |
/sys/devices/system/cpu /脆弱性 /spec_store_bypass | 緩和は、ハードウェア機能に基づいてカーネルによって有効になります。 | 次のいずれかのパラメータを追加します。
| |
/sys/devices/system/cpu /脆弱性 /メルトダウン | デフォルトでは、軽減策が有効になっています。 | 次のいずれかのパラメータを追加します。
| |
/sys/devices/system/cpu /脆弱性 /l1tf | デフォルトでは、軽減策が有効になっています。 |
| |
/sys/devices/system/cpu /脆弱性 /mds | デフォルトでは、軽減策が有効になっています。 | 以下のパラメーターを追加します。
| |
/sys/devices/system/cpu /脆弱性 /srbds | デフォルトでは、マイクロコード軽減が提供されます。 |
| |
/sys/devices/system/cpu /脆弱性 /mmio_stale_data | デフォルトでは、軽減策が有効になっています。 | 以下のパラメーターを追加します。
| |
/sys/devices/system/cpu /脆弱性 /tsx_async_abort | デフォルトでは、軽減策が有効になっています。 | 以下のパラメーターを追加します。
| |
/sys/devices/system/cpu /脆弱性 /retbleed | デフォルトでは、軽減策が有効になっています。 |
説明 このパラメーターをサポートしているのは、カーネルバージョン | |
非該当 | 非該当 | 非該当 | すべてのCPU脆弱性軽減を無効にするには、 |
ARM64
CVE | 軽減ステータスファイルへのパス ① | デフォルトの処理方法 | メソッドの無効化 |
/sys/devices/system/cpu /脆弱性 /spectre_v1 | デフォルトでは、軽減策が有効になっています。 | 緩和は強制有効であり、無効にすることはできません。 | |
/sys/devices/system/cpu /脆弱性 /spectre_v2 | デフォルトでは、軽減策が有効になっています。 |
| |
/sys/devices/system/cpu /脆弱性 /spectre_v2 | デフォルトでは、軽減策が有効になっています。 |
説明 このパラメーターをサポートしているのは、カーネルバージョン | |
/sys/devices/system/cpu /脆弱性 /spec_store_bypass | デフォルトでは、軽減策が有効になっています。 |
| |
/sys/devices/system/cpu /脆弱性 /メルトダウン | デフォルトでは、軽減策が有効になっています。 |
| |
非該当 | 非該当 | 非該当 |
|
① 移行ステータスファイルは、Alibaba Cloud Linux 3インスタンスのCPUが脆弱であるかどうか、およびどの軽減策がアクティブであるかを示します。 ファイル内の有効な値:
影響を受け
ない: CPUは脆弱ではありません。脆弱性
: CPUは脆弱であり、軽減策は無効になっています。軽減
: CPUは脆弱であり、軽減が有効になっています。
手順
このセクションでは、Alibaba Cloud Linux 3のCPU脆弱性の軽減を無効にする方法について説明します。 この例では、Spectre Variant 2の脆弱性が使用されています。
Alibaba Cloud Linux 3インスタンスに接続します。
詳細については、「パスワードまたはキーを使用したLinuxインスタンスへの接続」をご参照ください。
次のコマンドを実行して、デフォルトのカーネル
boot cmdline
にnospectre_v2
パラメーターを追加し、Spectre Variant 2脆弱性の軽減を無効にします。grubby -- update-kernel='grubby -- default-kernel' -- args='nocectle_v2'
次のコマンドを実行してインスタンスを再起動し、設定を適用します。
reboot
次のコマンドを実行して、Spectre Variant 2の軽減ステータスファイルを表示し、Spectre Variant 2の脆弱性の軽減が無効になっているかどうかを確認します。
cd /sys/devices/system/cpu/vulnerabilities/ for i in `ls`;do echo -n $i": ";cat $i;done
次のようなコマンドが表示されます。
spectre_v2: Vulnerable
は、Spectre Variant 2の脆弱性がCPUで利用可能であり、この脆弱性の軽減策が無効になっていることを示します。