A nap tippje: van-e CPU sebezhetősége a Linux kernelemnek?

Címkék

Hozzászólások


What:		/sys/devices/system/cpu/vulnerabilities
		/sys/devices/system/cpu/vulnerabilities/meltdown
		/sys/devices/system/cpu/vulnerabilities/spectre_v1
		/sys/devices/system/cpu/vulnerabilities/spectre_v2
Date:		January 2018
Contact:	Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description:	Information about CPU vulnerabilities

Ref: https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-devices-syst…

Példa:

$ grep . /sys/devices/system/cpu/vulnerabilities/*
/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Vulnerable: Minimal generic SM retpoline

--
trey @ gépház

MacBook Pro-n Fedora 27-en:


grep . /sys/devices/system/cpu/vulnerabilities/*
/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Vulnerable: Minimal generic ASM retpoline

h170pro4:~ # cat /proc/cpuinfo | egrep -io "kaiser|spec_ctrl" | head -n2
spec_ctrl
kaiser

Additional detail :
- The 'kaiser' flag is used on SLE versions up to SLE 12, in turn, SLE 15 will use the 'pti' flag.
- The 'spec_ctrl' or 'ibpb' flag implies both v2 and v1 protection, but if it is not present, it means v2 is not active, but v1 still may, as it currently cannot be disabled in SLES - if the installed kernel has it, it's on.

https://www.suse.com/support/kb/doc/?id=7022512

Ebben sincs:

Debian 4.14.13-1 (2018-01-14) x86_64 GNU/Linux

----------
Were antimatter present, its detection would be quite simple and straightforward. The most rudimentary detector suffices: simply place it down and wait. If the detector disappears, antimatter has been discovered - get out fast!

Feltettem a 4.14.14-1-et az Arch Testingből, abban már ez benne van. Ez már a Spectre2 ellen is foltoz (retpoline, amihez nem kell a CPU-ra mikrokód), de a Spectre1 ellen nem, ami egyébként fasza, mert ha tényleg majd csak a 4.16-ben lesz javítva, akkor elég sok ember még legalább 6-8 hétig sebezhető lesz, közöttük én is.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

Tehát előbb fel kéne rakjam a frissítést, hogy tudjam hogy van-e benne lyuk?
Magyarán ha kijön egy új hiba de még nem frissítettem, és lekérem ezt az ellenőrzést akkor azt mutatja majd, hogy minden OK?
Ez ebben a formában nem tűnik túl hasznosnak...
Ha lenne egy csomag amit bármikor frissíthetek külön és az felsorolná az összes lyukat ami nincs frissítve: na annak lenne értelme.

Nem értem, hogy miért lenne selejtezési ok. Vagy ha az, akkor az összes procit lehetne selejtezni. Tisztán szoftveres javítás is van rá, arra az esetre, ha valakinek a procija vagy a BIOS-a nem kap új mikrokódot. Semmit nem kell selejtezni, csak töketlenkednek a patch-el. Már január elején úgy volt, hogy kitolták a patcht, a MS ki is adta, csak aztán újra kellett foltozni, mert fagyások voltak vele újabb prociknál. Linuxhoz meg hiába jött ki gyorsabban, kiderült, hogy csak a PTI Meltdown-ellenes patch, a Spectre2 elleni retpoline a 4.14.14-től meg 4.15-től van, ez sokára fog sok disztróba megérkezni (talán idővel a 4.9, 4.4, stb. ágakba is backportolják). És akkor még mindig ott tartunk január vége felé, hogy Spectre1 ellen minden linuxos sebezhető, hacsak a procija nem kapott új mikrokódot 2017. november és 2018 január 8 között. Kabaré, ilyen tömeges sebezhetőséget ilyen sokáig nyitva hagyni. Előbb-utóbb mindenki védve lesz, mert a procigyártók is adnak ki még mikrokódokat, meg a kernelekbe is megérkezik a szoftveres javítás is, csak győzzük kivárni, meg imádkozni, hogy malware-ek ne kezdjék előbb aktívan kihasználni.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

"okOK" - tegyük fel, hogy 5 év múlva kell majd egy új vas. Lassú, más gondok és még ez is bekerülhet a selejtezési jegyzőkönyvbe - javítottságtól függetlenül. Volt rá példa, ahol az okok számát nézték. Ott egyszer a "beleszakadt a gépház oldalát tartó csavar menete" került be, hogy meglegyen ;)

Ma reggel frissült a kernel is, most már ad választ.
$ grep . /sys/devices/system/cpu/vulnerabilities/*
/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Full generic retpoline

a /proc/cpuinfo-ban is látszik:


...
model name : Intel(R) Core(TM) i7-3632QM CPU @ 2.20GHz
stepping : 9
microcode : 0x1c
cpu MHz : 1345.518
cache size : 6144 KB
physical id : 0
siblings : 8
core id : 3
cpu cores : 4
apicid : 7
initial apicid : 7
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb pti retpoline tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts
bugs : cpu_meltdown spectre_v1 spectre_v2
bogomips : 4391.05

csak persze, itt nem mondja, hogy "Mitigation: PTI"...

processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz
stepping : 10
microcode : 0xa0c
cpu MHz : 2000.000
cache size : 3072 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm pti tpr_shadow vnmi flexpriority dtherm
bugs : cpu_insecure
bogomips : 5320.12
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:

Ez így semmit nem bizonyít. Vagy nem a legfrissebb kernelt használod, vagy azt használsz, de azért nem mutatja, mert a C2D, C2Q nincs még hivatalosan felvéve a sebezhető procik közé, de majdnem teljesen biztos vagyok, hogy később igazolást fog nyerni, hogy sebezhető.

@micsa: azért nem ír mitigationt, mert a cpuinfo a prociról közöl adatokat, és márpedig a proci fizikailag sebezhető, az megint más, hogy új mikrokóddal vagy új kernellel ez esetleg foltozva van.

Sajnos még mindig nem jött ki a végleges 4.15-ös, Linus most is RC-t adott még csak ki. Az faxa, ilyen ütemben lesz vagy két hónap is, mire a végleges 4.16-os kijön, ami már tartalmazza az összes mitigationt. Az Intel tudna gyorsítani a folyamaton új mikrokóddal, de ők szerintem még ennél is lassabbak lesznek.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum

/spectre_v1 sebezhető még az I5-ösömön.
Erre van megoldás, ha UEFI frissítés nélkül is?

Van, szépen vársz, ahogy én az i7-esemmel. Ahogy számolom, kellően régi procinál még majdnem 2 hónap, mire a Spectre1 ellen is lesz foltozás. Örülök neki én is nagyon, képzelheted.

„Pár marék nerd-et leszámítva kutyát se érdekel már 2016-ban a Linux. Persze, a Schönherz koliban biztos lehet villogni vele, de el kéne fogadni, ez már egy teljesen halott platform. Hagyjuk meg szervergépnek…” Aron1988@PH Fórum