このトピックでは、vSGX インスタンスとして知られる Intel® SGX 対応の Elastic Compute Service (ECS) インスタンス上に Software Guard Extensions (SGX) 高信頼コンピューティング環境を構築する方法と、インスタンス上で SGX 機能を検証する方法について説明します。
前提条件
vSGX インスタンスが作成され、インスタンスにログインしていること。
g7t、c7t、および r7t インスタンスファミリーのみが SGX 機能をサポートします。詳細については、「インスタンスファミリーの概要」をご参照ください。
背景情報
Intel® SGX は、ファームウェアやソフトウェアベースの保護ではなく、ハードウェアベースの保護を提供することで、物理レベルで高信頼コンピューティング環境をセットアップし、データのセキュリティを確保します。Intel® SGX は、命令セット拡張とアクセス制御メカニズムを使用して、SGX プログラムのランタイム環境を分離します。これにより、マルウェア攻撃から主要なコードとデータの機密性と完全性を保護します。他のセキュリティ技術と比較して、Intel® SGX はハードウェアのみを含む信頼のルートを使用します。これにより、信頼のルートが基づいているソフトウェアのセキュリティ脆弱性によって引き起こされる欠陥を防ぎ、システムのセキュリティを向上させます。
g7t、c7t、および r7t のセキュリティ強化インスタンスファミリーは、Intel® SGX に基づく高信頼メモリを提供し、仮想マシン向けの SGX テクノロジーをサポートします。vSGX インスタンス上で SGX プログラムを開発および実行できます。
Intel SGX enclave 内でハードウェアにバインドされたキー (SGX シーリングキーなど) を使用してインスタンスのデータを暗号化する場合、インスタンスのホストが変更されると、暗号化されたデータは復号できません。アプリケーションの信頼性を確保するために、アプリケーション層でデータ冗長性とバックアップを実行することをお勧めします。
手順
ステップ 1: SGX が有効になっているか確認する
SGX 高信頼コンピューティング環境を構築する前に、CPUID を使用して SGX が有効になっているかを確認できます。このセクションでは、SGX が有効になっているかを確認する方法について説明します。以下の例では、Alibaba Cloud Linux 2 (UEFI) イメージまたは Alibaba Cloud Linux 3 (UEFI) イメージ、および Ubuntu 22.04 (UEFI) イメージが使用されています。
Alibaba Cloud Linux 2 または 3 (UEFI) イメージ
CPUID をインストールします。
sudo yum install -y cpuidSGX が有効になっているか確認します。
cpuid -1 -l 0x7 |grep SGX次のようなコマンド出力は、SGX が有効になっていることを示します。
説明SGX が有効になった後、SGX プログラムを実行するには SGX ドライバーが必要です。Alibaba Cloud が提供する専用イメージには、SGX ドライバーが組み込まれています。専用イメージを使用しない場合は、SGX ドライバーをインストールしてください。
SGX ドライバーがインストールされているか確認します。
ls -l /dev/{sgx_enclave,sgx_provision}次のようなコマンド出力は、SGX ドライバーがインストールされていることを示します。

Ubuntu 22.04 (UEFI) イメージ
CPUID をインストールします。
sudo apt-get update && sudo apt-get install -y --no-install-recommends cpuidSGX が有効になっているか確認します。
cpuid -1 -l 0x7 |grep SGX次のようなコマンド出力は、SGX が有効になっていることを示します。
説明SGX が有効になった後、SGX プログラムを実行するには SGX ドライバーが必要です。Alibaba Cloud が提供する専用イメージには、SGX ドライバーが組み込まれています。専用イメージを使用しない場合は、SGX ドライバーをインストールしてください。
SGX ドライバーをインストールします:
install_sgx_dcap.shスクリプトを作成します:cat <<'EOF' > install_sgx_dcap.sh #!/bin/bash version_id=$(cat /etc/os-release|grep "VERSION_ID"|cut -d"=" -f2|tr -d "\"") version_codename=$(cat /etc/os-release|grep "VERSION_CODENAME"|cut -d"=" -f2) apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential dkms curl wget if [ ! -e /dev/sgx/enclave -a ! -e /dev/sgx_enclave ]; then dcap_version=$(curl -s https://download.01.org/intel-sgx/latest/version.xml |grep dcap| sed -r 's/.*>(.*)<.*/\1/') dcap_files=$(curl -s https://download.01.org/intel-sgx/latest/dcap-latest/linux/SHA256SUM_dcap_${dcap_version}.cfg) echo "${dcap_files}" | grep "ubuntu${version_id}-server" |grep "sgx_linux_x64_driver" | awk '{print $2}' | xargs -I{} curl -O -J https://download.01.org/intel-sgx/latest/dcap-latest/linux/{} bash sgx_linux_x64_driver*.bin else echo "driver already installed" fi EOFスクリプトを実行して SGX ドライバーをインストールします:
sudo bash ./install_sgx_dcap.sh
SGX ドライバーがインストールされているか確認します。
ls -l /dev/{sgx_enclave,sgx_provision}次のようなコマンド出力は、SGX ドライバーがインストールされていることを示します。

ステップ 2: SGX 高信頼コンピューティング環境を構築する
SGX プログラムを開発する前に、vSGX インスタンスに SGX ランタイムと SDK をインストールし、リモートアテステーションサービスを設定する必要があります。より良いユーザーエクスペリエンスを確保するために、Alibaba Cloud が提供する専用イメージを使用することをお勧めします。専用イメージには SGX ドライバーが搭載されており、Intel® SGX SDK と完全に互換性のある信頼できる実行環境 (TEE) SDK が提供されます。このセクションでは、SGX 高信頼コンピューティング環境を構築する方法について説明します。以下の例では、Alibaba Cloud Linux 2 (UEFI) イメージまたは Alibaba Cloud Linux 3 (UEFI) イメージ、および Ubuntu 22.04 (UEFI) イメージが使用されています。CentOS イメージなどの Linux イメージを使用する場合は、SGX ドライバーと Platform SoftWare (PSW) をインストールしてください。詳細については、「Intel® SGX SW Installation Guide for Linux」をご参照ください。
SGX 高信頼コンピューティング環境を構築するために必要なモジュールをインストールします。
Alibaba Cloud Linux 2 (UEFI) イメージまたは Alibaba Cloud Linux 3 (UEFI) イメージ
(必須) Alibaba Cloud SGX ランタイムをインストールします。
説明ECS コンソールで vSGX インスタンスを作成すると、Alibaba Cloud SGX ランタイムが自動的にインストールされます。このステップをスキップして、Alibaba Cloud TEE SDK をインストールできます。
Alibaba Cloud 高信頼コンピューティング用の Yellowdog Updater Modified (YUM) ソフトウェアリポジトリをインポートします。
説明次の URL の [Region-ID] を vSGX インスタンスのリージョン ID に置き換えてください:
リポジトリのパブリック URL は次のフォーマットです:
https://enclave-[Region-ID].oss-[Region-ID].aliyuncs.com/repo/alinux/enclave-expr.repo。リポジトリの内部 URL は次のフォーマットです:
https://enclave-[Region-ID].oss-[Region-ID]-internal.aliyuncs.com/repo/alinux/enclave-expr.repo。
スクリプトを作成して実行し、Alibaba Cloud 高信頼コンピューティング用の YUM ソフトウェアリポジトリをインポートすることもできます。
install_sgx_repo.shスクリプトを作成します:cat <<'EOF' > install_sgx_repo.sh ID=$(grep -w '^ID' /etc/os-release | awk -F= '{print $2}' | tr -d '"') VERSION_ID=$(grep -w '^VERSION_ID' /etc/os-release | awk -F= '{print $2}' | tr -d '"') # インスタンスのリージョンをクエリします。 token=$(curl -s -X PUT -H "X-aliyun-ecs-metadata-token-ttl-seconds: 5" "http://100.100.100.200/latest/api/token") region_id=$(curl -s -H "X-aliyun-ecs-metadata-token: $token" http://100.100.100.200/latest/meta-data/region-id) # Alibaba Cloud Linux 2 (UEFI) イメージが使用されている場合、インスタンスの Alibaba Cloud 実験リポジトリを有効にします。 if [ "$ID" = "alinux" -a "$VERSION_ID" = "2.1903" ]; then sudo rpmkeys --import http://mirrors.cloud.aliyuncs.com/epel/RPM-GPG-KEY-EPEL-7 sudo yum install -y alinux-release-experimentals fi yum install -y yum-utils && \ yum-config-manager --add-repo \ https://enclave-${region_id}.oss-${region_id}-internal.aliyuncs.com/repo/alinux/enclave-expr.repo EOFAlibaba Cloud 高信頼コンピューティング用の YUM リポジトリをインポートします:
sudo bash ./install_sgx_repo.sh
Alibaba Cloud SGX ランタイムをインストールします。
sudo yum install -y libsgx-ae-le libsgx-ae-pce libsgx-ae-qe3 libsgx-ae-qve \ libsgx-aesm-ecdsa-plugin libsgx-aesm-launch-plugin libsgx-aesm-pce-plugin \ libsgx-aesm-quote-ex-plugin libsgx-dcap-default-qpl libsgx-dcap-ql \ libsgx-dcap-quote-verify libsgx-enclave-common libsgx-launch libsgx-pce-logic \ libsgx-qe3-logic libsgx-quote-ex libsgx-ra-network libsgx-ra-uefi \ libsgx-uae-service libsgx-urts sgx-ra-service sgx-aesm-service説明SGX Architectural Enclave Service Manager (AESM) は、enclave の開始、キーの構成、リモートアテステーションなどのサービスを管理するために使用されます。SGX AESM のデフォルトのインストールパスは /opt/intel/sgx-aesm-service です。
Alibaba Cloud TEE SDK をインストールします。
sudo yum install -y sgxsdk
Alibaba Cloud TEE SDK は Intel® SGX SDK と完全に互換性があります。Alibaba Cloud TEE SDK をインストールした後、Intel® SGX Developer Reference を参照して SGX プログラムを開発できます。詳細については、「Intel®SGX Developer Reference」をご参照ください。
説明Alibaba Cloud TEE SDK における Intel® SGX SDK のデフォルトのインストールパスは /opt/alibaba/teesdk/intel/sgxsdk/ です。
Ubuntu 22.04 (UEFI) イメージ
install_sgx_sdk.shスクリプトを作成します:cat <<'EOF' > install_sgx_sdk.sh #!/bin/bash version_id=$(cat /etc/os-release|grep "VERSION_ID"|cut -d"=" -f2|tr -d "\"") version_codename=$(cat /etc/os-release|grep "VERSION_CODENAME"|cut -d"=" -f2) apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential dkms curl wget dcap_version=$(curl -s https://download.01.org/intel-sgx/latest/version.xml |grep dcap| sed -r 's/.*>(.*)<.*/\1/') linux_version=$(curl -s https://download.01.org/intel-sgx/latest/version.xml |grep linux| sed -r 's/.*>(.*)<.*/\1/') dcap_files=$(curl -s https://download.01.org/intel-sgx/latest/dcap-latest/linux/SHA256SUM_dcap_${dcap_version}.cfg) echo "${dcap_files}" | grep "ubuntu${version_id}-server" | awk '{print $2}' | xargs -I{} curl -O -J https://download.01.org/intel-sgx/latest/dcap-latest/linux/{} # sgx_sdk をインストールします bash sgx_linux_x64_sdk*.bin --prefix /opt/intel source /opt/intel/sgxsdk/environment # psw をインストールします echo "deb [arch=amd64] https://download.01.org/intel-sgx/sgx_repo/ubuntu ${version_codename} main" | tee /etc/apt/sources.list.d/intelsgx.list wget -qO - https://download.01.org/intel-sgx/sgx_repo/ubuntu/intel-sgx-deb.key | apt-key add - apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y libsgx-launch libsgx-urts libsgx-epid libsgx-quote-ex libsgx-dcap-ql libsgx-dcap-ql-dev systemctl enable --now aesmd.service EOFスクリプトを実行して Intel® SGX SDK と PSW をインストールします:
sudo bash ./install_sgx_sdk.sh
Alibaba Cloud SGX リモートアテステーションサービスを設定します。
Alibaba Cloud SGX リモートアテステーションサービスは、Intel® SGX Elliptic Curve Digital Signature Algorithm (ECDSA) ベースのリモートアテステーションサービスおよび Intel® SGX SDK と完全に互換性があります。Alibaba Cloud が提供する vSGX インスタンスは、リモートアテステーションを使用して、リモートプロバイダーやプロデューサーからの信頼を得ることができます。詳細については、「Attestation & Provisioning Services」をご参照ください。
Alibaba Cloud SGX リモートアテステーションサービスは、SGX SDK に関する次の情報を提供します:
SGX 証明書: SGX 証明書。
失効リスト: 失効した SGX 証明書のリスト。
信頼できるコンピューティングベース情報: 信頼のルートに関する情報。
説明Intel Ice Lake は、Intel Software Guard Extensions Data Center Attestation Primitives (Intel SGX DCAP) に基づくリモートアテステーションのみをサポートし、Intel Enhanced Privacy ID (EPID) に基づくリモートアテステーションはサポートしていません。リモートアテステーション機能を使用する前に、アプリケーションを適応させる必要があります。リモートアテステーションの詳細については、「Strengthen Enclave Trust with Attestation」をご参照ください。
Alibaba Cloud SGX リモートアテステーションサービスはリージョンごとにデプロイされます。最適な安定性を確保するために、vSGX インスタンスと同じリージョンにデプロイされているサービスにアクセスすることをお勧めします。Alibaba Cloud TEE SDK をインストールすると、リモートアテステーションサービスのデフォルト構成ファイル /etc/sgx_default_qcnl.conf が自動的に生成されます。vSGX インスタンスがデプロイされているリージョンの Alibaba Cloud SGX リモートアテステーションサービスにファイルを適応させるには、次のいずれかの方法を使用する必要があります。
説明次の表に、Alibaba Cloud SGX リモートアテステーションサービスがサポートされているリージョンを示します。
サポートされているリージョン
リージョン ID
中国 (青島)
cn-qingdao
中国 (北京)
cn-beijing
中国 (張家口)
cn-zhangjiakou
中国 (ウランチャブ)
cn-wulanchabu
中国 (杭州)
cn-hangzhou
中国 (上海)
cn-shanghai
中国 (深圳)
cn-shenzhen
中国 (河源)
cn-heyuan
中国 (広州)
cn-guangzhou
中国 (成都)
cn-chengdu
中国 (香港)
cn-hongkong
シンガポール
ap-southeast-1
インドネシア (ジャカルタ)
ap-southeast-5
(推奨) 方法 1: /etc/sgx_default_qcnl.conf ファイルを設定する。
次のコマンドを実行して、/etc/sgx_default_qcnl.conf ファイルを自動的に設定します。詳細については、「インスタンスメタデータへのアクセス」をご参照ください。
# インスタンスのリージョンを表示します。 token=$(curl -s -X PUT -H "X-aliyun-ecs-metadata-token-ttl-seconds: 5" "http://100.100.100.200/latest/api/token") region_id=$(curl -s -H "X-aliyun-ecs-metadata-token: $token" http://100.100.100.200/latest/meta-data/region-id) # インスタンスがデプロイされているリージョンの Alibaba Cloud Provisioning Certificate Caching Service (PCCS) の URL を指定します。 PCCS_URL=https://sgx-dcap-server-vpc.${region_id}.aliyuncs.com/sgx/certification/v4/ sudo bash -c 'cat > /etc/sgx_default_qcnl.conf' << EOF # PCCS サーバーアドレス PCCS_URL=${PCCS_URL} # 安全でない HTTPS 証明書を受け入れるには、このオプションを FALSE に設定します USE_SECURE_CERT=TRUE EOF方法 2: /etc/sgx_default_qcnl.conf ファイルを手動で変更する。
vSGX インスタンスにパブリック IP アドレスが割り当てられている場合は、/etc/sgx_default_qcnl.conf ファイルの構成を次の内容に変更します。[Region-ID] を vSGX インスタンスのリージョン ID に置き換えてください。
# PCCS サーバーアドレス PCCS_URL=https://sgx-dcap-server.[Region-ID].aliyuncs.com/sgx/certification/v4/ # 安全でない HTTPS 証明書を受け入れるには、このオプションを FALSE に設定します USE_SECURE_CERT=TRUEvSGX インスタンスが VPC にあり、内部 IP アドレスのみを持つ場合は、/etc/sgx_default_qcnl.conf ファイルの構成を次の内容に変更します。[Region-ID] を vSGX インスタンスのリージョン ID に置き換えてください。
# PCCS サーバーアドレス PCCS_URL=https://sgx-dcap-server-vpc.[Region-ID].aliyuncs.com/sgx/certification/v4/ # 安全でない HTTPS 証明書を受け入れるには、このオプションを FALSE に設定します USE_SECURE_CERT=TRUE
SGX 機能を検証する方法の例
このセクションでは、enclave を開始して、インストールされている SGX SDK が期待どおりに動作するかどうかを確認する方法について説明します。enclave が開始された場合、SDK は期待どおりに動作します。以下の例では、SampleEnclave という名前のサンプルコードファイルが使用されています。
例 1: enclave を開始する
Alibaba Cloud Linux 2 (UEFI) イメージまたは Alibaba Cloud Linux 3 (UEFI) イメージ
Alibaba Cloud TEE SDK は、SGX 機能を検証するための SGX サンプルコードを提供します。デフォルトでは、コードは /opt/alibaba/teesdk/intel/sgxsdk/SampleCode ディレクトリに保存されます。
コンパイラをインストールします。
SGX SDK に関連する環境変数を設定します。
if [ "$ID" = "alinux" -a "$VERSION_ID" = "2.1903" ]; then source /opt/rh/devtoolset-9/enable fi source /opt/alibaba/teesdk/intel/sgxsdk/environmentSampleEnclave ファイル内のサンプルコードをコンパイルします。
SampleEnclave ディレクトリに移動します:
cd /opt/alibaba/teesdk/intel/sgxsdk/SampleCode/SampleEnclaveSampleEnclave のサンプルコードをコンパイルします:
sudo -E make
コンパイルされた実行可能ファイルを実行します。
sudo ./app次のコマンド出力が返された場合、SGX は期待どおりに実行されています。

ID=$(grep -w '^ID' /etc/os-release | awk -F= '{print $2}' | tr -d '"')
VERSION_ID=$(grep -w '^VERSION_ID' /etc/os-release | awk -F= '{print $2}' | tr -d '"')
if [ "$ID" = "alinux" ]; then
case "$VERSION_ID" in
"2.1903" )
sudo yum install -y devtoolset-9
;;
"3" )
sudo yum groupinstall -y "Development Tools"
;;
esac
fiUbuntu 22.04 (UEFI) イメージ
パッケージリストを更新します。
sudo apt updatebuild-essentialコンパイラをインストールします。sudo apt install -y build-essentialSampleEnclave ファイル内のサンプルコードをコンパイルします。
SampleEnclave ディレクトリに移動します:
cd /opt/intel/sgxsdk/SampleCode/SampleEnclave/SampleEnclave のサンプルコードをコンパイルします:
sudo make SGX_DEBUG=1
コンパイルされた実行可能ファイルを実行します。
sudo ./app次のコマンド出力が返された場合、SGX は期待どおりに実行されています。

例 2: SGX リモートアテステーションサービスを使用する
Alibaba Cloud TEE SDK は、SGX 機能を検証するための SGX サンプルコードを提供します。デフォルトでは、コードは /opt/alibaba/teesdk/intel/sgxsdk/SampleCode ディレクトリに保存されます。このセクションでは、SGX リモートアテステーションサービスの使用方法について説明します。この例では、Alibaba Cloud Linux 2 (UEFI) イメージまたは Alibaba Cloud Linux 3 (UEFI) イメージが使用されます。
期待される結果は、QuoteGenerationSample ファイルを使用して quote が生成され、QuoteVerificationSample ファイルを使用して検証されることです。この例には、チャレンジを受ける側 (vSGX インスタンスで実行される SGX プログラム) とチャレンジする側 (SGX プログラムが信頼できるかどうかを検証したい側) が関与します。この例では、チャレンジを受ける側が quote を生成するために QuoteGenerationSample という名前のサンプルコードファイルを使用し、チャレンジする側が quote を検証するために QuoteVerificationSample という名前のサンプルコードファイルを使用します。
コンパイラをインストールします。
Alibaba Cloud Linux 2 (UEFI) イメージを使用する場合は、devtoolset をインストールします。
devtoolset をインストールします。
sudo yum install -y devtoolset-9devtoolset に関連する環境変数を設定します。
source /opt/rh/devtoolset-9/enable
Alibaba Cloud Linux 3 (UEFI) イメージを使用する場合は、Development Tools をインストールします。
sudo yum groupinstall -y "Development Tools"
SGX SDK に関連する環境変数を設定します。
source /opt/alibaba/teesdk/intel/sgxsdk/environmentSGX リモートアテステーションの依存パッケージをインストールします。
sudo yum install -y libsgx-dcap-ql-devel libsgx-dcap-quote-verify-devel libsgx-dcap-default-qpl-develチャレンジを受ける側が使用する QuoteGenerationSample ファイルのサンプルコードをコンパイルします。
QuoteGenerationSample ディレクトリに移動します。
cd /opt/alibaba/teesdk/intel/sgxsdk/SampleCode/QuoteGenerationSampleQuoteGenerationSample ファイルのサンプルコードをコンパイルします。
sudo -E make
コンパイルされた実行可能ファイルを実行して quote を生成します。
sudo ./app次のコマンド出力が返された場合、quote の検証は成功です。

チャレンジする側が使用する QuoteVerificationSample ファイルのサンプルコードをコンパイルします。
QuoteVerificationSample ディレクトリに移動します。
cd /opt/alibaba/teesdk/intel/sgxsdk/SampleCode/QuoteVerificationSampleQuoteVerificationSample ファイルのサンプルコードをコンパイルします。
sudo -E make
QuoteVerificationSample enclave に署名します。
enclave の公式バージョンをリリースするには、enclave に署名するための署名キーを提供する必要があります。
sudo sgx_sign sign -key Enclave/Enclave_private_sample.pem -enclave enclave.so -out enclave.signed.so -config Enclave/Enclave.config.xml説明Failed to open file "Enclave/Enclave_private_sample.pem"エラーメッセージが表示された場合は、次のコマンドを実行して署名を再署名します:sudo sgx_sign sign -key ../QuoteGenerationSample/Enclave/Enclave_private_sample.pem -enclave enclave.so -out enclave.signed.so -config Enclave/Enclave.config.xmlコンパイルされた実行可能ファイルを実行して quote を検証します。
sudo ./app次のコマンド出力が返された場合、quote の検証は成功です。

SGX SDK、PSW、および DCAP ソフトウェアの更新
Intel® SGX ソフトウェアスタックには、SGX SDK、SGX PSW、および SGX Data Center Attestation Primitives (DCAP) が含まれます。最適なセキュリティを確保するために、定期的にソフトウェアのバージョンを更新することをお勧めします。この例では、Alibaba Cloud Linux 3 UEFI イメージを使用して、SGX SDK、SGX PSW、および SGX DCAP ソフトウェアパッケージを更新します。
SGX SDK、SGX PSW、および SGX DCAP ソフトウェアを更新します。
sudo rpm -qa --qf "%{NAME}\n"|grep -E "sgxsdk|libsgx-|libtdx-|^sgx-|^tdx-"|sudo xargs bash -c '</dev/tty yum update "$@"' _SGX SDK、SGX PSW、および SGX DCAP ソフトウェアのバージョンを表示します。
SGX SDK および SGX PSW ソフトウェアのバージョンを表示します。
sudo rpm -qa|grep -E "sgxsdk|sgx-aesm-service|libsgx-(ae-epid|ae-le|ae-pce|aesm|enclave|epid|headers|launch|quote-ex|uae-service|urts)"次のコマンド出力が返されます。

SGX DCAP ソフトウェアのバージョンを表示します。
sudo rpm -qa|grep -E "sgx-(dcap-pccs|pck|ra-service)|libsgx-(ae-id-enclave|ae-qe3|ae-qve|ae-tdqe|dcap|pce-logic|qe3-logic|ra-|tdx-)|libtdx-|^tdx-"次のコマンド出力が返されます。
既知の問題
カーネルバージョンが 4.19.91-23.al7.x86_64 の Alibaba Cloud Linux 2 に付属する SGX ドライバーでメモリリークが発生する可能性があります。この問題は最新バージョンで修正されています。カーネルを最新バージョンに更新することをお勧めします。この古いカーネルバージョンを引き続き使用する場合は、次のコマンドを実行してパッチをインストールし、この問題を回避することをお勧めします:
sudo yum install -y alinux-release-experimentals && \
sudo yum install -y kernel-hotfix-5577959-23.al7.x86_64