Szczegóły błędów, o których mówi cały świat bezpieczeństwa, zostały ujawnione wcześniej, niż się spodziewaliśmy. Ataki nazwane Meltdown oraz Spectre są faktycznie niebezpieczne i dotyczą wielu rodzin procesorów.
Jann Horn, badacz z dostarczającego niekończący się ciąg błędów zespołu Project Zero, opublikował szczegóły techniczne odkrytych przez siebie błędów w procesorach Intela, AMD i ARM. Informacje miały zostać ujawnione dopiero 9 stycznia, ale ze względu na spekulacje i przecieki pojawiły się już teraz. Poniżej spróbujemy w skrócie przedstawić najważniejsze punkty.
Wyciek informacji z pamięci podręcznej
Na początek kilka słów o tym, jak działają procesory – w ogromnym uproszczeniu. Jednym z podstawowych założeń działania procesorów jest izolacja. System operacyjny zna informacje, których potrzebuje do działania, ale nie powinien ich ujawniać każdej aplikacji. Przykładem niech będzie hasło, którym zaszyfrowany jest dysk twardy. System musi je znać, by zapisywać i odczytywać dane, ale nie musi go znać edytor tekstu, który prosi system o zapisywanie i odczytywanie plików. Na izolacji dostępu pomiędzy procesami oparte jest bezpieczeństwo wielu kluczowych informacji.
Twórcy procesorów zawsze starają się przyspieszyć ich działanie. Jednym z pomysłów jest wróżenie, jakie będą kolejne instrukcje. Procesor wykonuje instrukcje krok po kroku, ale aby działać szybciej, zgaduje, co będzie kolejnym krokiem i „wyprzedza” wykonanie procesu. Jeśli się pomylił – cofa się do punktu, gdzie popełnił błąd, a przetworzone dane zapomina.
Tu pojawiają się dwa problemy. Pierwszy jest taki, że operacje wykonane „z wyprzedzeniem” nie sprawdzają, czy użytkownik miał prawo je wykonać i poznać ich efekt. Ta kontrola następuje dopiero później, jeśli do wykonania instrukcji miało faktycznie dojść. Może się zatem zdarzyć, że odpowiednio zmanipulowany procesor sięgnie do informacji, do których użytkownik nie powinien mieć dostępu. Po ułamku sekundy je porzuca, jednak tu pojawia się drugi problem. Badacz, który odkrył atak, znalazł trzy różne sposoby na wydobycie tych porzuconych informacji z pamięci podręcznej procesora. Stosując bardzo sprytne metody zgadywania jej zawartości był w stanie wykraść z pamięci podręcznej porzucone dane, tym samym uzyskując dostęp do informacji, które nie były dla niego przeznaczone.
Skutki ataku
Badacze, stojący za odkryciami, opisali dwie kategorie ataków: Meltdown i Spectre.
Meltdown umożliwia nieuprzywilejowanemu procesowi odczytywanie zawartości całej pamięci systemowej. Na atak podatne są wszystkie procesory Intela wyprodukowane od roku 1995, oprócz Itanium i Intel Atom sprzed roku 2013 (zatem problem dotyczy zarówno komputerów osobistych jak i serwerów). Nie potwierdzono podatności procesorów AMD i ARM. Dostępne są lub lada moment będą aktualizacje usuwające problem.
Spectre umożliwia złośliwemu procesowi odczytywanie pamięci innych procesów. Podatne są procesory Intela, AMD i ARM, zatem nie tylko komputery osobiste, ale także serwery i smartfony. Trwają prace nad stworzeniem aktualizacji usuwających wykryte problemy. Atak Spectre jest trudniejszy do przeprowadzenia niż atak Meltdown.
Na skutek opisywanych ataków zaburzeniu ulega cały model bezpieczeństwa danych, zarówno w środowiskach lokalnych jak i chmurowych. To naprawdę poważne problemy, chociaż na szczęście ich wykorzystanie jest dalekie od trywialnego. To, co możecie zrobić już dzisiaj, to przynajmniej skonfigurować Google Chrome, by działanie każdej strony izolowała w osobnym fragmencie pamięci. Aktualizacje Windowsa, Androida czy OS X powinny już być lub wkrótce pojawić się na Waszych systemach (o ile używacie wspieranych wersji). Polecamy także kilka wskazówek dla deweloperów, jak uchronić swoje strony przed atakami.
Więcej szczegółów znajdziecie w publikacjach poświęconych Spectre i Meltdown.
Aktualizacja 2018-01-04, 9:00
Wyniki testów wydajności w prawdziwym środowisku. Niebieski – przed łatką, czerwony – po łatce.
Komentarze
Łał. A wiadomo już coś o spadkach wydajności, które mają podobno powstać po łatkach?
Masz parę testów dostępnych na stronach phoronix.com.
https://www.phoronix.com/scan.php?page=article&item=linux-415-x86pti&num=1
https://www.phoronix.com/scan.php?page=article&item=linux-more-x86pti&num=1
https://www.phoronix.com/scan.php?page=article&item=linux-kpti-kvm&num=1
https://blog.mozilla.org/security/2018/01/03/mitigations-landing-new-class-timing-attack/
Zaktualizuj swojego Firefoxa :)
Tak, ale to tylko „spłyca” atak :(
Co z procesorami VIA? Nie badano ich jak widzę.
Mam nettopa z energooszczędnym procesorem VIA klasy x86 na którym stoi IDS.
.
Luka wygląda paskudnie, ale za parę dni będą patche, więc nie ma co wariować z rozpaczy. Będzie dobrze. Do następnej znalezionej podatności xD
.
W świecie Cyber Security jeszcze długo (albo nigdy) nie będzie bezpiecznie bo starych i nowych podatności jest cała masa. Bezpiecznik musi się z tym pogodzić i łatwiej będzie mu żyć xD
Jak to co? NIC!
Procesory VIA nie istnieją na rynku – Po Via C7(?) Intel odmówił przedłużenia licencji.
Wiekssosc i tak czeka na weryfikacje ile % wydajnosci zjedza aktualizacje. Wiele srodowisk moze miec problemy…
czy to nie jest przypadkiem afera na miare VW? Teraz sie okaze ze AMD ma wydajniejsze procki od Intela..
Od momentu wyjścia Ryzena opłacalność zakupu Intela spadła niemal do zera
Tak bo pewnie ty kupiłeś sobie ryzen, dlatego opłacalność posiadania Intela spadła. Typowy Janusz. Umiesz czytać? Amd też to dotyczy. Wurwiają mnie takie matoły jak ty
Ez – przyznaj się, jesteś gimbem, któremu mama kupiła kompa, zobaczyłeś czerwony znaczek na obudowie i teraz fapiesz w necie do Ryzenów. Innego wytłumaczenia na tak bezsensowny post nie widzę.
Dzieci uważajcie bo wam żyłka pierdolnie :)
Tyle, że chłopie ma akurat z Ryzenami rację. Team Google testował swoje PoC na starszych wersjach, do tego Spectre udało się wyeksploitować na Linuxie tylko na niestandardowej konfiguracji.
Naukowiec z Uniwersytetu Graz, od którego badań wszystko się zaczęło w swojej pracy pisał o empirycznym potwierdzeniu działania obydwu ataków na prockach Intela, a także że co do zasady powinno dać się przeprowdzić atak Spectre na AMD, nawet na Ryzenach.
Potem jednak dodaje:
„AMD states that its Ryzen processors have “an
artificial intelligence neural network that learns to predict
what future pathway an application will take based
on past runs” [3, 5], implying even more complex speculative
behavior. As a result, while the stop-gap countermeasures
described in the previous section may help
limit practical exploits in the short term, there is currently
no way to know whether a particular code construction
is, or is not, safe across today’s processors – much less
future designs.”
Procesor przepuszcza prad lub nie on nie dziala z wyprzedzeniem. To oprogramowanie dziala wiec to nie luka procesora tylko zjeny soft od ksiegowego
https://pl.m.wikipedia.org/wiki/Wykonywanie_spekulatywne
No to IBM I Oracle mają drugą gwiazdkę ?. Są ostatnimi dostawcami poważnych serwerów nie x86.
Nie bardzo. Power 8 i Power 9 podatne, Z-architecture też.
https://access.redhat.com/security/vulnerabilities/speculativeexecution?sc_cid=701f2000000tsLNAAY&
To samo ARM. I oczywiście AMD. I tak naprawdę każdy, kto robi speculative execution.
Na tą chwilę brak info o podatności SPARCów i Solarisa…
SPARC od zawsze, zarówno na Linux jak i Solaris miał osobną przestrzeń adresową dla kernela i osobną dla userspace – więc czytanie pamięci kernela z userspace nie zadziała (Meltdown).
Spectre na SPARC to jedna wielka niewiadoma. PoC nie działa (na Solarisie) ale to prawdopodobnie wina PoC nie braku podatności.
Taaa, istnienie takiej podatności 23 lata? Nie no serio?
Nikt oczywiście nie zauważył?
Czy było jak zwykle:
– mamy nowy procesor
– ale jeszcze nie przetestowany…
– na co nie przetestowany?? przecież działa!
– ale bezpieczeństwo danych…
– no weź, bezpieczeństwo? jak chcesz być bezpieczny to nie włączaj kompa:), sprzedawać to i to już! szybko!
– ale bezpieczeństwo danych…
– no weź, bezpieczeństwo? byli już panowie z NSA i powiedzieli, że nie ma się czym martwić, bo oni dbają o nasze bezpieczeństwo:), sprzedawać to i to już! szybko!
poprawiłem
I co w związku z tym? Dla przypomnienia, to na windowsa XP każdy jego użytkownik ma 3000 udanych ataków dziennie i 3001 razy dziennie stawia XP od nowa.
http://iv.pl/images/24129458672344468536.png
Antywirusy, IPS-y albo FireEye nas nie ochronią przed tą luką ?
To może chociaż jakiegoś pacza wylutujecie albo napiszecie w pythonie ?
Od zawsze wiedziałem, że internet powstał dla tego właśnie błędu !
Nie jest jednak tak źle, nadal możemy przeczytać porady co robić, jak żyć.
Najbardziej negatywny skutek tej kampanii czarnego PR-u jest taki że na portalu lotniska w Radzionkowie XSS jak byk, a tu cisza .
http://iv.pl/images/24129458672344468536.png
Może kogoś zainteresuje.
Szkoda, że nie widać co.
Niektóre procesory ARM też są podatne. Tu lista i oświadczenie ARM:
https://developer.arm.com/support/security-update
AMD częściowo podatne:
http://www.amd.com/en/corporate/speculative-execution
W temacie AMD + Meltdown (czyli ta gorsza podatność) informacje są takie 50/50: https://meltdownattack.com/meltdown.pdf
Sekcja 6.4:
„However, we did not manage
to successfully leak kernel memory with the attack described
in Section 5, neither on ARM nor on AMD (…)
However, for both ARM and AMD, the toy
example as described in Section 3 works reliably, indicating
that out-of-order execution generally occurs and
instructions past illegal memory accesses are also performed.”
I wniosek jest trochę taki, że może jak jakieś tęgie głowy nad tym siądą, co coś więcej bazując na naszym researchu wymyślą. A może nie ;-)
To jak z tym AMD? Podstne czy nie ?
AMD podatne tylko na 1 wariant ataku Spectre, ale tylko na systemach Linux/Unix przy niestandardowej konfiguracji kernela.
Czyli generalnie, póki nie bawisz się konfiguracją kernel AMD w pełni bezpieczne, póki co.
Łata kosztem spadku prędkość? Mam to w d…. w takim razie złodziejski intel niech oddaje mi pieniądze za procesor i płytę główną z socket-em dla ich procesora, bo nic innego niż intel tam nie włożę!!!! Na żaden spadek prędkości się nie godzę, a jeśli już to na dostać zwrot pieniędzy za procesor i płytę!!!!!!!!!
Widziały gały co brały…
Microsoft opublikował Windows Server Guidance to protect against the speculative execution side-channel vulnerabilities dla serwerów (https://support.microsoft.com/en-us/help/4072698/windows-server-guidance-to-protect-against-the-speculative-execution) oraz Security advisory
https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV180002
Nikt sie nie zastanawia nad tym czy wszystkie systemy operacyjne dostana aktualizacje bezpieczenstwa i czy wszystkie rozne maszyny(nie tylko PC-ty) beda zabezpieczone przed atakiem hakerskim. Pamietajmy o maszynach przemyslowych rowniez majacych procesory.
Speculative Execution Exploit Performance Impacts – Describing the performance impacts to security patches for CVE-2017-5754, CVE-2017-5753, and CVE-2017-5715 http://red.ht/2CBchpY #meltdown #spectre #redhat #infosec #cybersecurity
The Customer Portal will be back soon.
Podatna jest też nVidia – wszystkie procesory: http://nvidia.custhelp.com/app/answers/detail/a_id/4611/~/security-bulletin%3A-nvidia-gpu-display-driver-security-updates-for-speculative
Rzygać mi się chce jak czytam FAQ Intela na temat tej projektowej wtopy. Z projektowej wtopy robi się też wizerunkowa wtopa. Wystarczy poczytać to: https://www.intel.com/content/www/us/en/architecture-and-technology/facts-about-side-channel-analysis-and-intel-products.html
Nie, to nie błąd naszych projektantów czy usterka sprzętowa.
I nie tylko nasze procesory mają ten problem. Inni też dali ciała.
Chociaż dziwi mnie, że nikt, ŻADEN z inżynierów tych wszystkich firm projektujących procesory (Intel wypadł najgorzej, ale inne projekty też mają luki, większe lub mniejsze) nie dostrzegł problemu. Nie mogę tego ogarnąć jak to możliwe.
Wytłumaczę innym co to jest Meltdown i Spectre, bo w artykule to właściwie nie wiadomo co jest co. Przydałaby się aktualizacja.
Meltdown dotyczy głównie Intelowskiej implementacji rozwiązania i tej obecnej w niektórych układach ARM. Ogólnie na Meltdown podatne są tylko procesory z konkretną implementacją „Speculative Execution…”.
Większym problemem jest Spectre, bo odnosi się do „Speculative Execution…” w ogóle. Wygląda na to, że sama technika przewidywania poleceń niesie ze sobą zagrożenie bezpieczeństwa. Do tego nie bardzo wiadomo w tej chwili jak temu przeciwdziałać i jak poważne jest zagrożenie.
Ciekawostką jest architektura V-RISC, która ostatnio zdobywa coraz więcej rozgłosu. Przy jej tworzeniu w ogóle pominięto przewidywanie poleceń.
No to jest już oficjalna łatka dla Win 8.1. Z tego co można przetestować tymi skryptami powershell to działa. Teraz jeszcze producent mojej płyty głównej powinien wypuścić nowy BIOS, ale tego się nie spodziewam (płyta sprzed 4 lat). No cóż, więcej zrobić nie mogę.