Data |
Opis zmiany |
---|---|
27 października 2023 r. |
Dodano odwołania do łagodzenia B |
17 lipca 2023 r. |
Dodano informacje MMIO |
Podsumowanie
Firma Microsoft wie o nowych wariantach klasy ataku znanej jako spekulacyjne wykonywanie luk w zabezpieczeniach kanału bocznego. Warianty są nazywane błędem terminalu L1 (L1TF) i próbkowaniem danych mikroarchitekturalnych (MDS). Osoba atakująca, która może pomyślnie wykorzystać usługę L1TF lub MDS, może czytać dane uprzywilejowane ponad granicami zaufania.
AKTUALIZACJA: 14 maja 2019 r.: W dniu 14 maja 2019 r. firma Intel opublikowała informacje o nowej podklasie luk specjalizacyjnych dotyczących wykonywania w kanałach bocznych znanych pod nazwą Próbkowanie danych mikroarchitektury. Przypisano im następujące CVE:
-
CVE-2018-11091 | Microarchitectural Data Sampling Uncacheable Memory (MDSUM)
-
CVE-2018-12126 | Pobieranie próbek buforu magazynu mikroarchitectural (MSBDS)
-
CVE-2018-12127 | Pobieranie próbek buforu wypełniania mikroarchikturalnego (MFBDS)
-
CVE-2018-12130 | Pobieranie próbek danych z mikroarchitektury portów obciążenia (MLPDS)
ZAKTUALIZOWANO 12 LISTOPADA 2019 R.: W dniu 12 listopada 2019 r. firma Intel opublikowała poradę techniczną dotyczącą luk w zabezpieczeniach asynchronicznych (Transactional Synchronization Extensions) Intel TSX (Intel®® TSX) związanych z przerwaniem transakcji przypisaną do cve-2019-11135. Firma Microsoft wydała aktualizacje, które pomogą ograniczyć tę lukę w zabezpieczeniach. Zwróć uwagę na następujące informacje:
-
Domyślnie zabezpieczenia systemów operacyjnych są włączone w niektórych wersjach systemu operacyjnego Windows Server. Aby uzyskać więcej informacji, zobacz artykuł z bazy wiedzy Microsoft Knowledge Base 4072698.
-
Domyślnie zabezpieczenia systemów operacyjnych są włączone dla wszystkich wersji klienckich systemu operacyjnego Windows. Aby uzyskać więcej informacji, zobacz artykuł z bazy wiedzy Microsoft Knowledge Base 4073119 .
Omówienie luk w zabezpieczeniach
W środowiskach, w których udostępniane są zasoby, takie jak hosty wirtualizacji, osoba atakująca, która może uruchomić dowolny kod na jednej maszynie wirtualnej, może mieć dostęp do informacji z innej maszyny wirtualnej lub z samego hosta wirtualizacji.
Zagrożone są także obciążenia serwerów, takie jak usługi pulpitu zdalnego systemu Windows Server (RDS) i więcej dedykowanych ról, takich jak kontrolery domeny usługi Active Directory. Osoby atakujące, które mogą uruchamiać dowolny kod (niezależnie od poziomu uprawnień), mogą mieć dostęp do tajemnic systemu operacyjnego lub obciążenia pracą, takich jak klucze szyfrowania, hasła i inne poufne dane.
Zagrożone są również klienckie systemy operacyjne Windows, zwłaszcza w przypadku uruchamiania niezaufanego kodu, korzystania z funkcji zabezpieczeń opartych na wirtualizacji, takich jak Windows Defender Credential Guard, lub używania funkcji Hyper-V do uruchamiania maszyn wirtualnych.
Uwaga: Te luki w zabezpieczeniach wpływają tylko na procesory Intel Core i Intel Xeon.
Omówienie łagodzenia
Aby rozwiązać te problemy, firma Microsoft współpracuje z firmą Intel w celu opracowania środków łagodzących oprogramowanie i wskazówek. Opublikowano aktualizacje oprogramowania pomagające ograniczyć luki w zabezpieczeniach. W celu uzyskania wszystkich dostępnych zabezpieczeń mogą być wymagane aktualizacje, które mogą również zawierać mikrokod od OEM urządzeń.
W tym artykule opisano, jak ograniczyć następujące luki w zabezpieczeniach:
-
CVE-2018-3620 | Błąd terminalu L1 — system operacyjny, SMM
-
CVE-2018-3646 | Błąd terminalu L1 — VMM
-
CVE-2018-11091 | Microarchitectural Data Sampling Uncacheable Memory (MDSUM)
-
CVE-2018-12126 | Pobieranie próbek buforu magazynu mikroarchitectural (MSBDS)
-
CVE-2018-12127 | Pobieranie próbek danych z mikroarchitektury portów obciążenia (MLPDS)
-
CVE-2018-12130 | Pobieranie próbek buforu wypełniania mikroarchikturalnego (MFBDS)
-
CVE-2019-11135 | Luka w zabezpieczeniach funkcji ujawniania informacji o jądrze systemu Windows
-
CVE-2022-21123 | Odczyt danych buforu udostępnionego (SBDR)
-
CVE-2022-21125 | Pobieranie próbek danych buforu udostępnionego (SBDS)
-
CVE-2022-21127 | Specjalna aktualizacja próbkowania buforu rejestru (aktualizacja SRBDS)
-
CVE-2022-21166 | Częściowy zapis rejestru urządzeń (DRPW)
Aby dowiedzieć się więcej o tych lukach, zobacz następujące porady dotyczące zabezpieczeń:
L1TF: ADV180018 | Wskazówki firmy Microsoft dotyczące ograniczania wariantu L1TF
MMIO: ADV220002 | Wskazówki firmy Microsoft dotyczące luk w zabezpieczeniach danych MMIO procesora Intel
Luka w zabezpieczeniach funkcji ujawniania informacji o jądrze systemu Windows: CVE-2019-11135 | Luka w zabezpieczeniach funkcji ujawniania informacji o jądrze systemu Windows
Określanie działań niezbędnych do złagodzenia zagrożenia
Poniższe sekcje mogą pomóc w zidentyfikowaniu systemów, na które mają wpływ luki w zabezpieczeniach L1TF i/lub MDS, a także pomóc w zrozumieniu i zminimalizowaniu zagrożeń.
Potencjalny wpływ na wydajność
W ramach testów firma Microsoft odnotowała pewien wpływ tych środków łagodzących na wydajność, w zależności od konfiguracji systemu i tego, które środki łagodzące są wymagane.
Niektórzy klienci mogą być musieli wyłączyć funkcję hyper-threading (znaną również jako jednoczesne wielowątkowość lub SMT), aby w pełni rozwiązać ryzyko związane z usługami L1TF i MDS. Należy pamiętać, że wyłączenie funkcji hyper-threading może spowodować obniżenie wydajności. Ta sytuacja dotyczy klientów korzystających z następujących rozwiązań:
-
Wersje funkcji Hyper-V starsze niż Windows Server 2016 lub Windows 10 wersja 1607 (aktualizacja rocznicowa)
-
Funkcje zabezpieczeń oparte na wirtualizacji (VBS), takie jak Credential Guard i Device Guard
-
Oprogramowanie umożliwiające wykonanie niezaufanego kodu (na przykład serwera automatyzacji kompilacji lub udostępnionego środowiska hostingu IIS)
Wpływ może się różnić w zależności od sprzętu i obciążeń, które są uruchomione w systemie. Najpopularniejszą konfiguracją systemu jest włączenie funkcji hyper-threading. W związku z tym wpływ na wydajność jest ogrodzony na użytkownika lub administratora, który podejmuje działania w celu wyłączenia funkcji hyper-threading w systemie.
Uwaga: Aby ustalić, czy system korzysta z funkcji zabezpieczeń chronionych przez SPP, wykonaj następujące czynności:
-
W menu Start wpisz MSINFO32.
Uwaga: Zostanie otwarte okno Informacje o systemie . -
W polu Znajdź wpisz ciąg zabezpieczenia.
-
W prawym okienku odszukaj dwa wiersze zaznaczone na zstrzale ekranu i sprawdź w kolumnie Wartość , czy jest włączona funkcja Zabezpieczenia oparte na wirtualizacji i które wirtualizowane usługi zabezpieczeń są uruchomione.
Harmonogram rdzenia Hyper-V łagodzi wektory ataków L1TF i MDS na maszyny wirtualne Hyper-V, jednocześnie umożliwiając obsługę funkcji hyper-threading. Harmonogram podstawowy jest dostępny od wersji 1607 Windows Server 2016 i Windows 10. Zapewnia to minimalny wpływ na wydajność maszyn wirtualnych.
Harmonogram podstawowy nie ogranicza wektorów ataku L1TF ani MDS przed funkcjami zabezpieczeń chronionymi VBS. Aby uzyskać więcej informacji, zobacz Łagodzenie C i następujący artykuł w blogu wirtualizacji:
Aby uzyskać szczegółowe informacje od firmy Intel dotyczące wpływu na wydajność, przejdź do następującej witryny internetowej firmy Intel:
Identyfikowanie systemów, których dotyczy problem, i wymaganych środków łagodzących
Schemat blokowa na rysunku 1 może pomóc w zidentyfikowaniu systemów, na które ma to wpływ, i określeniu prawidłowego zestawu akcji.
Ważne: Jeśli korzystasz z maszyn wirtualnych, musisz rozważyć i zastosować schemat blokowy do hostów Hyper-V i każdego gościa maszyny wirtualnej, którego to dotyczy, ponieważ środki łagodzące mogą mieć zastosowanie do obu tych elementów. W szczególności w przypadku hosta Hyper-V kroki schematu blokowego zapewniają zabezpieczenia między maszynami wirtualnymi i zabezpieczenia wewnątrz hosta. Jednak zastosowanie tych środków łagodzących tylko do hosta Hyper-V nie jest wystarczające, aby zapewnić ochronę wewnątrz maszyny wirtualnej. Aby zapewnić ochronę wewnątrz maszyny wirtualnej, musisz zastosować schemat blokowy do każdej maszyny wirtualnej systemu Windows. W większości przypadków oznacza to upewnienie się, że klucze rejestru są ustawione na maszynie wirtualnej.
Podczas nawigowania po schemacie blokowym napotkasz niebieskie kółka z literami, które są mapowane na akcję lub serię akcji wymaganych do ograniczenia wektorów ataku L1TF specyficznych dla Twoich konfiguracji systemu. Każda napotkana akcja musi zostać zastosowana. Gdy napotkasz zieloną linię, oznacza to bezpośrednią ścieżkę do końca i nie ma żadnych dodatkowych kroków łagodzenia.
Krótkie objaśnienie każdego łagodzenia literami jest zawarte w legendzie po prawej stronie. Szczegółowe objaśnienia poszczególnych środków łagodzących zawierające instrukcje instalacji i konfiguracji krok po kroku znajdują się w sekcji "Środki łagodzące".
Czynniki
Ważne: W poniższej sekcji opisano środki łagodzące, które powinny być stosowane TYLKO w określonych warunkach określonych na podstawie schematu blokowego na rysunku 1 w poprzedniej sekcji. NIE stosuj tych środków łagodzących, chyba że schemat blokowy wskazuje, że konieczne jest konkretne ograniczenie.
Oprócz aktualizacji oprogramowania i mikrokodu do włączenia pewnych zabezpieczeń mogą być również wymagane ręczne zmiany konfiguracji. Ponadto zalecamy, aby klienci z przedsiębiorstw rejestrowali się w celu uzyskania powiadomienia o zabezpieczeniach, aby otrzymywać alerty o zmianach zawartości. (Zobacz Powiadomienia o zabezpieczeniach technicznych firmy Microsoft).
Łagodzenie A
Uzyskiwanie i stosowanie najnowszych aktualizacji systemu Windows
Zastosuj wszystkie dostępne aktualizacje systemu operacyjnego Windows, w tym comiesięczne aktualizacje zabezpieczeń systemu Windows. Tabelę produktów, na które ma to wpływ, można znaleźć w poradach firmy Microsoft dotyczących bezpieczeństwa | 180018 ADV dla L1TF, porada dotycząca zabezpieczeń | 190013 ADV dla MDS, porada dotycząca zabezpieczeń | ADV220002 na potrzeby MMIO i luk w zabezpieczeniach | CVE-2019-11135 — luka w zabezpieczeniach ujawniania informacji o jądrze systemu Windows.
Łagodzenie B
Uzyskiwanie i stosowanie najnowszych aktualizacji mikrokodu lub oprogramowania układowego
Oprócz zainstalowania najnowszych aktualizacji zabezpieczeń systemu Windows może być również wymagany mikrokod procesora lub aktualizacja oprogramowania układowego. Zalecamy uzyskanie i zastosowanie najnowszej aktualizacji mikrokodu stosownie do potrzeb twojego urządzenia z urządzenia OEM. Aby uzyskać więcej informacji na temat mikrokodu lub aktualizacji oprogramowania układowego, zobacz następujące informacje:
Uwaga: Jeśli używasz wirtualizacji zagnieżdżonej (w tym uruchamiania kontenerów Hyper-V w maszynie wirtualnej gościa), musisz udostępnić nowe oświecenia mikrokodu maszynie wirtualnej gościa. Może to wymagać uaktualnienia konfiguracji maszyny wirtualnej do wersji 8. Wersja 8 domyślnie zawiera oświecenia mikrokodu. Aby uzyskać więcej informacji i wymagane kroki, zobacz następujący artykuł Microsoft Docs artykule:
Uruchamianie funkcji Hyper-V na maszynie wirtualnej z zagnieżdżoną wirtualizacją
Łagodzenie C
Czy należy wyłączyć funkcję hyper-threading (HT)?
Luki W zabezpieczeniach L1TF i MDS stwarzają ryzyko, że poufność maszyn wirtualnych Hyper-V i tajemnice utrzymywane przez oprogramowanie Microsoft Virtualization Based Security (VBS) mogą zostać naruszone za pomocą ataku na kanał boczny. Po włączeniu funkcji Hyper-Threading (HT) granice zabezpieczeń zapewniane zarówno przez funkcję Hyper-V, jak i VBS są osłabione.
Harmonogram rdzenia Hyper-V (dostępny począwszy od Windows Server 2016 i Windows 10 wersji 1607) ogranicza wektory ataków L1TF i MDS na maszyny wirtualne Hyper-V, umożliwiając jednocześnie Hyper-Threading pozostanie włączona. Ma to minimalny wpływ na wydajność.
Harmonogram rdzenia Hyper-V nie ogranicza wektorów ataku L1TF ani MDS przed funkcjami zabezpieczeń chronionymi VBS. Luki W zabezpieczeniach L1TF i MDS stwarzają ryzyko, że poufność tajemnic VBS może zostać naruszona poprzez atak na kanał boczny, gdy włączona jest Hyper-Threading (HT), osłabiając granicę bezpieczeństwa zapewnianą przez VBS. Nawet przy tym zwiększonym ryzyku, VBS nadal zapewnia cenne korzyści bezpieczeństwa i ogranicza szereg ataków z włączonym HT. Dlatego zalecamy, aby VBS nadal był używany w systemach z obsługą HT. Klienci, którzy chcą wyeliminować potencjalne ryzyko luk WL1TF i MDS dotyczących poufności VBS, powinni rozważyć wyłączenie HT w celu ograniczenia tego dodatkowego ryzyka.
Klienci, którzy chcą wyeliminować ryzyko związane z lukami WL1TF i MDS, niezależnie od tego, czy chodzi o poufność wersji Hyper-V starszych niż Windows Server 2016, czy też ze zdolnościami zabezpieczeń VBS, muszą rozważyć podjęcie decyzji i rozważyć wyłączenie HT w celu ograniczenia ryzyka. Ogólnie rzecz biorąc, ta decyzja może opierać się na następujących wytycznych:
-
W przypadku Windows 10 wersji 1607, Windows Server 2016 i nowszych systemów, które nie korzystają z funkcji Hyper-V i nie korzystają z funkcji zabezpieczeń chronionych VBS, klienci nie powinni wyłączać funkcji HT.
-
W przypadku Windows 10 wersji 1607, Windows Server 2016 i nowszych systemów, w których jest uruchomiona funkcja Hyper-V z harmonogramem podstawowym, ale nie używają funkcji zabezpieczeń chronionych przez SPP, klienci nie powinni wyłączać funkcji HT.
-
W przypadku Windows 10 wersji 1511, Windows Server 2012 R2 i wcześniejszych systemów z funkcją Hyper-V klienci muszą rozważyć wyłączenie funkcji HT w celu ograniczenia ryzyka.
Kroki wymagane do wyłączenia funkcji HT różnią się od OEM do OEM. Są one jednak zwykle częścią systemu BIOS lub narzędzi do konfiguracji oprogramowania układowego i konfiguracji.
Firma Microsoft wprowadziła również możliwość wyłączenia Hyper-Threading technologii za pomocą ustawienia oprogramowania, jeśli wyłączenie HT w systemie BIOS lub narzędziach do konfiguracji oprogramowania układowego i konfiguracji jest trudne lub niemożliwe. Ustawienie oprogramowania służące do wyłączania funkcji HT jest pomocnicze w stosunku do systemu BIOS lub ustawienia oprogramowania układowego i jest domyślnie wyłączone (co oznacza, że funkcja HT będzie postępować zgodnie z ustawieniami systemu BIOS lub oprogramowania układowego). Aby dowiedzieć się więcej o tym ustawieniu i o tym, jak go wyłączyć, zobacz następujący artykuł:
4072698 Wskazówki dla systemu Windows Server dotyczące ochrony przed lukami specjatywnymi wykonywania w kanałach bocznych
Jeśli to możliwe, zaleca się wyłączenie funkcji HT w systemie BIOS lub oprogramowaniu układowym w celu zapewnienia, że funkcja HT jest wyłączona.
Uwaga: Wyłączenie funkcji hyperthreading zmniejszy rdzenie procesora. Może to mieć wpływ na funkcje wymagające działania minimalnych rdzeni procesora. Na przykład Windows Defender Application Guard (WDAG).
Łagodzenie D
Włączanie harmonogramu rdzenia funkcji Hyper-V i ustawianie liczby wątków sprzętu maszyny wirtualnej dla każdego rdzenia na 2
Uwaga: Te kroki łagodzenia mają zastosowanie tylko w przypadku wersji Windows Server 2016 i Windows 10 starszych niż wersja 1809. Harmonogram podstawowy jest domyślnie włączony w systemie Windows Server 2019 i Windows 10 wersji 1809.
Używanie harmonogramu podstawowego to proces dwuetapowy, który wymaga najpierw włączenia harmonogramu na hostze Hyper-V, a następnie skonfigurowania każdej maszyny wirtualnej w celu skorzystania z niej przez ustawienie ich liczby wątków sprzętowych na jeden rdzeń na dwie (2).
Podstawowy harmonogram funkcji Hyper-V, który został wprowadzony w Windows Server 2016 i Windows 10 wersji 1607, jest nową alternatywą dla klasycznej logiki harmonogramu. Podstawowy harmonogram oferuje zmniejszoną zmienność wydajności dla obciążeń wewnątrz maszyn wirtualnych działających na hostze Hyper-V z obsługą funkcji HT.
Aby uzyskać szczegółowe objaśnienie podstawowego harmonogramu funkcji Hyper-V i czynności, które należy włączyć, zobacz następujący artykuł Windows IT Pro Center:
Opis i używanie typów harmonogramu hypervisor funkcji Hyper-V
Aby włączyć harmonogram rdzenia funkcji Hyper-V w Windows Server 2016 lub Windows 10, wprowadź następujące polecenie:
bcdedit /set HypervisorSchedulerType core
Następnie zdecyduj, czy skonfigurować liczbę wątków sprzętowych danej maszyny wirtualnej na rdzeń do dwóch (2). Jeśli ujawnisz, że procesory wirtualne są hyper-threaded na maszynie wirtualnej gościa, można włączyć harmonogram w systemie operacyjnym maszyny wirtualnej, a także obciążeń maszyn wirtualnych, używać HT w ich planowania pracy. W tym celu wprowadź następujące polecenie programu PowerShell, w którym <> VMName to nazwa maszyny wirtualnej:
Set-VMProcessor -VMName <VMName> -HwThreadCountPerCore 2
Łagodzenie E
Włącz środki łagodzące dla porad CVE-2017-5715, CVE-2017-5754 i CVE-2019-11135
Uwaga: Te środki łagodzące są domyślnie włączone w systemach operacyjnych Windows Server 2019 i Klienckich systemach operacyjnych Windows.
Aby włączyć środki łagodzące dla porad CVE-2017-5715, CVE-2017-5754 i CVE-2019-11135, skorzystaj ze wskazówek w następujących artykułach:
Uwaga: Te środki łagodzące obejmują i automatycznie włączają środki zaradcze bezpiecznej ramki strony dla jądra systemu Windows, a także dla środków łagodzących opisanych w cve-2018-3620. Aby uzyskać szczegółowe objaśnienie bezpiecznego ograniczenia liczby bitów ramek strony, zobacz następujący artykuł w blogu poświęconym badaniom nad zabezpieczeniami & Defense:
Informacje pomocnicze
Produkty innych firm omówione w tym artykule są produkowane przez wytwórców niezależnych od Microsoft. Nie udzielamy żadnych gwarancji, dorozumianych ani innych, co do wydajności i niezawodności tych produktów.
Udostępniamy informacje kontaktowe innych firm, aby pomóc w znalezieniu pomocy technicznej. Niniejsze informacje kontaktowe mogą ulec zmianie bez powiadomienia. Nie gwarantujemy dokładności tych informacji kontaktowych innych firm.