Portál AbcLinuxu, 5. května 2025 19:23
Aktuální verze jádra. Citáty týdne: robot, Paul McKenney. Začleňovací okno 3.12, část druhá. Na téma řešení bezpečnostních problémů v jádře.
Začleňovací okno verze 3.12 je stále otevřené, takže aktuálně není žádné vývojové jádro.
Stabilní aktualizace: verze 3.10.11, 3.4.61 a 3.0.95 všechny vyšly 7. září; verze 3.2.51 vyšla 11. září.
Zbavování se spinlocků znamená více jader; stropem se bohužel zdají být čtyři jádra. Uživatelé musejí rozdělovat svůj čas mezi čtení historie a přispívání do současnosti: jistý objem persistentních dat je nezbytností na každém stroji uživatele. Zdá se, že pixely míří špatným směrem: to je to, co nás znervózňuje.
-- Vypadá to, že na linux-kernel někdo vypustil robota.
Tak schválně, jestli si vybavím všechny kandidáty...
rcu_je_cpu_nečinné() # opačný význam než ostatní rcu_je_ignorováno() # opačný význam než ostatní rcu_je_neaktivní() # opačný význam než ostatní rcu_sleduje_cpu() rcu_kontrola_čtení() rcu_je_aktivní() rcu_je_aktivní_lokálně() rcu_je_online() rcu_sleduje_úlohu() rcu_sleduje_vlákno() rcu_sleduje_vás() all_your_base_are_belong_to_rcu() rcu_je_aktivní_magor() rcu_byl_jsem_tu_kilroy()
Možná bych je měl přes noc všechny zamknout v nějaké místnosti a ráno by se uvidělo, kdo přežil.
-- Paul McKenney má problém s pojmenováním.
V době psaní tohoto textu bylo do hlavní řady pro vývojový cyklus 3.12 přetaženo téměř 8500 neslučovacích sad změn; téměř 5000 od minulého přehledu. Proces se při selhání Linusova hlavního disku poněkud zpomalil, ale ani selhání hardwaru nemůže vývoj jádra na dlouho zastavit.
V tomto vývojovém cyklu se nadále nachází mnoho velkých interních vylepšení a docela málo vzrušujících novinek. Mezi změny viditelné uživatelům patří:
Mezi změny viditelné vývojářům jádra patří:
Vypadá to, že k zavření začleňovacího okna dojde 15. září nebo snad o den později, aby se mohl Linus zase rozjet po svém návratu z víkendového potápění.
Hlášení a řešení bezpečnostních problémů je zrádná oblast. Vyvažuje se tu řada protichůdných zájmů a obecná snaha udržovat věci v tajnosti, která může věci ještě více komplikovat. Proto není překvapivé, že jaderní vývojáři debatovali o řešení bezpečnosti na mailing listu Jaderného sumitu (ksummit-2013-discuss). Je pravděpodobné, že debata bude pokračovat na sumitu jako takovém, který se bude konat v Edinburgu od 23. do 25. října.
Diskuzi zahájil James Bottomley upozorněním na to, že několik posledních oprav se dostalo do jádra bez dodržování řádného postupu, jelikož šlo o „bezpečnostní opravy“. Vzhledem k tomu, že některé z nich způsobily rozličné problémy, má obavy z obcházení procesů jen kvůli tomu, že se v patchi řeší bezpečnostní problém:
V obou případech jsme tu měli commity s tajuplným popisem, bez řádného vysvětlení a prakticky žádným revidováním, a to vše ve jménu bezpečnosti.
Naše základní procesy pro přijímání kódu vyžadují průhlednost, revidování a testování. Tajnůstkářství při přijímání kódu tedy zásadně tato pravidla porušuje a je rizikem, které vede k problémům právě takovým, jaké jsme v obou případech viděli.
Bottomley by rád věděl, jestli se musejí bezpečnostní problémy vůbec řešit potají. Protože si myslí, že toto není oblíbená věc, přemýšlení na téma, jak můžeme do proces určinit transparentnějším, by mohlo být rozumnou alternativou. Součástí jeho teorie je to, že lidé od bezpečnosti, kteří mají tajnůstkářství rádi, mají proces řešení zranitelností na starosti.
Například uzavřený mailing list pro bezpečnost v jádře (security@kernel.org) se buď skládá z „bezpečnostních funkcionářů“ (podle Documentation/SecurityBugs) nebo 'obyčejných' vývojářů jádra (podle Grega Kroah-Hartmana). Kroah-Hartman říká, že lidé na tomto mailing listu nemají žádný zájem na tajnůstkářství, i když souhlasil, že zveřejnění seznamu účastníků tohoto mailingu listu – ke kterému ještě nedošlo – by transparentnosti pomohlo. Vztah mezi bezpečnostním mailing listem a mailing listem linux-distros (uzavřený mailing list pro bezpečnostní obavy v distribucích – nástupce vendor-sec) je také trochu pochybný a hodilo by se ho veřejnosti objasnit, jak Bottomley řekl.
Velkou roli v celém problému hraje to, že je tu několik odlišných stran, které se tu snažíme uspokojit, a to včetně distribucí (některé z nich – jako ty enterprise – mohou mít dodatečné potřeby nebo požadavky), uživatelů (většina z nich dostává jádro od distributora nebo výrobce zařízení), bezpečnostních výzkumníků (kteří ze svých komářích nálezů někdy rádi dělají velbloudy) a tak dále. I když nás může lákat zavržení bezpečnostních výzkumníků jakožto pachatelů toho, čemu Linus Torvalds říká „bezpečnostní cirkus“, je důležité je zahrnout. Oni jsou těmi, kdo často zranitelnosti najdou; pokud je člověk naštve, tak to může často znamenat, že pak nebudou hlásit, co našli.
Tajnůstkářství při řešení zranitelností může být pro enterprise distribuce důležité i z jiných důvodů, jak Stephen Hemminger popisoval. Bezpečnostní zranitelnost a rychlost reakce jsou na těchto trzích často používány jako „obchodní“ nástroj, takže toto může vést k tlaku na větší utajení:
Připadá mi, že při utajování jde spíš o snahu vyhnout se senzačním zprávám od novinářů, které by konkurentům mohly posílit jejich FUD. U enterprise produktů tento typ FUDu může ovlivnit rozhodování při nákupu nebo dokonce finanční trhy.
Torvaldsův zvyk tajit bezpečnostní aspekty oprav v patchích zde také hraje roli. Snaží se zranitelnosti zamaskovat tak, aby je „black hati“ nemohli z logů commitů jen tak grepovat, ale jak James Morris podotkl, není to moc účinné: Tajuplné / ukryté opravy těm špatným jen nahrávají. Commity sledují a provádějí na nich bezpečnostní analýzu.
Je nepravděpodobné (i když ne úplně vyloučené), že Torvalds změní svůj pohled na věc, proto se objevovaly různé návrhy, jak shromažďovat bezpečnostní informace spojené s commity, které dané chyby opravily. Je jasné, že některé informace o bezpečnostních dopadech se dostanou ven jen po commitu – někdy až dlouho po něm – takže je nutné tyto informace schraňovat odděleně tak jako tak.
Kees Cook popsal informace, které by bylo možné shromažďovat, zatímco Andy Lutomirski na to navázal návrhem vytvářet oddělené soubory CVE uložené ve stromě jádra. Tento nápad si získal své příznivce; jiní přišli s návrhem spolupracovat s Debianem nebo účastníky mailing listu linux-distros. V odděleném vlákně pak Lutomirsi vytvořil šablonu jako návrh, jak by informace byly ukládány. Cook přitakával a navrhl, že tyto soubory by mohly být uloženy v Documentation/CVEs nebo tak nějak. Je jasné, že tu je zájem, aby bylo k dispozici více podrobností o zranitelnostech.
Někteří začali s otevřeností na vlastní pěst. Lutomirski nedávno zveřejnil opravu, která byla od začátku jasně označená jako bezpečnostní oprava. Cook udělal to samé u celé řady zranitelností v kódu pro HID. Zneužívání chyb v HID vyžaduje fyzický přístup a specializovaná zařízení, ale i to může pro některé uživatele představovat riziko. Toto nejsou první taková hlášení; i jiní to tak občas dělali. Pravdou je, že některé subsystémy (zejména síťová vrstva) vlastně nikdy nepoužívaly uzavřený mailing list a na bezpečnostních problémech a opravách raději pracují veřejně.
Čerstvějším příkladem pak budiž hlášení od Wannese Romboutse, který popsal bezpečnostní díru v síťovém kódu (používání paměti po uvolnění), který byl na mailing list netdev odkázán lidmi ze security@kernel.org. Dopady této chyby nebyly zcela jasné (ani Romboutsovi nebo Hemmingerovi, kteří odpověděli), ale Ben Hutchings viděl, že uživatelské jmenné prostory by mohly tento problém zhoršit. I když to má souvislost se sítí – proto asi to odkázání na netdev – toto je právě ten typ zranitelnosti, kterou bylo možné řešit za zavřenými dveřmi. Ale díky tomu, že podrobnosti byly zveřejněny, se podařilo odhalit všechny možné důsledky. Navíc ve všech případech pak ti, kterých se chyba dotýká, mají možnost se o problémech dozvědět a buď svá jádra opatchovat nebo jinak problém vyřešit. A to je další výhoda otevřenosti.
Tak se hosanku laskave nauc cis ... pokud je nekdo negramotnej, nemel by lizt na net.Distributoři s podporou většinou backportují pouze opravu chyby, takže je menší šance, že se podělá něco naprosto nesouvisejícího (na rozdíl od upgrade).
Narozdil od tvy domaci masiny, ktera kdyz mesic nepojede, tak maximalne dostanes par facek od rodicuOTOH, jsou stroje, kde je mnohem lepší, když nepoběží, než když je někdo zpwnuje přes děravý kernel.
produkcni stroj stoji kazda minuta vypadku penize ... a to rozhodne ne maly penize. Bavime se o tisicich, ale klidne i milionech eurHledal bych chybu v tom, že máš stroj, jehož výpadek bude stát tisíce a miliony eur za minutu. Normální člověk si kvůli takovým věcem postaví HA cluster.
Normální člověk si kvůli takovým věcem postaví HA cluster.Normální člověk možná, ale tady mluvíš se superdrsňákem, co oslovuje ostatní "hošánku", má superdůležitý stroje a absolutní pravdu o tom, kdo je to "normální" správce. (Přičemž podle všeho neumí během měsíce nabootovat starý jádro, když se ukáže, že update něco rozbil.)
A to nemluvim o tom, ze zcela zjevne vubec netusite (ani ujeden z vas) jak se provozuji produkcni stroje ...Jasně, drsňáku...
Například propírané chyby v HIDCool. Další důvod při zamykání obrazovky ještě unloadovat modul na USB.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.