Giriş
Microsoft, Windows önyükleme yöneticisinde bir saldırganın Güvenli Önyükleme'yi atlamasına izin veren bir güvenlik açığı olduğunu fark etti. Önyükleme yöneticisindeki sorun düzeltildi ve bir güvenlik güncelleştirmesi olarak yayımlandı. Kalan güvenlik açığı, yönetici ayrıcalıklarına veya cihaza fiziksel erişimi olan bir saldırganın önyükleme yöneticisini güvenlik düzeltmesi olmadan bir sürüme geri döndürebileceğidir. Bu geri alma güvenlik açığı, Cve-2023-24932 tarafından açıklanan Güvenli Önyüklemeyi atlamak için BlackLotus kötü amaçlı yazılımı tarafından kullanılıyor. Bu sorunu çözmek için güvenlik açığı olan önyükleme yöneticilerini iptal edeceğiz.
Engellenmesi gereken çok sayıda önyükleme yöneticisi nedeniyle, önyükleme yöneticilerini engellemenin alternatif bir yolunu kullanıyoruz. Bu, Windows dışı işletim sistemlerini etkiler. Windows önyükleme yöneticilerinin Windows dışı işletim sistemlerinde saldırı vektöru olarak kullanılmasını engellemek için bu sistemlerde bir düzeltme sağlanması gerekir.
Daha fazla bilgi
Güvenlik açığı olan EFI uygulama ikili dosyalarının üretici yazılımı tarafından yüklenmesini engellemenin bir yöntemi, güvenlik açığı bulunan uygulamaların karmalarını UEFI Yasak Listesi'ne (DBX) eklemektir. DBX listesi, cihaz üretici yazılımı tarafından yönetilen flash'ta depolanır. Bu engelleme yönteminin sınırlaması, DBX'i depolamak için kullanılabilen sınırlı üretici yazılımı flash belleğidir. Bu sınırlama ve engellenmesi gereken çok sayıda önyükleme yöneticisi nedeniyle (son 10 yıldan daha uzun bir süredir Windows önyükleme yöneticileri), bu sorun için tamamen DBX'e güvenmek mümkün değildir.
Bu sorun için, güvenlik açığı olan önyükleme yöneticilerini engelleyen karma bir yöntem seçtik. DBX'e Windows'un önceki sürümlerinde yayımlanan yalnızca birkaç önyükleme yöneticisi eklenecektir. Windows 10 ve sonraki sürümlerde, savunmasız Windows önyükleme yöneticilerini engelleyen bir Windows Defender Uygulama Denetimi (WDAC) ilkesi kullanılır. İlke bir Windows sistemine uygulandığında, önyükleme yöneticisi UEFI üretici yazılımına bir değişken ekleyerek ilkeyi sisteme "kilitler". Windows önyükleme yöneticileri ilkeye ve UEFI kilidine saygı gösterir. UEFI kilidi yerindeyse ve ilke kaldırıldıysa, Windows önyükleme yöneticisi başlatılmaz. İlke yerindeyse, ilke tarafından engellenmişse önyükleme yöneticisi başlatılmaz.
Güvenlik açığı bulunan Windows önyükleme yöneticilerini engelleme kılavuzu
NOT Kullanıcılara, ne zaman korunacaklarını denetleyebilmeleri için değişkeni uygulama seçeneği verilmelidir.
UEFI kilidinin etkinleştirilmesi, medya 9 Mayıs 2023 veya sonrasında yayımlanan Windows güncelleştirmeleriyle güncelleştirilene kadar mevcut önyüklenebilir Windows medyasının önyüklenmesinin durdurulmasına neden olur. Medya güncelleştirme kılavuzuna KB5025885'te ulaşabilirsiniz: CVE-2023-24932 ile ilişkili Güvenli Önyükleme değişiklikleri için Windows Önyükleme Yöneticisi iptallerini yönetme.
-
Yalnızca Windows dışı işletim sistemlerini önyükleyen Güvenli Önyükleme özellikli sistemler
için Yalnızca Windows dışı işletim sistemlerini başlatan ve Windows'ı hiçbir zaman başlatmayacak sistemler için bu risk azaltmalar sisteme hemen uygulanabilir. -
Sistemler için çift önyükleme Windows ve başka bir işletim sistemi
Windows'ı başlatan sistemlerde, Windows olmayan risk azaltmaları yalnızca Windows işletim sistemi 9 Mayıs 2023 veya sonrasında yayımlanan Windows güncelleştirmelerine güncelleştirildikten sonra uygulanmalıdır.
UEFI Kilidi Oluşturma
UEFI Lock, Windows önyükleme yöneticisinde geri alma saldırılarını önlemek için gereken iki değişkene sahiptir. Bu değişkenler aşağıdaki gibidir:
-
SKU SiPolicy Öznitelikleri
Bu ilke aşağıdaki özniteliklere sahiptir:
-
İlke Türü Kimliği:
{976d12c8-cb9f-4730-be52-54600843238e}
-
"SkuSiPolicy.p7b" dosyasının belirli adı
-
EFI\Microsoft\Boot'un belirli fiziksel konumu
Tüm imzalı WDAC ilkeleri gibi, imzalı bir SKU İlkesi de iki UEFI değişkeni tarafından korunur:
-
SKU_POLICY_VERSION_NAME: "SkuSiPolicyVersion"
-
SKU_POLICY_UPDATE_POLICY_SIGNERS_NAME: "SkuSiPolicyUpdateSigners"
-
-
SKU SiPolicy Değişkenleri
Bu ilke, EFI Ad Alanı/Satıcı
altında depolanan iki UEFI değişkeni kullanır GUID(SECUREBOOT_EFI_NAMESPACE_GUID):#define SECUREBOOT_EFI_NAMESPACE_GUID \
{0x77fa9abd, 0x0359, 0x4d32, \
{0xbd, 0x60, 0x28, 0xf4, 0xe7, 0x8f, 0x78, 0x4b}};
-
SkuSiPolicyVersion
-
çalışma zamanında ULONGLONG/UInt64 türündedir
-
< VersionEx>2.0.0.2</VersionEx> ilke XML'i içinde (MAJOR) biçiminde tanımlanır. KÜÇÜK. REVİZYON. BUILDNUMBER)
-
ULONGLONG'a şu şekilde çevrilir:
((major##ULL << 48) + (minor##ULL << 32) + (revision##ULL << 16) + buildnumber)
Her sürüm numarası 16 bit olduğundan toplam 64 bittir.
-
Daha yeni ilkenin sürümü, çalışma zamanında UEFI değişkeninde depolanan sürüme eşit veya ondan büyük olmalıdır.
-
Açıklama: Kod bütünlüğü önyükleme ilkesi sürümüdür.
-
Öznitelik:
(EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)
-
Ad Alanı Guid'i:
77fa9abd-0359-4d32-bd60-28f4e78f784b
-
Veri türü:
uint8_t[8]
-
Veri:
uint8_t SkuSiPolicyVersion[8] = { 0x2,0x0,0x0,0x0,0x0,0x0,0x2,0x0 };
-
-
SkuSiPolicyUpdateSigners
-
Windows imzalayanı olmalıdır.
-
Açıklama: İlke imzalayan bilgileri.
-
Öznitelik:
(EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)
-
Ad Alanı Guid'i:
77fa9abd-0359-4d32-bd60-28f4e78f784bd
-
Veri türü:
uint8_t[131]
-
Veri:
uint8_tSkuSiPolicyUpdateSigners[131] =
{ 0x01, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x0b, 0x00, 0x00, 0x00, 0xd0, 0x91, 0x73, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x54, 0xa6, 0x78, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x5c, 0xa6, 0x78, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00,
0x00, 0x00, 0x00, 0x00, 0x64, 0xa6, 0x78, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0a, 0x2b, 0x06, 0x01,
0x04, 0x01, 0x82, 0x37, 0x0a, 0x03, 0x06, 0x00,
0x00, 0x00, 0x00};
-
-
DBX'i uygulama
Bu sorun için DbxUpdate.bin dosyasını UEFI.org yayımladık. Bu karmalar, Windows 8 ile kod bütünlüğü ilkesine saygı duymayan Windows 10 ilk sürümü arasında yayımlanan tüm iptal edilmiş Windows önyükleme yöneticilerini içerir.
Bunların, birden çok işletim sistemi ve bu önyükleme yöneticilerinden birini kullanan bir çift önyükleme sistemini bozma riski nedeniyle dikkatli bir şekilde uygulanması son derece önemlidir. Kısa vadede, herhangi bir sistem için bu karmaların isteğe bağlı olarak uygulanmasını öneririz.