Portál AbcLinuxu, 2. listopadu 2025 14:40
V Linuxu byla nalezena bezpečnostní chyba CVE-2016-0728 zneužitelná k lokální eskalaci práv. Chyba se dostala do linuxového jádra v roce 2012. Zranitelná jsou jádra od verze 3.8 [reddit].
Tiskni
Sdílej:
key_type se od verze do 3.8 do současnosti změnila nejméně dvakrát.
No a jinak by někdo musel prokázat úmysl. Jinak by do kernelu a opensource obecně asi nikdo dobrovolně nepřispíval, pokud by mu za náhodnou chybu hrozil nějaký trest. Navíc by jakýkoli patch měl procházet minimálně přes code review.
mike@unicorn:~/work/git/kernel-upstream> git log --author dhowells --no-merges --oneline -- security/keys | wc -l 164 mike@unicorn:~/work/git/kernel-upstream> git log --no-merges --oneline -- security/keys | wc -l 313
Vy jste nikdy neudělal chybu? Na úsloví "kdo nic nedělá, nic nezkazí" je hodně pravdy.
Vy jste nikdy neudělal chybu? Na úsloví "kdo nic nedělá, nic nezkazí" je hodně pravdy.To je pravda. Na druhou stranu když někdo udělá chybu v jiných odvětvích, tak z toho jsou zpravidla vyvozeny důsledky - svolávací akce u aut, vyšetřování a - v případě závažných důsledků - obvinění atd. U software se většina chyb odmávne s tím, že to nebylo úmyslné (i kdyby bylo, tak to nedokážete) a že by to možná chtělo lepší revize.
Rozdíl mezi svolávací akcí u aut a vydáním updatu u software vidím jen v tom, že
Pro řízení chyb máš vždy nějakou základní chybovost (která v software je dána v podstatě práce)Ještě můžeš zkusit všechno formálně verifikovat. Ale s tím hodně štěstí, jestli se ti vývoj zpomalí jenom tisíckrát, tak to bude super výsledek. Pro bezpečnostní chyby by ti teoreticky mohlo stačí verifikovat hypervizor/nejdůležitější kód mikrokernelu jako to dělá SeL4.
Jenom bych ze zkušenosti podotkl, že často je lepší změnit strukturu programu, aby produkovala mnohem jednodušší důkaz, ale zavádí to zbytečné instrukce a neefektivitu programu samotného. Jsou místa, kde se na tento aspekt dá kašlat - například u řízené střely bude prioritou spíš 100% správná funkčnost, než to, že interní procesor by teoreticky po vystřelení mohl být o 30% déle v "idle" stavu, čekat na vstupy a uspořit enerigii, ale Linuxové jádro je trochu trochu něco jiného.
Každopádně formální důkaz správnosti algoritmu - co já vím - pro výpočet faktriálu je práce na pár hodin, takže zásadně déle, než to trvá intuitivně napsat. Navíc v důkazu samotném mohou být chyby, resp. potenciální útočník může předložit důkaz, který je na první pohled korektní a teprve podrobnější analýza odhalí, že to vlastně není OK, takže jsme vlastně tam, kde jsme začali...
Každopádně formální důkaz správnosti algoritmu - co já vím - pro výpočet faktriálu je práce na pár hodin, takže zásadně déle, než to trvá intuitivně napsat.Dost záleží na tom, v jakém jazyce ten program a ten důkaz píšete a také, co přesně dokazujete. Například vše můžete relativně snadno napsat v Coqu a pak vyextrahovat program v OCamlu. Nevýhodou ovšem je, že kompilátor OCamlu není formálně ověřený.
Navíc v důkazu samotném mohou být chyby, resp. potenciální útočník může předložit důkaz, který je na první pohled korektní a teprve podrobnější analýza odhalíTohle nechápu – čekal bych, že ověřit důkaz je trivialita (oproti vytvoření specifikace).
V nějakém úsilí dostaneš chybovost 99,99% a dostat se na 99,9999% dá třeba 20x větší úsilí. V linuxu na to nejsou prostředky, aby se současný poměr významně vylepšil.Ale jo, to chápu. Akorát mě zaráží, že u systému, který běží na velkém podílu serverů i smartphonů, jsou velcí hráči se současným poměrem spokojení. S podobnými chybami jde napáchat hromada škod a vsadil bych se, že se to ještě nestalo jenom proto, že ještě nikdo nechtěl. Vypůjčím si s prezentace o tom, jak hackovali Teslu S - já bych radši, kdyby nikdo nemohl. Samozřejmě nemluvím jenom o Linuxu, ale o software s velkým rozšířením obecně. A moc bych za to nedal, že u služeb to bude podobné - co se občas člověk dozví, co nabízí velké firmy, co za to chtějí a jak to ve skutečnosti funguje (a někdy stačí jenom to poslední), to je dohromady k neuvěření, že celé tohle odvětví vůbec nějak funguje. (Konec depresivního zamyšlení nad stavem věcí
)
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY
#facepalm
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.