Vlákno názorů k článku Děravý Intel Management Engine lze nahradit minimalistickým Linuxem a Go od fool - Jak funguji zaporne ringy? Myslel sem ze instrukce...

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

    fool (neregistrovaný)

    Jak funguji zaporne ringy? Myslel sem ze instrukce jsou rozdeleny podle ring 0..3 a pokud napr. Aplikace z userspace zkusi vykonat zmenu pametove stranky (ring 0), tak to zpusobi preruseni. Takhle jsou rozdeleny vsechny instr. Z instrukcni sady cpu. Ale jak jsou implementovany -ring? Nikde jsem nic ppdobneho nevidel?

  • 26. 11. 2017 10:28

    . . (neregistrovaný)

    záporné ringy nevstupují do samotných vykonávaných instrukcí a přímo je nikterak neovlivňují, procesor je nezohledňuje při vykonávání kódu. Stojí ale venku a mohu sami vyvolat přerušení, mohu sami přečíst registry a paměť, mohou třeba použít neveřejné instrukce procesoru k jeho další činnosti. Mají přístup na sběrnice, mohou si po nich posílat instrukce.

    (profesně se tím nezabývám, je to můj laický pohled)

  • 26. 11. 2017 15:13

    ByCzech

    Nevím jestli se to dá přímo takhle popsat, pro zjednodušené možná ano. Nicméně je ale jistě rozdíl mezi RING -1 a dalšími zápornými RINGy. U RING -1 o tom OS, potažmo virtualizační hypervisor ví. O RING -2 a -3 vůbec OS či hypervisor nic neví a nemá šanci do toho zasáhnout.

  • 27. 11. 2017 18:51

    j (neregistrovaný)

    Predstav si to trebas tak, ze vemes (idealni) voltmetr a budes merit napeti. Aplikace (trebas vypinac) nevi, ze ty vis, jestli je sepnutej nebo ne. Co vic, ty mas krome toho jeste zdroj, kterym muzes ten stav menit, aniz by se to projevilo zvenku, na stavu toho vypinace (packa se nepohne ... ale stav se zmeni).

    Tahle vec funguje stejne. Z pohledu aplikace (OS) se vykonavaji nejaky instrukce, prideluje se pamet ... ale ze HW dela jeste neco dalsiho (trebas ze vsechny provadeny instrukce posila intelu), to nemas sanci zjistit.

    2Tomáš2: Moc bych si nedelal iluze o tom nezasahovani do provadenych instrukci. CPU ma mikrokod, kterej muze (i pomerne razantne) zmenit provadeni instrukci a predpokladam, ze na tyhle urovni do toho muzes zasahovat i doslova za chodu.