SMI handlers / SMI configuration not locked (chipsec common.bios_smi)¶
Chipset'in SMI-enable yapılandırması kilitsiz bırakılırsa, ring-0 software Global SMI Enable'ı temizleyerek tüm SMI'ları devre dışı bırakabilir —
SMM_BWPile uygulanan BIOS write protection gibi SMM-tabanlı korumaları etkisiz kılar.
Mechanism¶
SMM yalnızca kilitsiz bir SMI config'in kapatamayacağını savunabilir
Birçok platform koruması, SMI'ların güvenilir SMM handler'larına ateşlenmesine
dayanır — en önemlisi, flash enable bit'ine yapılan bir yazmanın bir SMI
(BLE) tetiklediği ve SMM'in policy'yi uyguladığı (SMM_BWP/EISS) BIOS
write-protection şemasıdır. Chipset şunları açığa çıkarır:
SMI_ENiçindekiGBL_SMI_EN— chipset SMI kaynakları için global enable.SMI_LOCK(örn.GEN_PMCON_1/General PM Config'in bit 4'ü) — bir kez set edildiğinde,GBL_SMI_EN(ve TCO SMI config) artık değiştirilemez.
Firmware SMI_LOCK'u hiç set etmezse, ring-0 kod SMI_EN[GBL_SMI_EN]'i
temizleyerek tüm chipset SMI'larını devre dışı bırakabilir. SMI-güdümlü
BIOS write-protection uygulaması o zaman hiç çalışmaz, dolayısıyla flash
yazmaları korumasız ilerler. Bozulan invariant: "OS, SMM korumalarını uygulayan
SMI'ları kapatamaz." CHIPSEC'in common.bios_smi'si (namıdiğer SMI lock), TCO
SMI'yi, Global SMI Enable'ı ve SMI lock durumunu doğrular.
Walkthrough¶
# Check that SMI events config (Global SMI Enable / SMI Lock / TCO) is locked.
sudo python chipsec_main.py -m common.bios_smi
Yorumlama:
Bir FAIL, ring-0 software'in GBL_SMI_EN'i temizleyebileceği anlamına gelir.
Kilitsiz bir BIOS_CNTL (BLE uygulanmıyor) ile birleştiğinde, bu saldırganın hiç
SMI ateşlenmeden BIOSWE'yi flip'leyip SPI flash'a yazmasına imkân verir — bkz.
SPI flash BIOS write-protection misconfig.
Detection¶
- SMI Lock'un set edilmediğini raporlayan CHIPSEC
common.bios_smi. - Chipset lock durumunu içeren firmware attestation'ı.
Mitigation¶
- Firmware, boot'un erken aşamasında
SMI_LOCK'u set etmeli (ve TCO SMI'yi kilitlemeli); bunu yapan satıcı güncellemelerini uygulayın. BLE/SMM_BWPuygulamasıyla ve SPI flash lockdown ile eşleştirin, böylece bir kontrol zayıf olsa bile korumalar bypass edilemez.