Frissítettem J5ET58WW-ről J5ET59WW-re (avagy UEFI BIOS update Spectre és egyéb biztonsági javítások miatt)

Lassan egy hete már annak, hogy először hallottunk a Meltdown és Spectre sebezhetőségekről. A gyártók elvileg mára tervezték az összehangolt közlést és a patchek kiadását. A Lenovo is tartotta magát a menetrendhez és ma frissített UEFI BIOS image-et adott ki a laptopomhoz. A frissítés leírásában szerepel, hogy javítást hoz egyéb biztonsági problémák mellett a CVE-2017-5715-re (Spectre), úgyhogy "ezen ne múljon!" felkiáltással nekiálltam beleírni a gépem erre a célra fenntartott részébe.

Lenovo Thinkpad - Spectre javítás

A csak Linuxot futtató gépen a kiadott windowsos frissítés nem játszik. CD-meghajtó nélkül pedig elég nehéz a bootolható ISO-t működésre bírni. Szerencsére a tudomány itt nem áll meg, csinálunk az ISO-ból egy USB pendrive-ra írható lemezképfájlt és azzal végezzük el a frissítést:

ISO image letöltése


trey@alderaan:/$ cd /tmp
trey@alderaan:/tmp$ wget -c https://download.lenovo.com/pccbbs/mobiles/j5uj59wd.iso
--2018-01-09 10:27:12--  https://download.lenovo.com/pccbbs/mobiles/j5uj59wd.iso
Resolving download.lenovo.com (download.lenovo.com)... 2.23.108.126
Connecting to download.lenovo.com (download.lenovo.com)|2.23.108.126|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 17149952 (16M) [application/octet-stream]
Saving to: ‘j5uj59wd.iso’

j5uj59wd.iso                     100%[=======================================================>]  16,36M  1,15MB/s    in 12s     

2018-01-09 10:27:24 (1,34 MB/s) - ‘j5uj59wd.iso’ saved [17149952/17149952]

Checksum ellenőrzése


trey@alderaan:/tmp$ sha1sum j5uj59wd.iso 
5ffcb0641317efe5f1653c4154dfe9ecb9a87a76  j5uj59wd.iso

Lenovo honlapon:


Checksum Tips
MD5: bde5aa4b30f3d94daff07d94160573ef
SHA1: 5ffcb0641317efe5f1653c4154dfe9ecb9a87a76
SHA-256: 946d209fccc550332f6c4bfce57ca7b2d7801c034c0f0a0d381e466432d86726

ISO konvertálása lemezképfájlba

trey@alderaan:/tmp$ geteltorito -o bios.img j5uj59wd.iso
Booting catalog starts at sector: 20
Manufacturer of CD: NERO BURNING ROM VER 12
Image architecture: x86
Boot media type is: harddisk
El Torito image starts at sector 27 and has 32768 sector(s) of 512 Bytes

Image has been written to file "bios.img".

Lemezképfájl kiírása USB pendrive-ra (/dev/sdb)

trey@alderaan:/tmp$ sudo su
[sudo] password for trey:
root@alderaan:/tmp# dd if=bios.img of=/dev/sdb bs=1M
16+0 records in
16+0 records out
16777216 bytes (17 MB, 16 MiB) copied, 4,11304 s, 4,1 MB/s

Reboot, boot paraméterek ellenőrzése, UEFI BIOS frissítése

UEFI BIOS update Lenovo Thinkpad E450-en
Boot jelszó megadása

UEFI BIOS update Lenovo Thinkpad E450-en
UEFI boot opció ellenőrzése

UEFI BIOS update Lenovo Thinkpad E450-en
Bootolás az előkészített USB pendrive-ról

UEFI BIOS update Lenovo Thinkpad E450-en
...

UEFI BIOS update Lenovo Thinkpad E450-en
Password nélkül nincs BIOS frissítés! Jelszó megadása ...

UEFI BIOS update Lenovo Thinkpad E450-en
Mehet?

UEFI BIOS update Lenovo Thinkpad E450-en
Konnektorba be van dugva?

UEFI BIOS update Lenovo Thinkpad E450-en
Akkumulátor fel van töltve?

UEFI BIOS update Lenovo Thinkpad E450-en
NE kapcsold ki a gépet a frissítés alatt!

UEFI BIOS update Lenovo Thinkpad E450-en
Frissítés folyamatban! CD-t ne vedd ki! (jól van, jól van.... nem veszem)

UEFI BIOS update Lenovo Thinkpad E450-en
...

UEFI BIOS update Lenovo Thinkpad E450-en

Kész!

UEFI BIOS update Lenovo Thinkpad E450-en
Bootolás immár az új (1.30-as) BIOS-szal

UEFI BIOS update Lenovo Thinkpad E450-en
...

Ellenőrzés Linux alatt

root@alderaan:/home/trey# dmidecode -q

[...]

BIOS Information
Vendor: LENOVO
Version: J5ET59WW (1.30 )
Release Date: 12/18/2017
Address: 0xE0000
Runtime Size: 128 kB
ROM Size: 16 MB
Characteristics:
PCI is supported
PNP is supported
BIOS is upgradeable
BIOS shadowing is allowed
Boot from CD is supported
Selectable boot is supported
ACPI is supported
USB legacy is supported
BIOS boot specification is supported
Targeted content distribution is supported
UEFI is supported
BIOS Revision: 1.30
Firmware Revision: 1.30

[...]

\o/

Te már naprakészre hoztad a géped BIOS-át?

Hozzászólások

De ne rajtam múljon! :)

Egyébként a homály mindenhol tetten érhető. Látszik, hogy mindenki kapkod. Ezért is röhögök a bajuszom alatt, amikor a Microsoft helyzetértékeléseit olvasom. Amiben az van, hogy semmi pánik, urai vagyunk a helyzetnek (vagy nem)!

Természetesen azt, hogy a Lenovo mi a faszt javított pontosan ebben a frissítésben, azt valószínűleg sosem tudjuk majd meg.

--
trey @ gépház

Dillon szerint a Meltdown patch 100ns-ről 250-350ns-re emelte a syscall overhead-et (http://lists.dragonflybsd.org/pipermail/users/2018-January/335624.html) . Az IBRS-t használó patchek (vannak már ilyenek készen egyáltalán?) 800ns-re!!!

MMU isolation + IBRS mode 2 increases system call overhead to over 800nS.

A gyártók hónapok óta tesztelik a javításokat. Embargó alatt lett volna máig a sebezhetőség leírása és a frissítés is. Gondolhatod, hogy nem ma pörgették le a Lenovo-nál a javításokat az összes általuk gyártott gépre.

Az, hogy egyesek nekiálltak kapkodni, nem szerencsés. Látjuk is mi lett az eredménye.

--
trey @ gépház

Lenovo P700-ra eddig semmi, pedig elvileg enterprajz cucc.

----------------------
while (!sleep) sheep++;

Èn arra lennék igazán kíváncsi, hogy az Intel mióta tudhat róla? Ök a microcode frissítéseket jövö hét végéig ígérték, ami picit hosszú idönek tünik ahhoz képest, hogy már mondjuk fél éve tudnának róla például.
Vagy direkt játszák a "hülyét", mintha most tudták volna meg ök is.

Számomra furcsa, hogy miért frissít pl. a Lenovo BIOS-t úgy, hogy az Intel még sem jelent meg az új microcode-okkal?

Valami büzlik Dániában.

https://newsroom.intel.com/news-releases/intel-issues-updates-protect-s…

--
robyboy

Nalam a bootolhato USB drive gyartas valahogy igy nezett ki legutobb:
curl http://releases.ubuntu.com/16.04.3/ubuntu-16.04.3-desktop-amd64.iso >/dev/sdf

És ez szerinted miért van így?

(megfejtés)

További kérdés: szerinted a Lenovo által biztosított image isohybrid image?

(nem kell válaszolni)

LK:

trey@alderaan:/tmp$ file j5uj59wd.iso
j5uj59wd.iso: ISO 9660 CD-ROM filesystem data 'J5ET59US' (bootable)
trey@alderaan:/tmp$ file bios.img
bios.img: DOS/MBR boot sector; partition 1 : ID=0x1, active, start-CHS (0x0,1,1), end-CHS (0xf,63,32), startsector 32, 32736 sectors

--
trey @ gépház

Igen. T560-as. Windows alól végrehajtott BIOS Update után vállalati környezetben megváltozott a Bitlocker jelszó, így kellett neki egy Recovery Key-es akció, majd utána Bitlocker jelszó módosítás Windows alól. Most megint jó. Egyébként ezt már egyszer eljátszotta valamelyik korábbi BIOS Update után is.

--
robyboy

t560-as baromi jo laptop.
Most lehet akciosan kapni;) Meg mindig olyat vennek.

A legjobban annak orulok, hogy megleptem a +16GB memoriat (24 osszesen).

Azota megdurvabbak a memoriaarak.

---
Saying a programming language is good because it works on all platforms is like saying anal sex is good because it works on all genders....

huha! mekkora dolog ez a bios frissítés, hogy 14 képen at kellett dokumentálni. elképesztő tudomány ez! \o/

Az az igazság, hogy eszembe sem jutott. BIOS-t mindig olyankor jut eszembe piszkálni, ha valami esetleg nem megy a gépemen.

Egy (eléggé) öreg Asus U36SD-m van, és valamiért az asus.com egyáltalán nem találja. (pl Windows drivert sem...)

Illetve https://www.asus.com/uk/support/FAQ/1034979 szerint nem is érintett a hibában? Valahol azt olvastam, hogy az elmúlt évtized minden gépe...

Kicsit meglep, hogy Lenovon meg bootolhato disk kell egy BIOS frissiteshez (tenyleg kell?). Az utobbi evekben Dell meg Asus BIOS-okat frissitettem, mindketto BIOSa tudja azt, hogy FAT filerendszerrol benyalja az uj image-et es megupgradeli magat...

mert nincs felesleges binaris kod az uefiben, ami raadasul dedikaltan az alapprogram atirasara szolgal. meg ki tudja mire.

mert a buzerans pl. wowgamer egy lepcsovel nehezebben irogatja az uefit.

mivel a Lenovo gerincet (meg) az uzleti vonal adja*, ott majd a supervisor elvegzi amit kell. ha 300 vegpontra kell sata driveot tenni akkor annyira. mondjuk santa pelda tudom, mert business vonalon a SU elintezi Windowsbol beavatkozasmentesen.

*a consumer felhasznaloktol sry, dehat nem nekem kellett az ultrabook meg a csillam.

--
Vortex Rikers NC114-85EKLS

jogos, mégis egy lehetőséggel kevesebb. amúgy a Lenovo BIOSban/UEFIben állítható, hogy end-user ne írhassa a flash romot: ott és akkor biztosan nem fogja teleírni bármilyen háryjános. némely Lenovo alaplapon meg direkt programállásba kell tenni fizikailag egy apró jumpert, hogy írhass. vannak tehát lehetőségek pro és kontra, egyik szebb mint a másik. sajnos engem nehéz meggyőzni a lehetőségek sokaságával így csak a fentebb írtakat tudom ismételni.

--
Vortex Rikers NC114-85EKLS

Örülj, a héten szarakodtunk kolléga laptopjával, ahol FW-frissítéshez kizárólag Windowsos exe van (még csak nem is FreeDOS-sal használható DOS-os bigyóka). Sok kicsit régebbi leírás szerint ha kicsomagolod, akkor már ott van a DOS_os, de ebben a verzióban már nem DOS-os.És ugyan a neten vannak nemhivatalos leírások, hogy mi módom kell kinyerni (pl. 7zip-pel 2x is kicsomagolva) magát a FW.bin-t, és mi módon lehet a boot során megnyomandó Fn+Esc-vel elérni, hogy a FAT32-es pendrive-ról benyalja és megfrissítse, egyelőre nem sikerült rábírni. És olyan arrogánsan válaszoltak (másoknak) a fórumukon, hogy a hajam égnekáll.

=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?

??? Az adott géphez nincs CD.img. Csak Win.exe (Jelenleg az tűnik járható iránynak, hogy szerezni egy megfelelő méretű külső diszket, egy Win telepítőt, imádkozni, hogy a telepítő ne csessze el a meglevő diszkre telepített OS-t, felrakni a külső diszkre a Win-t, rábutulni, BIOS-t frissíteni, majd kidobni a feleslegesen telepített Win-t a picsába és visszadni a kölcsön diszket. Oszt a következő FW-frissítésnél kezdődik előlről. Hiren'S BootCD-ben levő MiniXP nem ment.)

=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?

Ja, nem igazán neked szántam, inkább csak úgy a "levegőbe".
Egyébként milyen hardverről írsz konkrétan?

Van az a módszer, hogy az ember boot-ol egy Windows telepítő CD-t, aztán rögtön az első grafikus ablaknál nyom egy SHIFT+F10-et.
Ekkor nyit egy konzolt, ahol futtathatók a Windows exe-k simán, a telepített rendszer módosítása nélkül.

Személy szerint frissítettem már így BIOS-t minden gond nélkül. Csak a 32 bit / 64 bit -re kell odafigyelni, az nem mindegy.

--
robyboy

Az én Thinkpademhez is csak egy elcseszett Windowsos .exe volt az AMT/ME frissítés (amikor kb. 1 hónapja még az volt a sláger).

Nagyjából ezeket a lépéseket követtem: https://www.flamingspork.com/blog/2017/11/22/updating-windows-managemen…

A lényeg, hogy az elvileg legálisan, Microsofttól letölthető Windows telepítőből lehet bootolható WinPE image-et készíteni, és abba a telepítendő frissítés megfelelő részét bele lehet gyógyítani.

(a fekete kecske feláldozása kimaradt a leírásból)

Megnyugtatlak, azóta én se vennék többet. Meg HP-t se, se Fujitsu-t... Lenovoból is csak a Thinkpad-eket tartom normálisan összerakott laposnak, már az Ideapad, meg a többi konzumer vackuktól is a hideg ráz... Dell gépeket még meg szoktam nézni, abból láttam már a konzumer kategóriában is normálisan összerakott és megtámogatott gépet, de hangsúlyozom azokkal semmi tapasztalatom, sajátjaim közt sosem volt Dell, szóval ez csak ilyen "félszemmel messziről úgy tűnt"-vélemény. Majd talán egyszer. De akkor is csak business-gép.

Acer Aspire 4820TG volt név szerint, nem mai modell van vagy 6-7 éves, és nem is mostanában hanem még 2-3 éve történt a dolog... A penen nem a bináris, hanem egy ottfelejtett ZIP-fájl volt. A billentyűkombóra elkezdte a flashelést, majd visszajelzés nélkül leállt (megjegyzem ennél a modellnél dokumentáltan NINCS visszajelzés a folyamatról ha ezt a módszert választod!). Többé bekapcsolni sem tudtam...

_Szerintem_ ezek a BIOS fixek gyakorlatilag microcode update-ek, amiket az operációs rendszerek is frissítenek.

Mert lehet, hogy a BIOS frissítés egy olyan bugot (is) javít, ami nélkül OS alól nem tudod betölteni a microcode frissítést akkor sem, ha megfeszülsz?

BTW: letöltöttem a legfrissebb microcode frissítéscsomagot az Intel-től:

https://downloadcenter.intel.com/download/27431/Linux-Processor-Microco…

Bemásoltam, reboot:


trey@alderaan:~$ journalctl --no-hostname -o short-monotonic --boot -0   | sed -n '1,/PM: Preparing system for sleep/p' | grep 'microcode\|smp'
[    0.000000] kernel: smpboot: Allowing 8 CPUs, 4 hotplug CPUs
[    0.031987] kernel: smpboot: Max logical packages: 4
[    0.072806] kernel: smpboot: CPU0: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz (family: 0x6, model: 0x3d, stepping: 0x4)
[    0.073941] kernel: smp: Bringing up secondary CPUs ...
[    0.074520] kernel: smp: Brought up 1 node, 4 CPUs
[    0.074520] kernel: smpboot: Total of 4 processors activated (17559.76 BogoMIPS)
[    1.136873] kernel: microcode: sig=0x306d4, pf=0x40, revision=0x28
[    1.136995] kernel: microcode: Microcode Update Driver: v2.2.

Nincs a logban a szokásos "microcode: microcode updated early to revision xxxx, date = yyyy-dd-mm" üzenet, így feltételezhető, hogy a BIOS frissítéssel a legfrissebb microcode is felkerült a gépemre. Nincs szükség OS alól tölteni. Ez a biztos, nem az, hogy OS alól töltesz, ami vagy van default, vagy nincs, vagy sikerül vagy nem stb.

--
trey @ gépház

Ez magyarázat az Asus állítására is, hogy bios ÈS op.rendszer frissítés is kell, hogy "well protected" legyél.

Az más kérdés, hogy az Asus által felsorolt VivoPC-knél kimaradt az általam is birtokolt VM40B-s típus, amiben egy Celeron 1007U-s proci van.

Ezen lista szerint bizony ö is érintett:

https://www.techarp.com/guides/complete-list-cpus-meltdown-spectre/4/

Akkor most hogy is van ez Asus? Támogatunk? Nem támogatunk?

--
robyboy

Még nem frissült, de kézzel frissítheted:

Letöltöd a microcode pakkot (microcode-20180108.tgz):

https://downloadcenter.intel.com/download/27431/Linux-Processor-Microco…

Majd:


To update the intel-ucode package to the system, one need:
1. Ensure the existence of /sys/devices/system/cpu/microcode/reload
2. Copy intel-ucode directory to /lib/firmware, overwrite the files in /lib/firmware/intel-ucode/
3. Write the reload interface to 1 to reload the microcode files, e.g.
  echo 1 > /sys/devices/system/cpu/microcode/reload

--
trey @ gépház

sibike, robyboy: ti itt alapvető dolgokat kevertek, szezont a fazonnal.

A Spectre/Meltdown elleni patch-ek az OS-ben csak szoftveresek, és alapból csak a Spectre1, és Meltdown ellen védenek.

A Spectre2 ellen viszont a procit kéne megváltoztatni fizikailag, és lényegében ezt teszik az új mikrokóddal, ami lényegében tekinthető kvázi hardveres patchnek. Nem elég az OS-t Spectre2 ellen patchelni, kell hozzá még a procira is az új mikrokód. Nem csak Windowson, hanem Linux alatt is.

Ezek az új BIOS-ok a mikrokódot tartalmazzák. A mikrokódot be tudja tölteni BIOS nélkül az OS is, de ez nem keverendő a sima szoftveres OS patchekkel. Persze még mindig lehet kérdezni, hogy minek a BIOS-frissítés, ha az OS is be tudja tölteni az új mikrokódot. Erre a választ trey írta meg itt később ebben a szálban.

„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

Az is elképzelhető, hogy a frissítés a boot után a sebezhetőségen keresztül támadható részeket védi le valahogy. Nem tudom a mai UEFI -s cuccok milyen API -t adnak az OS felé. Pl. lehet eddig egyes hívások után RAM -ban maradhatott a BIOS jelszó, amit eddig lesz..tak mondván úgyis védi a kernel. No ez most már nem lenne nyerő.
Amilyen sztorikat anno BIOS -os témakörben mozgó kollégák meséltek, jó nagy disznóságok vannak arrafelé. Személyes tapasztalat: saját fejlesztésű hibásan működő USB mass-storge eszköz akasztotta meg a boot -ot mindenféle hibaüzenet nélkül. Simán megállt a gép kezdeti pár boot üzenet után. Se timeout se üzenet, semmi. Amíg az eszköz rajta volt az USB -n, nem lehetett beindítani a gépet. Az eszközöm hibája annyi volt, hogy valamelyik SCSI parancsot hibával visszadobta. Windows, Linux simán ment vele.

Trey, a frissítés után észrevettél bármi negítat? NAgy performance vesztés?

Most nem egészen értem, hogyan jön képbe most a BIOS.
Ha windows-od, ha Linuxod van, a spectre/meltdown hibákat OS szinten foltozzák, ha jól tudom.

A Lenovo BIOS szinten rendezte az ügyet?

Egyéb:
A memory leak problémára a Google javítása sokkal hatékonyabbnak látszik, mint a windows-os. Ám MS-ék nem ezt alkalmazzák :(
Linux-on nem tudom, hogy mekkora performancia vesztés van, még nem néztem utána. Egylőre régi kernelem van.

"Trey, a frissítés után észrevettél bármi negítat? NAgy performance vesztés?"

Semmit.

"Most nem egészen értem, hogyan jön képbe most a BIOS."

Úgy, hogy a Lenovo a BIOS-ban frissítette a processzor microcode-ot, így nem kellett várnom, míg az op. rendszer vendor szállítja 5 nappal később. Sokkal biztonságosabb, ha a BIOS-ban van ez lekezelve, hiszen tök mindegy, hogy milyen OS-t bootolok a gépen, a processzor ebből a szempontból naprakész, míg op. rendszereknél a gyártóra van bízva, hogy mikor frissít vagy frissít-e egyáltalán.

--
trey @ gépház