Vlákno názorů k článku Děravý Intel Management Engine lze nahradit minimalistickým Linuxem a Go od babka japka - Diky za pekny clanek! - Ring -1 /VT hypervizor/...

  • Článek je starý, nové názory již nelze přidávat.
  • 24. 11. 2017 0:53

    babka japka (neregistrovaný)

    Diky za pekny clanek!

    - Ring -1 /VT hypervizor/ a -2 /sprava udalosti/ jsou uplne nanic, tohle ma delat jadro!!! I kdyz je mi jasne, jak to vzniklo "Vy (stary linux/win/osx) to stejne poserete, radsi vam sbastlime tuhle vecicku pro nasi konkretni HW sestavu a muzete to nechat na nas". Divim se, ze linux komunita proti tomu neprotestovala uz od zacatku, nejen z bezpecnostniho hlediska, ale z poruseni principu - tohle je kompetence kernelu.
    - ring -3 je proste zhuverilost, NSA backdoor a/nebo management "feature" pro korporace. Chapu pouziti, ale musi byt opt-in, anebo alespon moznost opt-out. Viz ten nastroj pro smazani. Nechapu, jak vlady statu (krom USA) mohly kupovat intel reseni do vladnich zakazek (GDPR se jezi vlasy)

    - linux-based u-root je pekna myslenka. Ale proc to musi byt dalsi (2) kernel? Nemuze to byt soucasti hlavniho jadra, ktere ve fazi bootu -1 spusti u-root na ME/r-3, a pak pokracuje?

    - aktivita od Purism na Librem HW: https://puri.sm/posts/primer-to-reverse-engineering-intel-fsp/
    Popisuje prave neutralizaci, smazani iME; neni mi jasne, nakolik spolupracuji s g-NERF. Pokud vim, Purism byli prvni, co toto resili.

    - dalsi otazka: Intel vs AMD. Doposud bylo AMD lepsi volba: ma take PSP, ale ne tak bohaty na spionske featury; ale ted se karta obraci a intel bude dost promazan -> lepsi nez AMD (alespon co se bonzactvi tyce)?
    - bylo by opravdu nemile, kdyby se objevil a poradne rozsiril vir na iME/PSP, to by pak byl rychly pokrok v otevirani, mazani!

  • 24. 11. 2017 7:27

    Petr M (neregistrovaný)

    Myslím, že se karta neobrací.

    Malá potvůrka na management (monitorování zdrojů, power sequencing, hotswap,...) se při konstrukci HW hodí. Ale je tady obrovský rozdíl v tom, jaký dostane práva.

    Pokud je to jednočip, zapojený třeba na SMB s definovaným protokolem a sám neleze ven, je to OK (v tom, co teď dělám, mám tři takovvý potvory - display driver, touchscreen, proprietální komunikační stack v STM32F205). U všech vím, co dělají (mají jediný spojení po SPI s hlavním CPU).
    Pokud je tam možnost upgrade FW, ale je k tomu potřeba cílená akce systému, taky se to dá ohlídat.
    Pokud tomu hodím funkci nějakýho koprocesoru (hrnu do toho data, vypadne hash) a dělá to definovaným způsobem definovanou činnost, může/nemusí to být OK (například může blbě generovat náhodný čísla, pokud to má dělat RNG), ale pokud se to dá fixnout vědomým (= spustím script) a dokumentovatelným způsobem, OK. (na téhle úrovni, co jsem to pochopil, je AMD s TrustZone)
    Pokud má přístup k LAN nezávisle na CPU, dokáže dělat management uvnitř CPU, má lajnu na root complex PCIE a nikdo neví, co v tom běží, je to hodně, hodně za hranou.

  • 24. 11. 2017 9:12

    ByCzech

    Ring -1 /VT hypervizor/ a -2 /sprava udalosti/ jsou uplne nanic tohle ma delat jadro!!!

    K Ring -1... To mi prosím vysvětlete, jak jádro běžící v Ring 0 zajistí běh virtualizovaných OS, které běží také v Ring 0, aby to bylo dostatečně spolehlivé. Linux se umí přizpůsobit, je OSS a může tak běžet v jiném Ring, takže pak má takový kernel běžící v Ring 0 vyšší práva a může správně v takovém případě dělat to co má. Proprietární systémy se nepřizpůsobí a vyžadují běh v Ring 0 (to že je to chyba v návrhu x86 architektury, kdy stejný kód posunutý z RING 0 do RING 1 má u některých instrukcí jiné výsledky, tudíž nefunguje, je na jinou debatu), aby bylo možné nad nimi mít správný dozor virtualizačního hypervisoru, je třeba, aby běžel s vyššími právy a mohl v případě potřeby přebírat kontrolu.

  • 24. 11. 2017 15:06

    daemon (neregistrovaný)

    Tak on to vlastně ani žádný "ring -1" není, že...
    Jedná se o tu hradwarovou podporu pro virtualizaci. Nemám nastudovanou dokumentaci, takže to neumím správně pojmenovat, ale je to ta věc označená u Intelu jako VT-x. Dokud ji CPU neměly, musel hypervizor projet virtualizovaný kód analyzátorem a následně nahradit problematické instrukce voláním procedury, mající ve virt. prostředí analogický efekt, jako by měla ta nahrazená instrukce na bare metal hardware. Proto ostatně některé hypervizory nedokáží bez VT-x virtualizovat některé systémy jako OS/2 nebo Netware. Tam se právě používají i ring1 a ring2, což tu virtualizaci poněkud komplikuje.
    Stejně tak "ring -2" není žádný ring ale specifický režim činnosti procesoru - SMM, který se spouští externím signálem.

  • 24. 11. 2017 15:39

    . . (neregistrovaný)

    všechny záporné ringy jsou jen virtuální a jen z důvodu lepší zřetelnosti jakou kód má prioritu.

  • 24. 11. 2017 16:02

    ByCzech

    Dokud ji CPU neměly, musel hypervizor projet virtualizovaný kód analyzátorem a následně nahradit problematické instrukce voláním procedury, mající ve virt. prostředí analogický efekt, jako by měla ta nahrazená instrukce na bare metal hardware.

    To vše samozřejmě vím, stejně tak vím, že to nebylo dokonalé a nebylo to 100% kompatibilní. A na otázku jste samozřejmě odpověď nenapsal :)
    Navíc VT-x, AMD-V a další není pouze zajištění běhu kódu s vyššími právy než RING 0, že?

  • 26. 11. 2017 22:21

    daemon (neregistrovaný)

    Já vím, že to víte. To byl jenom doplňující komentář pro ty, kteří to nevědí.