OpenSSH obsahuje chybu umožňující ukrást klientské klíče

Petr Krčmář 15. 1. 2016

V OpenSSH byla objevena vážná bezpečnostní chyba, která umožňuje serveru vylákat z klienta jeho privátní šifrovací klíče. S jejich pomocí se pak za klienta dokáže vydávat a přihlásit se tak k dalším zdrojům. Pikantní přitom je, že chyba zneužívá nedokumentovanou funkci roaming, kterou servery neumí.

Bezpečnostní tým společnosti Qualys objevil vážnou zranitelnost v klientech OpenSSH. Dovoluje zlému či napadenému SSH serveru získat privátní šifrovací klíče používané k přihlašování. Zneužívá se při tom nedokumentovaná funkce „roaming“, která slouží k opětovnému navázání rozpadlého SSH spojení. Pikantní na této funkci je, že ji server vůbec neimplementuje a není tedy možné ji použít. Přesto je ve výchozím stavu zapnutá a kvůli chybě ohrožuje bezpečnost klientů.

Problém se přitom týká všech verzí, které funkci roaming obsahují – tedy od verze 5.4 (březen 2010) až po 7.1. Chyba byla 11. ledna nahlášena vývojářům OpenSSH, kteří během tří dnů vydali patch a poté teprve byl popis chyby odhalen veřejnosti. Celkem se jedná o dvě chyby označené jako CVE-2016–0777 a CVE-2016–0778, první z nich může za samotný únik dat, druhá dovoluje buffer overflow.

Odpovídající kód pro serverovou část nebyl nikdy vydán, ale klientská část je ve výchozím stavu zapnutá a může být zákeřným serverem zneužita k vylákání paměti obsahující privátní klíče, píše se v oficiálním oznámení.

Analytici z Qualsys tvrdí, že se jim skutečně podařilo z paměti dešifrovaný privátní klíč získat. Přestože ani Qualsys ani vývojáři OpenSSH nezaznamenali konkrétní případ zneužití této chyby, není vyloučeno, že si za šest let někdo chyby už všiml. Zmíněný buffer overflow je teoreticky také zneužitelný, ale vyžaduje zapnutí dvou konfiguračních voleb, které jsou ve výchozím stavu vypnuté: ProxyCommand a ForwardAgent (-A) nebo ForwardX11 (-X). Praktická zneužitelnost této chyby je tedy malá.

Ochrana proti ukradení privátních klíčů je poměrně snadná – stačí vypnout funkci roaming. Do souboru /etc/ssh/ssh_config stačí připsat volbu:

UseRoaming no

Vývojáři také už uvolnili patch, který se postupně dostane do distribucí (Debian, Ubuntu, RHEL a další už záplatu vydaly). Protože může být exploit zneužívaný v praxi, doporučují vývojáři klientům klíče vyměnit.

Chyba připomíná dva roky starý Heartbleed bug, který kvůli chybě v OpenSSL vzdáleně vylákat ze serveru důvěrné informace včetně privátních klíčů nebo hesel uživatelů. Současná chyba v SSH je ovšem méně závažná v tom, že vyžaduje aktivní pokus o připojení klienta. Na druhou stranu je ale získání privátního klíče často fatální, neboť umožňuje plný přístup k administraci mnoha různých serverů.

Přihlašování pomocí SSH klíčů je obecně považováno za výrazně bezpečnější variantu než prosté použití hesla. Namísto zadávání (a možného hádání) hesla je použit elektronický podpis vygenerovaný pomocí privátního klíče. Server má k dispozici veřejný klíč, kterým dokáže podepsanou zprávu ověřit a tím potvrdit identitu uživatele. Díky tomuto principu je možné používat jeden pár klíčů k přihlášení na mnoho serverů. Podmínkou bezpečnosti je, aby privátní klíč nikdy uživateli neunikl.

Našli jste v článku chybu?
120na80.cz: Jak se zbavit nadměrného pocení?

Jak se zbavit nadměrného pocení?

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

Skylink o půlnoci vypnul 12 525

Vitalia.cz: Výživáři se shodnou, nejlepším pitím je lassi

Výživáři se shodnou, nejlepším pitím je lassi

Podnikatel.cz: Prodej na Alibabě? Malí hráči utřou nos

Prodej na Alibabě? Malí hráči utřou nos

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: Cvičení tabata: na hubnutí i posilování?

Cvičení tabata: na hubnutí i posilování?

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: Bio vejce nepoznají ani veterináři

Bio vejce nepoznají ani veterináři

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

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

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

Tahle praktika stála šmejdy přes milion

Root.cz: Bitcoin začal vyplácet jen půlku odměn

Bitcoin začal vyplácet jen půlku odměn

Vitalia.cz: Signál roztroušené sklerózy: brnění končetin

Signál roztroušené sklerózy: brnění končetin

Vitalia.cz: Klíšťata letos řádí, skvrna se udělá jen někomu

Klíšťata letos řádí, skvrna se udělá jen někomu

DigiZone.cz: Žhavé novinky u IPTV operátorů

Žhavé novinky u IPTV operátorů

DigiZone.cz: Nestihli jste Bonda na ČT2? Zkuste RTVS

Nestihli jste Bonda na ČT2? Zkuste RTVS

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

Selhala pokladna k EET. Kdo zaplatí pokutu?

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

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

Měšec.cz: Kurzy platebních karet: vyplatí se platit? (TEST)

Kurzy platebních karet: vyplatí se platit? (TEST)

DigiZone.cz: DAB už i z Košic. A překvapivě!

DAB už i z Košic. A překvapivě!