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í
×
    včera 22:33 | Nová verze

    Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.

    Ladislav Hagara | Komentářů: 1
    2.5. 22:22 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).

    Ladislav Hagara | Komentářů: 0
    2.5. 19:11 | IT novinky

    Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.

    Ladislav Hagara | Komentářů: 3
    2.5. 11:22 | Zajímavý projekt

    Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.

    Ladislav Hagara | Komentářů: 2
    2.5. 09:11 | Bezpečnostní upozornění

    Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.

    Ladislav Hagara | Komentářů: 2
    1.5. 20:00 | Komunita

    V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.

    Ladislav Hagara | Komentářů: 3
    1.5. 19:22 | IT novinky

    Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).

    Ladislav Hagara | Komentářů: 0
    30.4. 22:33 | Nová verze

    Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.

    Ladislav Hagara | Komentářů: 0
    30.4. 17:44 | Zajímavý článek

    Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.

    karkar | Komentářů: 0
    30.4. 12:11 | Humor

    Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).

    Ladislav Hagara | Komentářů: 7
    Jaký filesystém primárně používáte?
     (58%)
     (1%)
     (9%)
     (21%)
     (4%)
     (2%)
     (2%)
     (0%)
     (1%)
     (3%)
    Celkem 513 hlasů
     Komentářů: 19, poslední 30.4. 11:32
    Rozcestník

    Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX

    18. 2. 2014 | Luboš Doležel | Jaderné noviny | 4330×

    Aktuální verze jádra. Citáty týdne: Linus Torvalds, Tejun Heo, Ingo Molnar. Podpora Intel MPX na Linuxu.

    Obsah

    Aktuální verze jádra

    link

    Začleňovací okno 3.14 je stále otevřené, takže prozatím nejsou žádné vývojové verze.

    Stabilní aktualizace: verze 3.12.9 a 3.10.28 byly vydány 25. ledna. 29. ledna následovaly verze 3.13.1 a 3.4.78.

    Citáty týdne: Linus Torvalds, Tejun Heo, Ingo Molnar

    link

    Pokud většina oopsů, které dekódujete, je z vašeho vlastního stroje s vaším vlastním jádram, pak byste při psaní kódu měli být opatrnější. A ani to nemyslím jako srandu.

    -- Linus Torvalds

    Jelikož už nějakou dobu používám tmpfs jako cíl pro sestavování, tak toto občasně zažívám, a potají ve mně roste pocit trpkého zklamání z linuxového jádra, který se rozvíjí až v hnusení se sama sebe, a došlo to až do bodu, kdy mi bootování do win8 přišlo jako útěcha poté, co jsem se 45 minut díval na zasekávající se systém, zatímco jsem měnil oddíly na disku, abych měl místo pro steamos. Tomu se říká ironie. Nějakou chvíli jsem pak musel setrvat ve fetální poloze. Měl jsem krizi.

    -- Tejun Heo

    Možná bychom mohli vygenerovat i nejběžnější varianty jako:

    #define PERM__rw_r__r__		0644
    #define PERM__r________		0400
    #define PERM__r__r__r__		0444
    #define PERM__r_xr_xr_x		0555
    

    -- Ingo Molnar nahrazuje S_IRUG0 a spol.

    Podpora Intel MPX na Linuxu

    link

    Přetečení bufferů jsou už dlouho zdrojem závažných chyb a bezpečnostních problémů na všech úrovních softwaru. Do odstranění nebezpečných knihovních funkcí bylo za roky vloženo mnoho úsilí, stejně tak do kontroly integrity zásobníku, jenže chyby kvůli přetečení bufferu se stále pravidelně objevují. Nedávno zaslaný jaderný patch je jediním z posledních kroků k tomu, aby byl dostupný nástroj, se kterým už nebudou přetečení bufferu tak běžné: nadcházející hardwarová funkce od Intelu zvaná „MPX“.

    MPX je ve své podstatě mechanismus pro hlídání mezí [bounds checking] při přístupu k ukazatelům za asistence hardwaru. Hardware na základě instrukcí od softwaru udržuje tabulku používaných ukazatelů a rozsahu přístupné paměti (meze) každého z nich. Kdykoliv je ukazatel dereferencován, tak je možné použít speciální instrukce pro to, aby bylo jisté, že program přistupuje k paměti v rozsahu určeném pro daný ukazatel. Tyto instrukce mají být rychlé, díky čemuž bude možné provádět kontrolu mezí na produkčních systémech s minimálním dopadem na výkon.

    Jak se dá očekávat, pro podporu na straně softwaru je třeba hodně práce, jelikož hardware nemůže sám od sebe vědět, jaké jsou vhodné meze pro daný ukazatel. Prvním krokem tímto směrem je doplnění podpory do kompilátoru GCC. Podpora MPX v GCC je už pokročilá a její začlenění do trunku se bude zvažovat někdy v brzké budoucnosti.

    Kdykoliv je soubor zkompilován s novým příznakem -fmpx, GCC vygeneruje kód využívající možností MPX. To znamená sledování všech ukazatelů vznikajících v programu a souvisejících mezí; kdykoliv vznikne nový ukazatel, musí být vložen do tabulky mezí pro následné kontroly. Sledování mezí musí sledovat přetypování a aritmetiku ukazatelů; je přítomen i mechanismus pro „zužování“ [narrowing] mezí při vzniku ukazatele na objekt v jiném objektu (může jít například o pole ve struktuře). Rozhraní volání funkcí je změněno tak, že kdykoliv je funkci předáván ukazatel, jeho meze jsou předávány spolu s ním. Ukazatele vracené z funkcí mají také údaje o mezích.

    Jakmile je tato infrastruktura hotová, tak je možné program chránit proti přístupům k paměti mimo stanovené meze. Při každém dereferencování ukazatele jsou vygenerovány přislušné instrukce, aby nejprve došlo k ověření mezí. Pro podrobnosti o tom, jak se mění generování kódu, vizte dokumentaci v jaderném patchi. Ve zkratce: nové instrukce bndcl a bndcu hlídají adresu ukazatele vůči spodní a horní mezi. Pokud instrukce uspějí, pak je ukazatel v povoleném rozsahu.

    Dalším krokem je připravit libc na kontrolu mezí. Přinejmenším jde o sestavení s -fmpx, ale nejde jen o to. Jakákoliv knihovní funkce, která vytváří objekt (například malloc()), musí spolu s ukazatelem na objekt vrátit správné meze. Nakonec to bude právě libc, kdo bude zdrojem většiny informací o mezích používaných v aplikaci. Práce na glibc je už evidentně hotová a zařazená do git repozitáře glibc. Instrumentace v jiných knihovnách by také byla žádoucí, ale libc je zjevně pravým místem, kde začít.

    Pak je tu ještě otázka toho, dostat potřebný podpůrný kód do jádra; Qiaowei Ren nedávno zaslal patch, který dělá právě toto. Součástí patche je nezbytná režie okolo správy: umožnit aplikacím nastavit tabulky s mezemi, odstranit tabulky při odmapování dané paměti z procesu a tak dále. Většina práce je ale zaměřená na rozhraní pro uživatelský prostor.

    Prvním krokem je přidání dvou nových voleb pro prctl(): PR_MPX_INIT a PR_MPX_RELEASE. První z nich připraví kontrolu MPX a zapne tuto funkci, zatímco druhá zase vše uklidí. Aplikace tedy mohou explicitně řídit kontrolu mezí ukazatelů, ale to se neočekává. Namísto toho to bude nejspíše runtime systému, kdo zapne MPX při startování aplikace, dříve než dojde ke spuštění aplikace jako takové. Na mailing listu linux-kernel probíhá debata o tom, že by mohlo být možné celý proces dělat v uživatelském prostoru, takže by tato volání prctl() nebyla nutná, proto se nakonec nemusejí do jádra dostat.

    Jakmile je zjištěno překročení mezí, procesor vyvolá vyjímku v jádře (trap). Jádro ji převede na signál SIGSEGV, jenž bude doručen aplikaci, stejně jako při jiných chybných přístupech do paměti. Aplikace, které se dívají do struktury siginfo předané do obsluhy signálu, budou schopny zjistit, že se jedná o problém s mezemi tak, že porovnají hodnotu v poli si_code s novou hodnotou SEGV_BNDERR. Problémová adresa bude uložena v si_addr a užité meze budou v si_lower a si_upper. Většina progamů ale samozřejmě nebude SIGSEGV vůbec ošetřovat a v této situaci zkrátka zhavarují.

    Abychom to shrnuli: pro zpřístupnění této hardwarové funkce aplikacím je potřeba docela dost práce. Dobrou zprávou je, že tato práce je vesměs hotova. Používání MPX v jádře by také mělo být možné, ale zatím pro toto nebyly zaslány žádné patche. Přidávání kontroly mezí do jádra, aniž by došlo k rozbití kódu, by s sebou pravděpodobně neslo své vlastní komplikace; například by muselo docházet k opaku zužování při použití makra container_of() – a v jádře jsou volání container_of() tisíce. Hledání způsobů, jak instrumentovat jádro, by proto bylo zrádné; jak to udělat, aniž by v jádře vznikl jeden velký zmatek, by pak bylo ještě těžší. Ale kdyby se to někomu povedlo, přínos by byl nezvratný.

    Kdokoliv, kdo se na MPX těší, si ale ještě musí na pár věcí počkat: hardware, který tuto funkci doopravdy podporuje, a distribuce, které ji využívají. MPX je zjevně součástí architektury Intel „Skylake“, která nebude komerčně dostupná dříve než v roce 2015. Proto bude potřeba si na dostupnost na trhu počkat. Než se tak ale stane, Linux by měl být připraven této funkčnosti využít.

           

    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ář

    18.2.2014 01:31 _
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    Tohle http://thread.gmane.org/gmane.linux.kernel.mm/112554/focus=81834 mě teda neskutečně mrdalo a mrdá, určitě to vyzkoušim (ještě vedle změny plánovače z cfq na deadline).

    Dokonce když jsem aktualizoval DOGE klienta čistě v tmpfs, tak se to celý zasekávalo. Nechápu to, nechci chápat.
    18.2.2014 01:34 _
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    Typo? "Hardware na základě instrukcí od hardwaru"
    Marián Kyral avatar 18.2.2014 04:29 Marián Kyral | skóre: 29 | blog: Sem_Tam | Frýdek-Místek
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    Díky za článek. A co je zač ten kompilátor HCC? :-D
    Drom avatar 18.2.2014 18:10 Drom | skóre: 24 | Kdyne
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    Počkat, to je překlep? Já myslel, že to fakt nějakej mě neznámej překladač je... :)
    18.2.2014 08:30 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    Ad Tejun Heo: "I've been experiencing this occassionally" znamená, že občas naráží na problém popsaný v předcházejícím odstavci; zbytek věty je pak důsledek (a ano, chybí mu přísudek).
    Luboš Doležel (Doli) avatar 18.2.2014 09:50 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    Chyby opraveny. Klátí mě teď už několik dnů střevní chřipka, tak mi to nejde nejlíp :-/
    Drom avatar 18.2.2014 18:13 Drom | skóre: 24 | Kdyne
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    A človek by řekl, že to půjde ven samo jak divý... Každopádně díky za další díl i za ztížených podmínek :)
    Bedňa avatar 20.2.2014 11:01 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    To chce slivku s čajom. Pozri ešte na toto "je z vašeho vlastního stroje s vaším vlastním jádram"
    KERNEL ULTRAS video channel >>>
    22.2.2014 06:38 autobus 380
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    To chce žrat a žrat... Dokud se to nezarazí! To je vyzkoušený!
    18.2.2014 08:38 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    Mimochodem, druhá část přehledu 3.14 merge window se někam ztratila nebo bude příště?
    Luboš Doležel (Doli) avatar 18.2.2014 20:51 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    Bude příště.
    18.2.2014 14:49 deda.jabko | skóre: 23 | blog: blog co se jmenuje "každý den jinak" | za new york city dvakrát doleva a pak už se doptáte
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    S tim MPX pujdou jeste delat zajimave veci, skoda, ze jako obrana proti buffer overflow to prichazi s krizkem po funuse. ASLR a nespustitelny zasobnik dnes tuto funkci zvladaji docela slusne...
    Asi před rokem se dostali hackeři na servry Debianu a ukradli jim zdrojové kódy.
    18.2.2014 16:46 aa
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX

    Ja som si hned spomenul na segmentaciu. Nie je to v podstate ona s tym, ze kazda premenna je novy segment?

    19.2.2014 14:17 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    S tim MPX pujdou jeste delat zajimave veci
    +1, mohly by toho využívat překladače / VM / interpretery vyšších jazyků, kde se bounds checking provádí vždy. Nedělá tohle třeba python? JS? Případně další.
    19.2.2014 15:50 Lukáš Chmela
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    Dovedl bych si sice pro MPX představit i nějaké užitečné aplikace, ale nebylo by zrovna v kontextu GCC a předem kompilovaného kódu lepší věnovat úsilí nějakým rozumným algoritmům na statickou analýzu?
    20.2.2014 10:34 Petr Ježek | skóre: 10
    Rozbalit Rozbalit vše Re: Jaderné noviny – 30. 1. 2014: Méně bezpečnostních chyb s Intel MPX
    Bylo by, jen kdyby to byl všeobecný sladěný zájem. Trochu mám obavu, že o univerzální optimum vývoje takový zájem není. Mimochodem, jakou algoritmizovanou statickou analýzu máte na mysli? On je problém takové algoritmy nakódovat?
    Archlinux for your comps, faster running guaranted!

    Založit nové vláknoNahoru

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