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é.

Podnikatel.cz: Šizený guláš na pultě. Jako Lidl to nedělejte

Šizený guláš na pultě. Jako Lidl to nedělejte

DigiZone.cz: Budoucnost video služeb na internetu

Budoucnost video služeb na internetu

Podnikatel.cz: Když už je sexy, tak ať taky funguje

Když už je sexy, tak ať taky funguje

Vitalia.cz: Tetanus v USA – i po odřeninách

Tetanus v USA – i po odřeninách

120na80.cz: Velký přehled: 7 očkování proti exotickým nemocem

Velký přehled: 7 očkování proti exotickým nemocem

Lupa.cz: Přenos hokeje padal kvůli útoku, tvrdí O2

Přenos hokeje padal kvůli útoku, tvrdí O2

120na80.cz: Co jí dělá? Sklerotizaci

Co jí dělá? Sklerotizaci

Lupa.cz: Kam si doma dáte internet věcí? Na polici?

Kam si doma dáte internet věcí? Na polici?

120na80.cz: Jak si udržet zdravou vaginu

Jak si udržet zdravou vaginu

Lupa.cz: Nová podoba Instagramu? Katastrofa

Nová podoba Instagramu? Katastrofa

Vitalia.cz: Proč máme prasklý chléb nejraději?

Proč máme prasklý chléb nejraději?

Vitalia.cz: 7 nemocí očí, které musíte léčit včas

7 nemocí očí, které musíte léčit včas

Vitalia.cz: Dnešní patolog o mrtvolu téměř nezavadí

Dnešní patolog o mrtvolu téměř nezavadí

Lupa.cz: Zaplatíme ti, když ti seženeme práci

Zaplatíme ti, když ti seženeme práci

Lupa.cz: Válka e-shopů. Alza končí s Heurekou

Válka e-shopů. Alza končí s Heurekou

DigiZone.cz: Šlágr TV dostala pokutu 100 000 Kč

Šlágr TV dostala pokutu 100 000 Kč

Vitalia.cz: SÚKL: vakcíny jsou bezpečné a s autismem nesouvisí

SÚKL: vakcíny jsou bezpečné a s autismem nesouvisí

DigiZone.cz: UPC umí televizi sedm dní nazpět

UPC umí televizi sedm dní nazpět

DigiZone.cz: DAB+ versus FM, ČRo a ČRa proti APSV

DAB+ versus FM, ČRo a ČRa proti APSV

Root.cz: Cenzura internetu prošla, i přes pochyby senátorů

Cenzura internetu prošla, i přes pochyby senátorů