Procesory komputerowe mają ogromną wadę konstrukcyjną i wszyscy starają się to naprawić. Można załatać tylko jedną z dwóch luk w zabezpieczeniach, a poprawki spowodują, że komputery PC (i Mac) z układami Intela będą wolniejsze.
Aktualizacja : We wcześniejszej wersji tego artykułu stwierdzono, że ta wada jest specyficzna dla chipów Intela, ale to nie wszystko. W rzeczywistości są dwa tutaj główne luki, teraz nazwane „Meltdown” i „Spectre”. Meltdown jest w dużej mierze charakterystyczny dla procesorów Intela i dotyczy wszystkich modeli procesorów z ostatnich kilku dekad. Dodaliśmy więcej informacji o tych dwóch błędach i różnicach między nimi w poniższym artykule.
Czym są Meltdown i Spectre?
Spectre to „fundamentalna wada projektowa”, która występuje w każdym procesorze dostępnym na rynku - łącznie z procesorami AMD i ARM, a także Intel. Obecnie nie ma poprawki oprogramowania i prawdopodobnie będzie wymagało całkowitego przeprojektowania sprzętu dla wszystkich procesorów - choć na szczęście jest to dość trudne do wykorzystania, zdaniem badaczy bezpieczeństwa. Możliwe jest zabezpieczenie przed określonymi atakami Spectre, nad którymi pracują programiści, ale najlepszym rozwiązaniem będzie przeprojektowanie sprzętu procesora dla wszystkich przyszłych układów.
Meltdown w zasadzie pogarsza Spectre, ułatwiając wykorzystanie podstawowego błędu. Zasadniczo jest to dodatkowa wada, która dotyczy wszystkich procesorów Intel wyprodukowanych w ciągu ostatnich kilku dekad. Wpływa również na niektóre zaawansowane procesory ARM Cortex-A, ale nie wpływa na układy AMD. Meltdown jest obecnie aktualizowany w systemach operacyjnych.
Ale jak działają te wady?
ZWIĄZANE Z: Co to jest jądro Linuksa i do czego służy?
Programy działające na komputerze działają z różnymi poziomami uprawnień bezpieczeństwa. Plik jądro systemu operacyjnego - na przykład jądro systemu Windows lub jądro Linuksa - ma najwyższy poziom uprawnień, ponieważ uruchamia przedstawienie. Programy komputerowe mają mniej uprawnień, a jądro ogranicza ich możliwości. Jądro wykorzystuje funkcje sprzętowe procesora, aby pomóc w egzekwowaniu niektórych z tych ograniczeń, ponieważ robi to szybciej ze sprzętem niż oprogramowaniem.
Problem polega tutaj na „spekulatywnej realizacji”. Ze względu na wydajność nowoczesne procesory automatycznie wykonują instrukcje, które według nich mogą być potrzebne do wykonania, a jeśli tego nie robią, mogą po prostu przewinąć system i przywrócić jego poprzedni stan. Jednak luka w Intelu i niektórych procesorach ARM pozwala procesom na uruchamianie operacji, których normalnie nie byłyby w stanie wykonać, ponieważ operacja jest wykonywana, zanim procesor zajmie się sprawdzeniem, czy powinien mieć uprawnienia do jej uruchomienia, czy nie. To jest błąd Meltdown.
Podstawowy problem z Meltdown i Spectre leży w pamięci podręcznej procesora. Aplikacja może próbować odczytać pamięć i, jeśli odczyta coś z pamięci podręcznej, operacja zakończy się szybciej. Jeśli spróbuje odczytać coś, czego nie ma w pamięci podręcznej, zakończy się wolniej. Aplikacja może zobaczyć, czy coś kończy się szybko, czy wolno, i chociaż wszystko inne podczas wykonywania spekulacyjnego jest czyszczone i kasowane, czasu potrzebnego na wykonanie operacji nie można ukryć. Następnie może wykorzystać te informacje do zbudowania mapy wszystkiego w pamięci komputera, pojedynczo. Buforowanie przyspiesza działanie, ale te ataki wykorzystują tę optymalizację i zamieniają ją w lukę w zabezpieczeniach.
ZWIĄZANE Z: Czym w ogóle jest Microsoft Azure?
Zatem w najgorszym przypadku kod JavaScript działający w przeglądarce internetowej mógłby skutecznie odczytać pamięć, do której nie powinien mieć dostępu, na przykład prywatne informacje przechowywane w innych aplikacjach. Dostawcy chmury, tacy jak Microsoft Azure lub Amazon Web Services , którzy udostępniają oprogramowanie różnych firm na różnych maszynach wirtualnych na tym samym sprzęcie, są szczególnie narażeni. Oprogramowanie jednej osoby mogłoby teoretycznie szpiegować rzeczy na maszynie wirtualnej innej firmy. To załamanie podziału między aplikacjami. Łatki dla Meltdown oznaczają, że ten atak nie będzie tak łatwy do wykonania. Niestety wprowadzenie tych dodatkowych kontroli oznacza, że niektóre operacje będą wolniejsze na sprzęcie, którego dotyczy problem.
Programiści pracują nad poprawkami oprogramowania, które utrudniają ataki Spectre. Na przykład nowy Chrome w Google Funkcja izolacji witryny pomaga się przed tym chronić, a Mozilla już je stworzyła szybkie zmiany w Firefoksie . Firma Microsoft wprowadziła również pewne zmiany, aby pomóc chronić Edge i Internet Explorer w dostępnej już usłudze Windows Update.
Jeśli interesują Cię szczegółowe informacje o niskim poziomie dotyczące zarówno Meltdown, jak i Spectre, przeczytaj wyjaśnienie techniczne z Projekt Zero firmy Google zespół, który odkrył błędy w zeszłym roku. Więcej informacji jest również dostępnych na MeltdownAttack.com stronie internetowej.
O ile wolniejszy będzie mój komputer?
Aktualizacja : 9 stycznia Microsoft wydał kilka plików informacje o wydajności poprawki . Według firmy Microsoft Windows 10 na komputerach z ery 2016 z procesorami Skylake, Kabylake lub nowszymi Intelami wykazuje „jednocyfrowe spowolnienia”, których większość użytkowników nie powinna zauważyć. Windows 10 na komputerach z ery 2015 z Haswell lub starszym procesorem może zobaczyć większe spowolnienia, a Microsoft „oczekuje, że niektórzy użytkownicy zauważą spadek wydajności systemu”.
Użytkownicy Windows 7 i 8 nie mają tyle szczęścia. Microsoft twierdzi, że „oczekuje, że większość użytkowników zauważy spadek wydajności systemu” podczas korzystania z systemu Windows 7 lub 8 na komputerze z 2015 roku z Haswell lub starszym procesorem. Windows 7 i 8 nie tylko używają starszych procesorów, które nie mogą uruchamiać łatki tak wydajnie, ale „Windows 7 i Windows 8 mają więcej przejść użytkownika z jądrem ze względu na starsze decyzje projektowe, takie jak renderowanie wszystkich czcionek w jądrze” , a to również spowalnia działanie.
Firma Microsoft planuje przeprowadzić własne testy porównawcze i opublikować więcej szczegółów w przyszłości, ale nie wiemy jeszcze dokładnie, w jakim stopniu poprawka Meltdown wpłynie na codzienne użytkowanie komputera. Dave Hansen, programista jądra Linuksa pracujący w firmie Intel, pierwotnie napisał, że zmiany dokonane w jądrze Linuksa będą miały wpływ na wszystko. Według niego, większość obciążeń odnotowuje jednocyfrowe spowolnienie z około 5% spowolnienie bycie typowym. Jednak najgorszym scenariuszem było spowolnienie testu sieci o 30%, więc różni się on w zależności od zadania. Są to jednak liczby dla systemu Linux, więc niekoniecznie dotyczą systemu Windows. Poprawka spowalnia wywołania systemowe, więc zadania z wieloma wywołaniami systemowymi, takie jak kompilowanie oprogramowania i uruchamianie maszyn wirtualnych, prawdopodobnie spowolnią najbardziej. Jednak każdy program wykorzystuje wywołania systemowe.
Aktualizacja : Od 5 stycznia TechSpot i Guru3D przeprowadzili testy porównawcze dla systemu Windows. Obie strony stwierdziły, że użytkownicy komputerów stacjonarnych nie mają się czym martwić. W niektórych grach na PC obserwowane jest niewielkie spowolnienie o 2%, co mieści się w granicach błędu, podczas gdy inne działają identycznie. Renderowanie 3D, oprogramowanie biurowe, narzędzia do kompresji plików i narzędzia szyfrujące wydają się nienaruszone. Jednak testy porównawcze odczytu i zapisu plików pokazują zauważalne różnice. Szybkość szybkiego odczytu dużej liczby małych plików spadła o około 23% w testach porównawczych Techspot, a Guru3D znalazł coś podobnego. Z drugiej strony, Tom’s Hardware stwierdzili tylko 3,21% średni spadek wydajności w teście pamięci masowej aplikacji konsumenckich i argumentowali, że „syntetyczne testy porównawcze” pokazujące bardziej znaczące spadki szybkości nie odzwierciedlają rzeczywistego wykorzystania.
Komputery z procesorem Intel Haswell lub nowszym mają funkcję PCID (identyfikatory kontekstu procesu), która pomaga poprawce działać dobrze. Komputery ze starszymi procesorami Intel mogą zauważyć większy spadek szybkości. Powyższe testy porównawcze zostały przeprowadzone na nowoczesnych procesorach Intel z PCID, więc nie jest jasne, jak będą działać starsze procesory Intel.
Intel twierdzi, że spowolnienie „nie powinno być znaczące” dla przeciętnego użytkownika komputera i na razie wygląda to na prawdę, ale w przypadku niektórych operacji występuje spowolnienie. W chmurze Google , Amazonka , i Microsoft wszyscy zasadniczo mówili to samo: w przypadku większości obciążeń po wprowadzeniu poprawek nie zaobserwowano znaczącego wpływu na wydajność. Microsoft powiedział, że „mała grupa klientów [Microsoft Azure] może mieć pewien wpływ na wydajność sieci”. Te stwierdzenia pozostawiają miejsce na znaczące spowolnienia w przypadku niektórych obciążeń. Epic Games obwinił łatkę Meltdown o spowodowanie problemów z serwerem w grze Fortnite i opublikował wykres pokazujący ogromny wzrost wykorzystania procesora na serwerach w chmurze po zainstalowaniu poprawki.
Ale jedno jest jasne: Twój komputer zdecydowanie nie będzie działał szybciej dzięki tej poprawce. Jeśli masz procesor Intel, może działać wolniej - nawet jeśli jest niewielki.
Co muszę zrobić?
ZWIĄZANE Z: Jak sprawdzić, czy Twój komputer lub telefon jest chroniony przed topnieniem i widmem
Niektóre aktualizacje rozwiązujące problem Meltdown są już dostępne. Microsoft wydał aktualizacja awaryjna do obsługiwanych wersji systemu Windows za pośrednictwem usługi Windows Update 3 stycznia 2018 r., ale nie dotarła jeszcze na wszystkie komputery PC. Nazywa się Windows Update, który rozwiązuje Meltdown i dodaje pewne zabezpieczenia przed Spectre CP 4056892 .
Apple już połatany problem z systemem macOS 10.13.2 wydanym 6 grudnia 2017 r. Chromebooki z systemem operacyjnym Chrome OS 63, który ukazał się w połowie grudnia, są już chronione. Dostępne są również łatki dla jądra Linuksa.
Dodatkowo, sprawdź, czy Twój komputer ma dostępne aktualizacje BIOS / UEFI . Podczas gdy aktualizacja systemu Windows rozwiązała problem Meltdown, do pełnego włączenia ochrony przed jednym z ataków Spectre potrzebne są aktualizacje mikrokodu procesora firmy Intel dostarczane za pośrednictwem aktualizacji UEFI lub BIOS. Powinieneś także zaktualizować swoją przeglądarkę internetową - jak zwykle - ponieważ przeglądarki dodają również pewne zabezpieczenia przed Spectre.
Aktualizacja : 22 stycznia Intel ogłosił że użytkownicy powinni przestać wdrażać początkowe aktualizacje oprogramowania układowego UEFI z powodu „wyższych niż oczekiwano ponownych uruchomień i innego nieprzewidywalnego zachowania systemu”. Intel powiedział, że należy poczekać na ostateczną poprawkę oprogramowania układowego UEFI, która została odpowiednio przetestowana i nie spowoduje problemów z systemem. Od 20 lutego firma Intel wydany stabilne aktualizacje mikrokodu dla Skylake, Kaby Lake i Coffee Lake - to platformy Intel Core szóstej, siódmej i ósmej generacji. Producenci komputerów powinni wkrótce rozpocząć wprowadzanie nowych aktualizacji oprogramowania układowego UEFI.
Chociaż uderzenie w wydajność brzmi źle, zdecydowanie zalecamy zainstalowanie tych poprawek. Programiści systemów operacyjnych nie dokonywaliby tak ogromnych zmian, chyba że byłby to bardzo zły błąd o poważnych konsekwencjach.
Wspomniana poprawka oprogramowania naprawi lukę Meltdown, a niektóre poprawki oprogramowania mogą pomóc złagodzić lukę Spectre. Ale Spectre prawdopodobnie będzie nadal wpływać na wszystkie nowoczesne procesory - przynajmniej w jakiejś formie - do czasu wydania nowego sprzętu, który go naprawi. Nie jest jasne, jak poradzą sobie z tym producenci, ale w międzyczasie wszystko, co możesz zrobić, to kontynuować korzystanie z komputera - i pocieszyć się faktem, że Spectre jest trudniejsze do wykorzystania i nieco bardziej martwi się o przetwarzanie w chmurze niż użytkownicy końcowi z komputery stacjonarne.