Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
morfik napisał(-a):
A i jeszcze taka sprawa. Była aktualizacja:
Kod:
intel-microcode 3.20171215.1Ma to znaczenie?
Wcześniej o tym pisałem (#36):
intel-microcode (3.20171215.1) unstable; urgency=high
* Add supplementary-ucode-CVE-2017-5715.d/: (closes: #886367)
New upstream microcodes to partially address CVE-2017-5715
+ Updated Microcodes:
sig 0x000306c3, pf_mask 0x32, 2017-11-20, rev 0x0023, size 23552
sig 0x000306d4, pf_mask 0xc0, 2017-11-17, rev 0x0028, size 18432
sig 0x000306f2, pf_mask 0x6f, 2017-11-17, rev 0x003b, size 33792
sig 0x00040651, pf_mask 0x72, 2017-11-20, rev 0x0021, size 22528
sig 0x000406e3, pf_mask 0xc0, 2017-11-16, rev 0x00c2, size 99328
sig 0x000406f1, pf_mask 0xef, 2017-11-18, rev 0xb000025, size 27648
sig 0x00050654, pf_mask 0xb7, 2017-11-21, rev 0x200003a, size 27648
sig 0x000506c9, pf_mask 0x03, 2017-11-22, rev 0x002e, size 16384
sig 0x000806e9, pf_mask 0xc0, 2017-12-03, rev 0x007c, size 98304
sig 0x000906e9, pf_mask 0x2a, 2017-12-03, rev 0x007c, size 98304
* Implements IBRS and IBPB support via new MSR (Spectre variant 2
mitigation, indirect branches). Support is exposed through cpuid(7).EDX.
* LFENCE terminates all previous instructions (Spectre variant 2
mitigation, conditional branches).
— Henrique de Moraes Holschuh <hmh@debian.org> Thu, 04 Jan 2018 23:04:38 -0200
http://metadata.ftp-master.debian.org/changelogs/no … 5.1_changelog
Offline
Chyba najciekawszy skrypt na podatność Meltdown/Spectre, przejrzyste informacje:
wget https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh su sh ./spectre-meltdown-checker.sh
Offline
U mnie tak zwraca
root@R61i:/home/ciastek# sh ./spectre-meltdown-checker.sh Spectre and Meltdown mitigation detection tool v0.16 Checking vulnerabilities against Linux 4.14.0-12.1-liquorix-amd64 #1 ZEN SMP PREEMPT liquorix 4.14-15~obs (2018-01-06) x86_64 CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1' * Kernel compiled with LFENCE opcode inserted at the proper places: UNKNOWN (couldn't extract your kernel from /boot/vmlinuz-4.14.0-12.1-liquorix-amd64: missing 'lzop -d' tool, please install it, usually it's in the 'lzop' package) > STATUS: UNKNOWN CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2' * Mitigation 1 * Hardware (CPU microcode) support for mitigation: NO * Kernel support for IBRS: NO * IBRS enabled for Kernel space: NO * IBRS enabled for User space: NO * Mitigation 2 * Kernel compiled with retpoline option: NO * Kernel compiled with a retpoline-aware compiler: UNKNOWN (couldn't find your kernel image) > STATUS: VULNERABLE (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability) CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3' * Kernel supports Page Table Isolation (PTI): YES * PTI enabled and active: YES > STATUS: NOT VULNERABLE (PTI mitigates the vulnerability)
Offline
U mnie ten drugi tester spectre również nie wykazuje podatności:
./spectre CACHE_HIT_THRESHOLD = 400 MAX_TRIES = 2500 Size of secret is 41 Size of recovered_secret is 41 Original secret: 'The Magic Words are Squeamish Ossifrage.' Recovered secret: '' Reading 40 bytes: Reading at malicious_x = 0xa0... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xa1... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xa2... Unclear: 0xFE=’?’ score=2500 (’?|?’ second: 0xFD=’?’ score=2500) Reading at malicious_x = 0xa3... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xa4... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xa5... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xa6... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xa7... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xa8... Unclear: 0xFE=’?’ score=2500 (’?|?’ second: 0xFD=’?’ score=2500) Reading at malicious_x = 0xa9... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xaa... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xab... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xac... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xad... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFD=’?’ score=2500) Reading at malicious_x = 0xae... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xaf... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xb0... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xb1... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xb2... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xb3... Unclear: 0xFE=’?’ score=2500 (’?|?’ second: 0xFD=’?’ score=2500) Reading at malicious_x = 0xb4... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFD=’?’ score=2500) Reading at malicious_x = 0xb5... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xb6... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xb7... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xb8... Unclear: 0xFE=’?’ score=2500 (’?|?’ second: 0xFD=’?’ score=2500) Reading at malicious_x = 0xb9... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xba... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xbb... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xbc... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFD=’?’ score=2500) Reading at malicious_x = 0xbd... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFD=’?’ score=2500) Reading at malicious_x = 0xbe... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xbf... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xc0... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xc1... Unclear: 0xFE=’?’ score=2500 (’?|?’ second: 0xFD=’?’ score=2500) Reading at malicious_x = 0xc2... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xc3... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xc4... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xc5... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFD=’?’ score=2500) Reading at malicious_x = 0xc6... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) Reading at malicious_x = 0xc7... Unclear: 0xFF=’?’ score=2500 (’?|?’ second: 0xFE=’?’ score=2500) counter thread finished Original secret: 'The Magic Words are Squeamish Ossifrage.' Recovered secret: '????????????????????????????????????????'
Zaś jeśli chodzi o skrypt to już zgłasza podatność:
# sh spectre-meltdown-checker.sh Spectre and Meltdown mitigation detection tool v0.16 Checking vulnerabilities against Linux 4.14.0-12.1-liquorix-amd64 #1 ZEN SMP PREEMPT liquorix 4.14-15 (2018-01-06) x86_64 CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1' * Kernel compiled with LFENCE opcode inserted at the proper places: UNKNOWN (couldn't extract your kernel from /boot/vmlinuz-4.14.0-12.1-liquorix-amd64: missing 'lzop -d' tool, please install it, usually it's in the 'lzop' package) > STATUS: UNKNOWN CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2' * Mitigation 1 * Hardware (CPU microcode) support for mitigation: NO * Kernel support for IBRS: NO * IBRS enabled for Kernel space: NO * IBRS enabled for User space: NO * Mitigation 2 * Kernel compiled with retpoline option: NO * Kernel compiled with a retpoline-aware compiler: UNKNOWN (couldn't find your kernel image) > STATUS: VULNERABLE (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability) CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3' * Kernel supports Page Table Isolation (PTI): YES * PTI enabled and active: YES > STATUS: NOT VULNERABLE (PTI mitigates the vulnerability)
Ostatnio edytowany przez arecki (2018-01-08 21:07:45)
Offline
Po co wam te skrypty (widać nawet, że do końca nie potraficie ich użyć), skoro oczywistym jest, iż łatka PTI (Meltdown) trafiła już wcześniej do jądra i ta podatność została załatana.
Nad łatką Spectre trwają prace i jeszcze długo potrwają (pierwsze poprawki jądra trafią do 4.15 lub 4.16) i raczej wątpliwe by od razu całkowicie wyeliminowały problem.
Jak na razie są tylko drobne poprawki do firmware Intela (nieoficjalne) i kilka dodatkowych opcji dla przeglądarek (Firefox & Chromium).
Offline
Trochę inna skala ale jednak AMD również zalicza wpadkę https://www.dobreprogramy.pl/Blad-w-procesorze-bezp … ws,85272.html
Offline
ciastek1981 napisał(-a):
Trochę inna skala ale jednak AMD również zalicza wpadkę https://www.dobreprogramy.pl/Blad-w-procesorze-bezp … ws,85272.html
Rzeczywiście „Trochę inna skala”:
…wymaga bowiem lokalnego dostępu do maszyny. […] napastnik na jakimś etapie będzie miał dostęp do maszyny. Jeśli jest w stanie przeprogramować PSP, zainstalować na nim swój własny rootkit…
Takie dowcipy to w innym wątku :D
A już się wydawało, że wyczerpałeś limit głupot w tym wątku…
Offline
yossarian napisał(-a):
Po co wam te skrypty (widać nawet, że do końca nie potraficie ich użyć), skoro oczywistym jest, iż łatka PTI (Meltdown) trafiła już wcześniej do jądra i ta podatność została załatana.
Nad łatką Spectre trwają prace i jeszcze długo potrwają (pierwsze poprawki jądra trafią do 4.15 lub 4.16) i raczej wątpliwe by od razu całkowicie wyeliminowały problem.
Ja tymi skryptami się bawię dla sprawdzenia, czy mój procesor jest podatny na Spectre, ponieważ nie ma w jego przypadku informacji na temat podatności.
Trochę tych przykładowych testerów na gicie jest, więc będzie co porównywać.
A, że do końca nie potrafimy używać, no cóż wynika to z tego, że są to pierwsze próby i temat jeszcze nie do końca rozeznany.
Na razie wymieniamy się wynikami dla porównania co komu wychodzi.
Jeśli potrafisz ich używać to nas oświeć.
Offline
@yossarian
Jak cytujesz to do końca
...wymaga bowiem lokalnego dostępu do maszyny. Z drugiej jednak strony widać tu nadmierny optymizm i brak zrozumienia zagrożeń ze strony szpiegostwa przemysłowego.
W tej chwili każdy producent zalicza wpadki, na różnych płaszczyznach związane z bezpieczeństwem, wydajnością czy stabilnością pracy (np. znane problemy z Ryzenami przy renderowaniu w 3ds Max czy Blenderze).
Każdy producent to łata, a potem cudowne parametry zostają na slajdach producentów.
EOT
Offline
ciastek1981 napisał(-a):
@yossarian
Jak cytujesz to do końca...wymaga bowiem lokalnego dostępu do maszyny. Z drugiej jednak strony widać tu nadmierny optymizm i brak zrozumienia zagrożeń ze strony szpiegostwa przemysłowego.
I co to ostatnie zdanie niby zmienia? Zbłaźniłeś się tym porównaniem i tyle.
W tej chwili każdy producent zalicza wpadki, na różnych płaszczyznach związane z bezpieczeństwem, wydajnością czy stabilnością pracy (np. znane problemy z Ryzenami przy renderowaniu w 3ds Max czy Blenderze).
„znane problemy z Ryzenami przy renderowaniu w 3ds Max czy Blenderze” vs. majstrowanie przy sprzętowym generatorze liczb losowych, backdoor w Intel Management Engine (którego wyłączenie producent wspaniałomyślnie zablokował), dziurawa architektura UEFI (Intel jest głównym autorem), czy teraz problemy poruszane w tym wątku.
Masz jeszcze jakieś genialne porównania tego typu? To się pośmiejemy — Nie ma to jak dobry dowcip z rana ;)
@arecki:
Na początek wystarczy umiejętność czytania:
Kod:
CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1' * Kernel compiled with LFENCE opcode inserted at the proper places: UNKNOWN (couldn't extract your kernel from /boot/vmlinuz-4.14.0-12.1-liquorix-amd64: missing 'lzop -d' tool, please install it, usually it's in the 'lzop' package) > STATUS: UNKNOWN
Offline
Skrypt Spectre & Meltdown Checker moim zdaniem jest najlepszy na sprawdzanie pod kątem Spectre i stale aktualizowany, jeśli widać jakieś błędy, trzeba po prostu sprawdzać co jakiś czas, czy pojawiła się nowsza, poprawiona wersja. Było update nawet dziś.
Nałożyłam kilka łatek na kernel (są już na patchwork) i jest poprawa, ale jak widać wymaga jeszcze pracy:
Offline
yossarian napisał(-a):
@arecki:
Na początek wystarczy umiejętność czytania:Kod:
CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1' * Kernel compiled with LFENCE opcode inserted at the proper places: UNKNOWN (couldn't extract your kernel from /boot/vmlinuz-4.14.0-12.1-liquorix-amd64: missing 'lzop -d' tool, please install it, usually it's in the 'lzop' package) > STATUS: UNKNOWN
@yossarian jeśli chodzi Ci o lzop to akurat mam zainstalowane, spróbuję dzisiaj z nowszą wersją skryptu, jak nie zadziała to będę analizował skrypt.
Z tego co wczoraj na szybko patrzyłem, skrypt obsługuje też dodatkowe opcje np. odnośnie ścieżek do plików związanych z kernelem, więc może wystarczy mu je podać.
./spectre-meltdown-checker.sh --kernel /sciezka/kernel --config /sciezka/config --map /sciezka/map
Offline
Te nowe mikrokody Intela powodują jakieś błędy:
apt-cache policy intel-microcode intel-microcode: Zainstalowana: 3.20171215.1 Kandydująca: 3.20171215.1 dmesg | grep microcode [ 1.123892] microcode: sig=0x306c3, pf=0x2, revision=0x23 [ 1.124261] microcode: Microcode Update Driver: v2.2. [ 25.573921] mce: [Hardware Error]: PROCESSOR 0:306c3 TIME 1515499022 SOCKET 0 APIC 2 microcode 23 [ 2053.615925] mce_notify_irq: 2 callbacks suppressed [ 2053.615926] mce: [Hardware Error]: Machine check events logged [ 2053.615930] mce: [Hardware Error]: CPU 0: Machine Check: 0 Bank 0: d0000040000f0005 [ 2053.615935] mce: [Hardware Error]: TSC 54578164bec [ 2053.615940] mce: [Hardware Error]: PROCESSOR 0:306c3 TIME 1515501050 SOCKET 0 APIC 0 microcode 23 [ 2080.021200] mce: [Hardware Error]: Machine check events logged [ 2080.021207] mce: [Hardware Error]: CPU 1: Machine Check: 0 Bank 0: 90000040000f0005 [ 2080.021213] mce: [Hardware Error]: TSC 556aeceb016
Ostatnio edytowany przez Renia (2018-01-09 13:34:57)
Offline
Jeżeli chodzi o tego skrypcia:
https://github.com/speed47/spectre-meltdown-checker … wn-checker.sh
to u mnie wygląda niewesoło (chociaż kolorowo ;P):
source spectre-meltdown-checker.sh Spectre and Meltdown mitigation detection tool v0.19 Note that you should launch this script with root privileges to get accurate information. We'll proceed but you might see permission denied errors. To run it as root, you can try the following command: sudo bash Checking for vulnerabilities against live running kernel Linux 4.14.12-g1 #2 SMP PREEMPT Sun Jan 7 01:01:25 CET 2018 x86_64 Will use vmlinux image /boot/vmlinuz-4.14.12-g1 Will use kconfig /proc/config.gz Will use System.map file /proc/kallsyms CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1' * Checking count of LFENCE opcodes in kernel: NO (only 24 opcodes found, should be >= 70) > STATUS: VULNERABLE (heuristic to be improved when official patches become available) CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2' * Mitigation 1 * Hardware (CPU microcode) support for mitigation: NO * Kernel support for IBRS: NO * IBRS enabled for Kernel space: NO * IBRS enabled for User space: NO * Mitigation 2 * Kernel compiled with retpoline option: NO * Kernel compiled with a retpoline-aware compiler: NO > STATUS: VULNERABLE (IBRS hardware + kernel support OR kernel with retpoline are needed to mitigate the vulnerability) CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3' * Kernel supports Page Table Isolation (PTI): YES * PTI enabled and active: YES > STATUS: NOT VULNERABLE (PTI mitigates the vulnerability)
Uruchomiony z poziomu ZU (czyli nieroota), a tu takie "kfiatki" .... :P
Pozdro
Ostatnio edytowany przez Jacekalex (2018-01-09 13:39:49)
Offline
Tylko Red Hat połatał wszystko jak należy, czyli łącznie ze Spectre v1/v2, inni sobie bimbają.
Offline
Renia napisał(-a):
Tylko Red Hat połatał wszystko jak należy, czyli łącznie ze Spectre v1/v2, inni sobie bimbają.
Nie bimbają, łatki się właśnie piszą, spokojna głowa.
Za kilka tygodni w jaju 4.15 wszystko będzie połatane jak należy.
Offline
Renia napisał(-a):
Te nowe mikrokody Intela powodują jakieś błędy
Bo to tylko nieoficjalna wersja by trochę zatrzeć:złe wrażenie:
Anyway, uploading a partial, unofficial set of updates to unstable to
close the bug. Several processors are still missing. I expect an
official release from Intel soon, hopefully with updates for everything.
#886367
U mnie akurat żadnych błędów nie widać.
Tylko Red Hat połatał wszystko jak należy, czyli łącznie ze Spectre v1/v2, inni sobie bimbają.
Połatanie tego „jak należy” potrwa przynajmniej kilka miesięcy (o ile da się to w ogóle kompleksowo połatać), a ty tu piszesz, że RH wystarczyło kilka szybko napisanych na kolanie nieoficjalnych łatek.
Offline
Nie sądzę, żeby Red Hat "napisał na kolanie" patche i wrzucił do kerneli dla wersji Enterprise: https://access.redhat.com/errata/RHSA-2018:0008
Offline
Nieoficjalne firmware (nowe mikrokody Intela powodują jakieś błędy), nad którym ciągle trwają prace i dlatego nie został jeszcze wydany i nieoficjalne łatki na jądro, nad którymi ciągle trwają prace i może zostaną wydane w wersji 4.15 lub 4.16.
Jak to inaczej nazwać?
RH to korpo i musi mieć taki dupochron bo bierze ciężką kasę za wsparcie.
Offline
Wydaje mi się, że ten skrypt
https://github.com/speed47/spectre-meltdown-checker … wn-checker.sh
nie daje rzetelnych wyników - uruchamiałem na 2 komputerach ze stabilnym Debianem Stretch ze standardowym kernelem
Linux server-j4205 4.9.0-5-amd64 #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04) x86_64 GNU/Linux,
i na obu maszynach daje on identyczny wynik:
# ./spectre-meltdown-checker.sh Spectre and Meltdown mitigation detection tool v0.19 Checking for vulnerabilities against live running kernel Linux 4.9.0-5-amd64 #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04) x86_64 Will use vmlinux image /boot/vmlinuz-4.9.0-5-amd64 Will use kconfig /boot/config-4.9.0-5-amd64 Will use System.map file /proc/kallsyms CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1' * Checking count of LFENCE opcodes in kernel: NO (only 31 opcodes found, should be >= 70) > STATUS: NOT VULNERABLE (your CPU vendor reported your CPU model as not vulnerable) CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2' * Mitigation 1 * Hardware (CPU microcode) support for mitigation: NO * Kernel support for IBRS: NO * IBRS enabled for Kernel space: NO * IBRS enabled for User space: NO * Mitigation 2 * Kernel compiled with retpoline option: NO * Kernel compiled with a retpoline-aware compiler: NO > STATUS: NOT VULNERABLE (your CPU vendor reported your CPU model as not vulnerable) CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3' * Kernel supports Page Table Isolation (PTI): YES * PTI enabled and active: YES > STATUS: NOT VULNERABLE (your CPU vendor reported your CPU model as not vulnerable)
Czyli 3x NOT VULNERABLE (2xspectre 1xmeldown)
Natomiast po odpaleniu na obu maszynach tego skryptu:
https://gist.githubusercontent.com/ErikAugust/724d4 … dd6/spectre.c
...(w 50. linijce trzeba dodać spację za #define CACHE_HIT_THRESHOLD, żeby się kompilowało)...
na obu kompach daje wynik:
Reading 40 bytes: Reading at malicious_x = 0xffffffffffdfed68... Success: 0x54=’T’ score=2 Reading at malicious_x = 0xffffffffffdfed69... Success: 0x68=’h’ score=2 Reading at malicious_x = 0xffffffffffdfed6a... Success: 0x65=’e’ score=2 Reading at malicious_x = 0xffffffffffdfed6b... Success: 0x20=’ ’ score=2 Reading at malicious_x = 0xffffffffffdfed6c... Success: 0x4D=’M’ score=2 Reading at malicious_x = 0xffffffffffdfed6d... Success: 0x61=’a’ score=2 Reading at malicious_x = 0xffffffffffdfed6e... Success: 0x67=’g’ score=2 Reading at malicious_x = 0xffffffffffdfed6f... Success: 0x69=’i’ score=2 Reading at malicious_x = 0xffffffffffdfed70... Success: 0x63=’c’ score=2 Reading at malicious_x = 0xffffffffffdfed71... Success: 0x20=’ ’ score=2 Reading at malicious_x = 0xffffffffffdfed72... Success: 0x57=’W’ score=2 Reading at malicious_x = 0xffffffffffdfed73... Success: 0x6F=’o’ score=2 Reading at malicious_x = 0xffffffffffdfed74... Success: 0x72=’r’ score=2 Reading at malicious_x = 0xffffffffffdfed75... Success: 0x64=’d’ score=2 Reading at malicious_x = 0xffffffffffdfed76... Success: 0x73=’s’ score=2 Reading at malicious_x = 0xffffffffffdfed77... Success: 0x20=’ ’ score=2 Reading at malicious_x = 0xffffffffffdfed78... Success: 0x61=’a’ score=2 Reading at malicious_x = 0xffffffffffdfed79... Success: 0x72=’r’ score=2 Reading at malicious_x = 0xffffffffffdfed7a... Success: 0x65=’e’ score=2 Reading at malicious_x = 0xffffffffffdfed7b... Success: 0x20=’ ’ score=2 Reading at malicious_x = 0xffffffffffdfed7c... Success: 0x53=’S’ score=2 Reading at malicious_x = 0xffffffffffdfed7d... Success: 0x71=’q’ score=2 Reading at malicious_x = 0xffffffffffdfed7e... Success: 0x75=’u’ score=2 Reading at malicious_x = 0xffffffffffdfed7f... Success: 0x65=’e’ score=2 Reading at malicious_x = 0xffffffffffdfed80... Success: 0x61=’a’ score=2 Reading at malicious_x = 0xffffffffffdfed81... Success: 0x6D=’m’ score=2 Reading at malicious_x = 0xffffffffffdfed82... Success: 0x69=’i’ score=2 Reading at malicious_x = 0xffffffffffdfed83... Success: 0x73=’s’ score=2 Reading at malicious_x = 0xffffffffffdfed84... Success: 0x68=’h’ score=2 Reading at malicious_x = 0xffffffffffdfed85... Success: 0x20=’ ’ score=2 Reading at malicious_x = 0xffffffffffdfed86... Success: 0x4F=’O’ score=2 Reading at malicious_x = 0xffffffffffdfed87... Success: 0x73=’s’ score=2 Reading at malicious_x = 0xffffffffffdfed88... Success: 0x73=’s’ score=2 Reading at malicious_x = 0xffffffffffdfed89... Success: 0x69=’i’ score=2 Reading at malicious_x = 0xffffffffffdfed8a... Success: 0x66=’f’ score=2 Reading at malicious_x = 0xffffffffffdfed8b... Success: 0x72=’r’ score=2 Reading at malicious_x = 0xffffffffffdfed8c... Success: 0x61=’a’ score=2 Reading at malicious_x = 0xffffffffffdfed8d... Success: 0x67=’g’ score=2 Reading at malicious_x = 0xffffffffffdfed8e... Success: 0x65=’e’ score=2 Reading at malicious_x = 0xffffffffffdfed8f... Success: 0x2E=’.’ score=2
czyli oba urządzenia są podatne na Spectre. Zresztą wciąż na debianowych stronach:
https://security-tracker.debian.org/tracker/CVE-2017-5753
https://security-tracker.debian.org/tracker/CVE-2017-5754
https://security-tracker.debian.org/tracker/CVE-2017-5715
widać, że załatane jest tylko (dla Stretcha, Sida i Wheezego) cve-2017-5754, czyli meltdown, a obie podatności na Spectre pozostają niezałatane na wszystkich wydaniach Debiana.
Ostatnio edytowany przez seler (2018-01-09 15:24:48)
Offline
Ten skrypt nie współpracuje poprawnie z kernelem liquorix.
Na kernelu debianowym działa poprawnie.
@Seler, nie widzę, aby ten skrypt testował podatność.
Widzę jedynie kontrolę łatek w kernelu i mikrokodów do procesora.
Offline
Wiadomo, że Debian wypuścił załatane kernele tylko pod kątem Meltdown jedynie dla 3 wersji swoich dystrybucji. Widzę kolejną aktualizację skryptu, teraz jest wersja v0.20 więc na tej rzuciłam okiem i jak najbardziej na stabilnym Debianie z kernelem 4.9.65-3+deb9u2 rozpoznaje podatności prawidłowo:
Edit:
arecki napisał(-a):
Ten skrypt nie współpracuje poprawnie z kernelem liquorix.
Na kernelu debianowym działa poprawnie.
@Seler, nie widzę, aby ten skrypt testował podatność.
Widzę jedynie kontrolę łatek w kernelu i mikrokodów do procesora.
Nawet to wystarczy, a co najważniejsze skrypt jest rozwojowy, poprawki ostatnio są co kilka godzin. Z Liquorix nie zadziała do końca, bo sobie panowie od tego kernela udziwnili i ustawili >Kernel compression mode< na LZ4 i trzeba zainstalować pakiet do dekompresji i zmodyfikować skrypt. Choć i bez tego wiadomo, że Liquorix jest podatny na Spectre we wszystkich odmianach.
Ostatnio edytowany przez Renia (2018-01-09 19:11:17)
Offline
Skrypt fajny.
Problem jest jedynie taki, na ile rozumiem ten skrypt, że nie daje mi informacji czy procesor jest podatny, daje jedynie informację czy system jest załatany (na tyle na ile to możliwe wg dzisiejszej wiedzy na temat przedmiotowych ataków).
W sumie na chwilę obecną po użyciu jednego działającego testera i informacji Intela na temat podatnych CPU wychodzi mi, że mój Intel Q6600 jest niepodatne na Spectre.
Spróbuję jeszcze uruchomić testery dla Windows. Microsoft udostępnił jakieś oficjalne narzędzie i widzę na gicie jego aplikację https://github.com/Viralmaniar/In-Spectre-Meltdown
Spróbuję też zmusić skrypt do współpracy z liquorix. LZ4 mam, z tego co widzę muszę jeszcze jedynie dopisać swoją linijkę i podać nagłówek od którego ma rozpocząć dekompresję.
# That didn't work, so retry after decompression. try_decompress '\037\213\010' xy gunzip gunzip "$1" && return 0 try_decompress '\3757zXZ\000' abcde unxz xz-utils "$1" && return 0 try_decompress 'BZh' xy bunzip2 bzip2 "$1" && return 0 try_decompress '\135\0\0\0' xxx unlzma xz-utils "$1" && return 0 try_decompress '\211\114\132' xy 'lzop -d' lzop "$1" && return 0 return 1
Ostatnio edytowany przez arecki (2018-01-09 20:44:35)
Offline