Děravé jádro: chyba v klíčence umožňuje spustit cizí kód

Roman Bořánek 20. 1. 2016

Po nedávno odhalené chybě v OpenSSH tu máme další nepříjemnou zranitelnost– tentokrát přímo v linuxovém jádru. Chyba se vyskytuje ve verzi 3.8 a novějších a umožňuje útočníkovi spustit kód jako superuživatel. V ohrožení jsou nejen desktopy, ale samozřejmě i servery a velká část zařízení s Androidem.

Závažná 0-day chyba CVE-2016–0728 byla objevena výzkumníky společnosti Perception Point, kteří o ní brzy informovali bezpečnostní tým Linuxu. Výzkumníci rovněž vyvinuli funkční exploit. Dobrou zprávu je, že zatím nemáme žádné informace o tom, že by chyba byla zneužívána v praxi. To se ale brzy po odhalení změní a je třeba rychle aplikovat záplaty. Alespoň tam, kde je to možné prostřednictvím standardního systému aktualizací.

Chyba se vyskytuje v linuxovém jádru od verze 3.8, která vyšla před necelými třemi roky, a novějších. To znamená, že chybou trpí i cca dvě třetiny zařízení s Androidem (od verze 4.4 KitKat). U alternativních ROM se to pochopitelně může lišit – vždy záleží na použité verzi jádra, nikoliv Androidu jako takového. Záplata už byla vydána a lze očekávat, že nejpozději během několika dnů (ale spíš v rámci hodin) dorazí do populárních linuxových distribucí.

Problém je v klíčence

Chyba se nachází v klíčence jádra, což je místo, kde jsou uchovávány různé důvěrné informace (hlavně klíče apod.) a odkud jsou zpřístupňovány dalším procesům. Zprvu si raději hned vyjasněme, že tyto důvěrné informace nejsou v nebezpečí! Problém spočívá v tom, že chyba útočníkovi umožňuje do dříve použitého objektu klíčenky vložit vlastní kód a spustit ho tak s právy superuživatele. Naštěstí tak lze učinit pouze lokálně, vzdálený útok není možný.

Toto vysvětlení je samozřejmě zjednodušené a ve skutečnosti je potřeba provést několik přesných úkonů. Podrobně je to popsáno na webu společnosti Perception Point. Zde citujme alespoň sekvenci kroků, které je třeba vykonat:

  1. Držet (legitimní) referenci na objekt klíče.
  2. Způsobit přetečení pole usage tohoto objektu.
  3. Nechat objekt uvolnit.
  4. Alokovat jiný objekt z uživatelského prostoru, jehož obsah je kontrolován uživatelem, na místo v paměti předtím užívané objektem klíče.
  5. Použít referenci na starý objekt klíče a spustit kód.

Provedení exploitu na současných desktopových procesorech zabere cca 30 minut. Na mobilech by to tedy bylo ještě pomalejší, avšak tady delší doba provedení útočníkovi nijak zvlášť nevadí.

V největším ohrožení jsou Androidy

Vzhledem k tomu, že chybu lze zneužít pouze při lokálním přístupu, nejsou servery ve velkém ohrožení. Zde navíc můžeme očekávat rychlé záplatování. Podobně je tomu u desktopových uživatelů linuxových distribucí. Horší to bude u projektů, které aktualizace řeší po svém. Řeč je samozřejmě hlavně o Androidu. Uživatelé si na opravu počkají nejméně několik týdnů, někteří se jí možná nedočkají vůbec. Základní obrana je jasná – neinstalovat software z neověřených zdrojů. Ale kolik uživatelů se tím skutečně řídí?

Na druhou stranu výzkumníci zmiňují, že přítomnost rozšíření jako SELinux nebo SMEP & SMAP činí zneužití chyby výrazně obtížnější. A právě SELinux je používán i v Androidu. Výzkumníci už ale neupřesnili, co to zvýšení obtížnosti exploitu přesně znamená. Dá se předpokládat, že v následujících dnech se do zkoumání chyby zapojí další odborníci a zjistíme tak, jak moc je zneužití reálné.

Našli jste v článku chybu?
120na80.cz: I tuto vodu můžete pít

I tuto vodu můžete pít

Vitalia.cz: Jak může být v uzenině 150 % masa?

Jak může být v uzenině 150 % masa?

DigiZone.cz: Skylink o půlnoci vypnul 12 525

Skylink o půlnoci vypnul 12 525

DigiZone.cz: Test 4k TV Panasonic TX-65DX780

Test 4k TV Panasonic TX-65DX780

Měšec.cz: Udali ho na nelegální software a přišla Policie

Udali ho na nelegální software a přišla Policie

Vitalia.cz: Taky je nosíte? Barefoot není pro každého

Taky je nosíte? Barefoot není pro každého

Vitalia.cz: Bio vejce nepoznají ani veterináři

Bio vejce nepoznají ani veterináři

Lupa.cz: Největší torrentový web KickassTorrents padl

Největší torrentový web KickassTorrents padl

Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

Podnikatel.cz: Tahle praktika stála šmejdy přes milion

Tahle praktika stála šmejdy přes milion

DigiZone.cz: Sázka na e-sporty stanici Prima vychází

Sázka na e-sporty stanici Prima vychází

Měšec.cz: Banky umí platby na kartu, jen to neříkají

Banky umí platby na kartu, jen to neříkají

Měšec.cz: Se stavebkem k soudu už (většinou) nemusíte

Se stavebkem k soudu už (většinou) nemusíte

Vitalia.cz: Sobotní masakr žrádla, chlastu a zábavy

Sobotní masakr žrádla, chlastu a zábavy

Lupa.cz: Japonská invaze. Proč SoftBank kupuje ARM?

Japonská invaze. Proč SoftBank kupuje ARM?

Podnikatel.cz: Selhala pokladna k EET. Kdo zaplatí pokutu?

Selhala pokladna k EET. Kdo zaplatí pokutu?

Lupa.cz: IT scéna po brexitu: přijde exodus vývojářů?

IT scéna po brexitu: přijde exodus vývojářů?

Podnikatel.cz: Za červen to zabalila více jak stovka firem

Za červen to zabalila více jak stovka firem

DigiZone.cz: Android TV: s jakým pracuje rozlišením?

Android TV: s jakým pracuje rozlišením?

Lupa.cz: Vodafone umí volání přes Wi-Fi. Z ciziny jako v ČR

Vodafone umí volání přes Wi-Fi. Z ciziny jako v ČR