abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:44 | Nová verze

    Bitwig Studio (Wikipedie) bylo vydáno ve verzi 6. Jedná se o proprietární multiplatformní (macOS, Windows, Linux) digitální pracovní stanici pro práci s audiem (DAW).

    Ladislav Hagara | Komentářů: 0
    dnes 02:11 | Komunita

    Společnost Igalia představila novou linuxovou distribuci (framework) s názvem Moonforge. Jedná se o distribuci určenou pro vestavěné systémy. Vychází z projektů Yocto a OpenEmbedded.

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Google Chrome 146 byl prohlášen za stabilní. Nejnovější stabilní verze 146.0.7680.71 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 29 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    dnes 00:22 | Nová verze

    D7VK byl vydán ve verzi 1.5. Jedná se o fork DXVK implementující překlad volání Direct3D 3 (novinka), 5, 6 a 7 na Vulkan. DXVK zvládá Direct3D 8, 9, 10 a 11.

    Ladislav Hagara | Komentářů: 0
    včera 23:22 | Nová verze

    Bylo vydáno Eclipse IDE 2026-03 aneb Eclipse 4.39. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.

    Ladislav Hagara | Komentářů: 1
    včera 10:22 | Upozornění

    Ze systému Slavia pojišťovny uniklo přibližně 150 gigabajtů citlivých dat. Jedná se například o pojistné dokumenty, lékařské záznamy nebo přímou komunikaci s klienty. Za únik může chyba dodavatelské společnosti.

    Ladislav Hagara | Komentářů: 8
    včera 10:11 | IT novinky

    Sněmovna propustila do dalšího kola projednávání vládní návrh zákona o digitální ekonomice, který má přinést bezpečnější on-line prostředí. Reaguje na evropské nařízení DSA o digitálních službách a upravuje třeba pravidla pro on-line tržiště nebo sociální sítě a má i víc chránit děti.

    Ladislav Hagara | Komentářů: 25
    včera 09:33 | IT novinky

    Meta převezme sociální síť pro umělou inteligenci (AI) Moltbook. Tvůrci Moltbooku – Matt Schlicht a Ben Parr – se díky dohodě stanou součástí Meta Superintelligence Labs (MSL). Meta MSL založila s cílem sjednotit své aktivity na poli AI a vyvinout takovou umělou inteligenci, která překoná lidské schopnosti v mnoha oblastech. Fungovat by měla ne jako centralizovaný nástroj, ale jako osobní asistent pro každého uživatele.

    Ladislav Hagara | Komentářů: 0
    včera 00:22 | Nová verze

    Byla vydána betaverze Fedora Linuxu 44 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 14. dubna.

    Ladislav Hagara | Komentářů: 1
    10.3. 12:11 | IT novinky

    Open source router Turris Omnia NG Wired je v prodeji. Jedná se o Turris Omnia NG bez Wi-Fi. Je připraven pro zamontování do racku.

    Ladislav Hagara | Komentářů: 6
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (6%)
     (0%)
     (11%)
     (29%)
     (2%)
     (5%)
     (2%)
     (13%)
     (25%)
    Celkem 1054 hlasů
     Komentářů: 26, poslední dnes 08:56
    Rozcestník

    Jaderné noviny – 27. 7. 2017: Rychlejší ochrana před přetečením čítače referencí

    7. 9. 2017 | Redakce | Jaderné noviny | 2530×

    Stav vydání jádra. Rychlejší ochrana před přetečením čítače referencí.

    Stav vydání jádra

    Současné vývojové jádro je 4.13-rc2, vydané 23. července. „Změny jsou všude, i když přehledu změn vládne nový staging ovladač vboxvideo. Neměl jsem ho nechat projít, ale Greg, jak všichni víme, je ‚zvláštní.' A quod licet Iovi… a tak dále – Gregovi občas projde porušení pravidel.“

    Stabilní aktualizace: 4.12.3, 4.11.12, 4.9.39, 4.4.78 a 3.18.62 byly vydány 21. července. Za zmínku stojí, že verze 4.11.12 je poslední v řadě 4.11.x.

    (Velké) stabilní aktualizace 4.12.4, 4.9.40, 4.4.79 a stabilní 3.18.63 byly v době psaní toho článku v procesu revidování, vyšly 27. července.

    Rychlejší ochrana před přetečením čítače referencí

    Zlepšení zabezpečení systému často zahrnuje kompromisy, které se dotýkají mj. pohodlí a výkonu. Vývojáři, kteří se zaměřují na bezpečnost, ke svému zděšení často zjišťují, že tolerance k těmto kompromisům je poměrně nízká. Ochrana před přetečením čítače referencí narazila na takovouto bariéru, což výrazně zpomalilo její přijetí. Nyní se však zdá, že se povedlo najít řešení vyšší režie v oblasti výkonu, která byla způsobena tvrzením čítače referencí, a tak se otevřela cesta k jeho přijetí napříč jádrem.

    Přetečení čítače referencí se obvykle objevuje jako důsledek programátorských chyb. Kód, který inkrementuje čítač referencí na daný objekt, může zanedbávat dekrementaci čítače například při ošetřování některých chybových stavů. Takové chyby mohou útočníkovi umožnit čítač opakovaně inkrementovat, dokud nedojde k jeho přetečení, načež může být daný objekt považován za nevyužitý a uvolněný, přestože je ve skutečnosti stále používán. Výsledná zranitelnost používání po uvolnění (use-after-free) se dá často využít k úplné kompromitaci systému.

    Cesta k ochraně jádra před přetečením čítače referencí byla dlouhá. Začalo to kódem ze sady patchů PaX/grsecurity, ale počáteční přístup, který spočíval v přidání ochrany jaderného typu atomic_t, narazil na odpor a musel být změněn. Dalším krokem bylo uvedení nového typu refcount_t speciálně pro čítače referencí a jejich ochranu. Tento typ byl začleněn ve vývojovém cyklu 4.11 a různé jaderné subsystémy ho začaly používat, ale refcount_t rozčílil síťové vývojáře, kteří se nebyli ochotni smířit s jeho dopadem na výkon.

    Právě síťová vrstva je místem, kde podobné patche často narazí na problém, ale tentokrát tato část jádra nebyla jediná. Například Andrew Morton si nedávno stěžoval na přechod na refcount_t v subsystému IPC (interprocess communication). Podle něj nemá smysl zpomalovat „jednoduchý, bezpečný, starý a dobře otestovaný kód.“ Vypadalo to, že i kdyby se napříč jádrem přidala ochrana proti přetečení čítače referencí, byla by zakázána distributory obávajícími se snížení výkonu.

    Jednou ze základních pravd v oblasti vývoje bezpečného systému je ta, že zakázaná (nebo nikdy neimplementovaná) ochranná opatření jsou pozoruhodně neúčinná při zastavování útočníků. Další zní, že „bezpečný, starý, dobře testovaný“ kód, může být pouze starý, jak podotkl Ingo Molnár:

    Jedná se o starý kód dobře otestovaný pro _stávající rozumné parametry_, dokud v něm někdo neobjeví deset let starou chybu s šílenými parametry, na kterou zatím nikdo nenarazil, a postaví na ní svůj exploit.

    Opravdová ochrana jádra před přetečením čítače referencí vyžaduje, aby kontroly byly co nejuniverzálnější. To zase vyžaduje přesvědčit vývojáře, aby přijali vyšší režii spojenou s kontrolami, nebo přijít na to, jak režii snížit na přijatelnou úroveň. Druhá varianta je téměř jistě cestou nejmenšího odporu – pokud se řešení s menší režií podaří najít.

    Zdá se, že Kees Cook se svou sadou patchů pro rychlou ochranu proti přetečení čítače referencí takové řešení opravdu našel. Pracuje tak, že přidává jedinou instrukci ke stávající (silně optimalizované) implementaci atomic_t, která ošetřuje případ, kdy čítač referencí dosáhne záporných hodnot (což se při přetečení stane). Instrukci je zvláště snadné předvídat logikou procesoru, takže výkon je dobrý, jak dokazují výsledky mikrobenchmarku, které byly zveřejněny spolu se sadou patchů. Se standardní implementací atomic_t proběhl test v 82 249 mld. cyklů, zatímco nový kód refcount_t zabral 82 211 mld. cyklů – jinými slovy úplně stejně v rámci statistické odchylky. Pro srovnání, starší implementace refcount_t vyžaduje 144,8 mld. cyklů k proběhnutí testu.

    Doplnění: k autorství popsané jediné instrukce se přihlásil Pax Team. Jinak je sada patchů Keesova.

    Současná sada patchů je určena pouze pro architekturu x86. Vzhledem k tomu, že je potřeba práce v jazyce symbolických adres, každá další architektura bude přidána samostatně, až se k tomu někdo dostane. Vypadá to, že nejsou žádné velké překážky, které by bránily aplikování této techniky na dalších významných architekturách.

    Tahle změna nebude ve srovnání s úplnou implementací refcount_t zadarmo: již nerozeznává případ „inkrementace od nuly.“ Pokud čítač referencí objektu klesne na nulu, je tento objekt normálně uvolněn. Následná operace inkrementace naznačuje, že reference stále existovala a uvolněný objekt by mohl být stále používán. Tohle by samozřejmě bylo dobré podchytit, ale nikdo nepřišel na způsob, jak to udělat jinak než za cenu režie navíc nad rámec operací inkrementace. Cook ve své sadě patchů tvrdil, že případ přetečení, který nový refcount_t opravdu řeší, je ten nejčastější, přičemž citoval dva příklady útoků zveřejněné v roce 2016 (CVE-2014-2851 a CVE-2016-0728), které by byly zablokovány, kdyby kontrola byla bývala implementovaná už tehdy.

    Někteří vývojáři z typu refcount_t pořád nejsou nadšení, viz například tuto stížnost Erica Biedermana (a Cookovu odpověď). Zbývající neshody se zdály být založeny na páru argumentů: (1) refcount_t neopravuje všechny problémy související s čítači referencí a (2) jeho použití implikuje očekávání chyby, což někteří vývojáři nesou s nelibostí, jelikož je to ve sporu s jejich hrdostí. Ale vzhledem k tomu, že se problém s výkonem zdá být vyřešen, by tyto stížnosti neměly bránit implementaci tvrzení čítače referencí ve většině jádra. To může být jen dobrá zpráva pro všechny, kdo mají starost o bezpečnost.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.