Ismertető
A Microsoft értesült a Windows rendszerindítás-kezelőjével kapcsolatos biztonsági résről, amely lehetővé teszi, hogy a támadó megkerülje a biztonságos rendszerindítást. A rendszerindítás-kezelőben a probléma ki lett javítva, és biztonsági frissítésként jelent meg. A fennmaradó biztonsági rés az, hogy az eszközhöz rendszergazdai jogosultsággal vagy fizikai hozzáféréssel rendelkező támadó biztonsági javítás nélkül visszaállíthatja a rendszerindítás-kezelőt egy verzióra. Ezt a biztonsági rést a BlackLotus kártevő használja a CVE-2023-24932 által leírt biztonságos rendszerindítás megkerülésére. A probléma megoldásához visszavonjuk a sebezhető rendszerindítás-kezelőket.
Mivel számos rendszerindítás-kezelőt le kell tiltani, alternatív módszert alkalmazunk a rendszerindítás-kezelők blokkolására. Ez hatással van a nem Windows operációs rendszerekre, mivel a windowsos operációs rendszereken javítást kell nyújtani, hogy megakadályozza a Windows rendszerindítás-kezelőinek támadási vektorként való használatát a nem Windows operációs rendszereken.
További információ
A sebezhető EFI-alkalmazások bináris fájljainak belső vezérlőprogram általi betöltésének egyik módja a sebezhető alkalmazások kivonatainak hozzáadása az UEFI Tiltott listához (DBX). A DBX-listát az eszközök belső vezérlőprogramja által felügyelt flash tárolja. Ennek a blokkolási módszernek a korlátozása a dbX tárolására rendelkezésre álló korlátozott belsővezérlőprogram-flash memória. A korlátozás és a letiltandó rendszerindítás-kezelők nagy száma miatt (az elmúlt 10 vagy több év windowsos rendszerindítás-kezelői) nem lehet teljes egészében a DBX-re támaszkodni erre a problémára.
Ehhez a problémához egy hibrid módszert választottunk a sebezhető rendszerindítás-kezelők blokkolására. Csak néhány, a Windows korábbi verzióiban kiadott rendszerindítás-kezelő lesz hozzáadva a DBX-hez. A Windows 10 és az újabb verziók esetében a rendszer egy Windows Defender alkalmazásvezérlési (WDAC) szabályzatot használ, amely blokkolja a sebezhető Windows rendszerindítás-kezelőket. Ha a szabályzatot egy Windows-rendszerre alkalmazza, a rendszerindítás-kezelő "zárolja" a szabályzatot a rendszeren egy változó hozzáadásával az UEFI belső vezérlőprogramhoz. A Windows rendszerindítás-kezelői betartják a szabályzatot és az UEFI-zárolást. Ha az UEFI-zárolás érvényben van, és a szabályzat el lett távolítva, a Windows rendszerindítás-kezelője nem indul el. Ha a szabályzat érvényben van, a rendszerindítás-kezelő nem indul el, ha a szabályzat letiltotta.
Útmutatás a sebezhető Windows rendszerindítás-kezelők blokkolásához
MEGJEGYZÉS A felhasználóknak lehetőséget kell adni a változó alkalmazására, hogy szabályozhassák, mikor védve vannak.
Az UEFI-zárolás engedélyezésével a meglévő rendszerindító Windows-adathordozók indítása leáll, amíg az adathordozó nem frissül a 2023. május 9-én vagy azt követően kiadott Windows-frissítésekkel. Útmutatás az adathordozó frissítéséhez: KB5025885: A CVE-2023-24932-höz társított biztonságos rendszerindítási módosítások Windows Rendszertöltés-kezelői visszavonásainak kezelése.
-
Olyan biztonságos rendszerindítást lehetővé tevő rendszerek esetén, amelyek csak nem Windows operációs rendszereket
indítanak Azok a rendszerek, amelyek csak nem Windows operációs rendszereket indítanak el, és soha nem indítják el a Windowst, ezek a kockázatcsökkentések azonnal alkalmazhatók a rendszerre. -
Kettős rendszerindítású Windows és más operációs rendszerek
esetén A Windowst elindító rendszerek esetében a nem Windows-alapú kockázatcsökkentéseket csak akkor kell alkalmazni, ha a Windows operációs rendszert frissítették a 2023. május 9-én vagy azt követően kiadott Windows-frissítésekre.
Az UEFI-zárolás létrehozása
Az UEFI-zárolás két változóval rendelkezik, amelyek szükségesek a Visszaállítási támadások megelőzéséhez a Windows rendszerindítás-kezelőjében. Ezek a változók a következők:
-
Termékváltozat SiPolicy attribútumai
Ez a szabályzat a következő attribútumokkal rendelkezik:
-
Szabályzattípus azonosítója:
{976d12c8-cb9f-4730-be52-54600843238e}
-
A "SkuSiPolicy.p7b" konkrét fájlneve
-
Az EFI\Microsoft\Boot konkrét fizikai helye
Mint minden aláírt WDAC-szabályzat, az aláírt termékváltozat-szabályzatokat is két UEFI-változó védi:
-
SKU_POLICY_VERSION_NAME: "SkuSiPolicyVersion"
-
SKU_POLICY_UPDATE_POLICY_SIGNERS_NAME: "SkuSiPolicyUpdateSigners"
-
-
Termékváltozat SiPolicy változói
Ez a szabályzat az EFI-névtérben/szállítóban
tárolt két UEFI-változót használ GUID(SECUREBOOT_EFI_NAMESPACE_GUID):#define SECUREBOOT_EFI_NAMESPACE_GUID \
{0x77fa9abd, 0x0359, 0x4d32, \
{0xbd, 0x60, 0x28, 0xf4, 0xe7, 0x8f, 0x78, 0x4b}};
-
SkuSiPolicyVersion
-
ULONGLONG/UInt64 típusú futásidőben
-
< VersionEx>2.0.0.2</VersionEx> határozza meg a szabályzat XML-fájljában a következő formában: (MAJOR). KISEBB. FELÜLVIZSGÁLATA. BUILDNUMBER)
-
Az ULONGLONG-ra fordítják le,
((major##ULL << 48) + (alverzió##ULL << 32) + (változat##ULL << 16) + buildnumber)
Minden verziószám 16 bitből áll, tehát összesen 64 bitből áll.
-
Az újabb szabályzat verziójának meg kell egyeznie vagy nagyobbnak kell lennie, mint az UEFI változó futásidőben tárolt verziója.
-
Leírás: Állítsa be a kódintegritási rendszerindítási szabályzat verzióját.
-
Attribútumok:
(EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)
-
Névtér GUID azonosítója:
77fa9abd-0359-4d32-bd60-28f4e78f784b
-
Adattípus:
uint8_t[8]
-
Adatok:
uint8_t SkuSiPolicyVersion[8] = { 0x2,0x0,0x0,0x0,0x0,0x0,0x2,0x0 };
-
-
SkuSiPolicyUpdateSigners
-
A Windows aláírójának kell lennie.
-
Leírás: A szabályzat aláíróinak adatai.
-
Attribútumok:
(EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS)
-
Névtér GUID azonosítója:
77fa9abd-0359-4d32-bd60-28f4e78f784bd
-
Adattípus:
uint8_t[131]
-
Adatok:
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};
-
-
A DBX alkalmazása
A probléma dbxUpdate.bin fájljának kiadása UEFI.org. Ezek a kivonatok tartalmazzák a Windows 8 és a Windows 10 első kiadása között kiadott összes visszavont Windows rendszerindítás-kezelőt, amely nem tartja tiszteletben a kódintegritási szabályzatot.
Rendkívül fontos, hogy ezeket körültekintően alkalmazzák, mert fennáll a veszélye annak, hogy megtörhetnek egy több operációs rendszert használó kettős rendszerindítási rendszert, és az egyik ilyen rendszerindítás-kezelőt. Rövid távon azt javasoljuk, hogy bármely rendszer esetében ezeket a kivonatokat opcionálisan alkalmazza.