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 22:00 | Nasazení Linuxu
Stabilní aktualizace Chrome OS 69 (resp. Chromium OS), konkrétně 69.0.3497.95, přináší mj. podporu linuxových aplikací. Implementována je pomocí virtualizace, a proto je tato funkce také omezena na zařízení s dostatkem paměti a podporou hardwarové akcelerace, tudíž nejsou podporovány chromebooky s 32bitovými architekturami ARM, či Intel Bay Trail (tzn. bez Intel VT-x).
Fluttershy, yay! | Komentářů: 0
dnes 21:32 | Zajímavý projekt
Došlo k uvolnění linuxové distribuce CLIP OS, vyvíjené francouzským úřadem pro kybernetickou bezpečnost ANSSI, jako open source. Vznikla za účelem nasazení v úřadech, kde je potřeba omezit přístup k důvěrným datům. Je založená na Gentoo.
Fluttershy, yay! | Komentářů: 0
dnes 16:00 | Komerce

Zjistěte více o bezpečné a flexibilní architektuře v cloudu! IBM Cloud poskytuje bezpečné úložiště pro Vaše obchodní data s možností škálovatelnosti a flexibilitou ukládání dat. Zároveň nabízí prostředky pro jejich analýzu, vizualizaci, reporting a podporu rozhodování.

… více »
Fluttershy, yay! | Komentářů: 11
dnes 12:22 | Nová verze

V dubnu letošního roku Mozilla představila webový prohlížeč pro rozšířenou a virtuální realitu Firefox Reality (GitHub). V úterý oznámila vydání verze 1.0. Ukázka na YouTube. Firefox Reality je k dispozici pro Viveport, Oculus a Daydream.

Ladislav Hagara | Komentářů: 2
dnes 12:00 | Komunita

V srpnu loňského roku společnost Oracle oznámila, že Java EE (Enterprise Edition) bude uvolněna jako open source. O měsíc později bylo rozhodnuto, že tato open source Java EE bude přejmenována a předána Eclipse Foundation. Nové jméno bylo oznámeno v únoru letošního roku. Z Java EE se stala Jakarta EE. Eclipse Foundation včera oznámila dosažení dalšího milníku. Zdrojové kódy aplikačního serveru GlassFish jsou již k dispozici v git repozitářích Eclipse Foundation (GitHub).

Ladislav Hagara | Komentářů: 0
včera 23:55 | Komunita

LTS (Long Term Support) podpora Ubuntu 12.04 LTS (Precise Pangolin) skončila po 5 letech od jeho vydání, tj. v dubnu 2017. V březnu 2017 ale Canonical představil placenou ESM (Extended Security Maintenance) podporu, díky které je Ubuntu 12.04 podporováno do dubna 2020. Dnes Canonical potvrdil ESM podporu také pro Ubuntu 14.04 LTS (Trusty Tahr), jehož LTS podpora skončí v dubnu 2019.

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

Byla vydána verze 3.0.0 frameworku pro vývoj multiplatformních desktopových aplikací pomocí HTML, CSS a JavaScriptu Electron (YouTube, GitHub). Electron byl původně vyvíjen pro editor Atom pod názvem Atom Shell. Dnes je na Electronu postavena celá řada dalších aplikací.

Ladislav Hagara | Komentářů: 0
včera 14:44 | Nová verze

Po půl roce vývoje od vydání verze 6.0.0 byla vydána verze 7.0.0 překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, clang-tools-extra a LLD.

Ladislav Hagara | Komentářů: 0
včera 13:44 | Nová verze

Byla vydána verze 3.0.0 knihovny pro vykreslování grafů v programovacím jazyce Python Matplotlib (Wikipedie, GitHub). Přehled novinek a galerie grafů na stránkách projektu. Zrušena byla podpora Pythonu 2.

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

V Norimberku probíhá do pátku ownCloud conference 2018, tj. konference vývojářů a uživatelů open source systému ownCloud (Wikipedie) umožňujícího provoz vlastního cloudového úložiště. Přednášky lze sledovat online. Videozáznamy jsou k dispozici na YouTube. Při této příležitosti byl vydán ownCloud Server 10.0.10. Z novinek lze zdůraznit podporu PHP 7.2. Vydán byl také ownCloud Desktop Client 2.5.0. Vyzkoušet lze online demo ownCloudu.

Ladislav Hagara | Komentářů: 1
Na optické médium (CD, DVD, BD aj.) jsem naposledy vypaloval(a) data před méně než
 (13%)
 (15%)
 (20%)
 (23%)
 (25%)
 (4%)
 (1%)
Celkem 376 hlasů
 Komentářů: 33, poslední 16.9. 11:55
Rozcestník

Jaderné noviny – 8. 6. 2017: Čekání na entropii

6. 7. 2017 | Redakce | Jaderné noviny | 3893×

Stav vydání jádra. Linux 4.1.40 je zranitelný CVE-2017-6074. Čekání na entropii.

Stav vydání jádra

Současné vývojové jádro je 4.12-rc4, vydané 4. června. Linus Torvalds je obvykle spokojen s tím, jak se věci mají: „Vše v cyklu 4.12 zůstává v klidu, i když ne až tak v klidu, jak to vypadalo začátkem týdne. Myslím, že dvě třetiny commitů přišly v pátek nebo o víkendu. Ale až na to načasování to vypadá vcelku normálně.“

Stabilní jádra: 4.11.4, 4.9.31, 4.4.71 a 3.18.56 vyšla 7. června.

Linux 4.1.40 je zranitelný CVE-2017-6074

Mark H. Weaver nám poslal upozornění, že stabilní vydání jádra s dlouhodobou podporou 4.1.40 je zranitelné CVE-2017-6074, což je lokální eskalace privilegií, která byla nahlášena už v únoru a v Linuxu se vyskytuje již přes deset let. Aktualizovaná verze od správce Sashi Levina byla očekávána brzy (vyšla 15. června).

Čekání na entropii

Mnoho bajtů bylo v průběhu let vynaloženo na diskuze o kvalitách jaderného subsystému pro generování náhodných čísel. Jedna z nejčastěji se opakujících obav se týká systémů, které nemohou během procesu zavádění získat dostatečnou entropii, aby uspokojily požadavky na náhodnost dat. Nejnovější diskuze na toto téma začala poněkud ostře, ale může vést k postupnému zlepšení této oblasti.

Jason Donenfeld začal vlákno stížností, že /dev/urandom při čtení z uživatelského prostoru vrátí data i v případě, kdy vnitřní jaderný zásobník entropie (entropy pool) nebyl ještě patřičně zaplněn. V takovém případě je teoreticky možné, že útočník bude předpovídat ony ne-až-tak-náhodné údaje, které budou vráceny. Donenfeld tvrdil, že /dev/urandom by mělo prostě blokovat, dokud není zásobník entropie připraven, a odmítl zdůvodnění stávajícího chování: „Ano, ano, máte argumenty, proč to udržujete v patologickém stavu, ale stále se pletete a toto API je stále chyba.“

Chyba, nebo ne, jak upozornil Ted Ts'o, blokování /dev/random způsobuje, že distribuce jako Ubuntu nebo OpenWrt nenaběhnou. Tento druh chování se obvykle nazývá „regresí“ a regrese tohoto typu obvykle nejsou přípustné. Takže /dev/urandom si ponechá své současné chování. Ale tohle není myšlenka, kterou se Donenfeld původně snažil sdělit. Skutečný problém je, jak se ukázalo, získávání náhodných dat z jádra místo z uživatelského prostoru. To se dá udělat voláním:

void get_random_bytes(void *buf, int nbytes);

Tato funkce umístí nbytes bajtů náhodných dat do vyrovnávací paměti označené buf a stane se tak bez ohledu na to, zda je zásobník entropie zcela připraven. Takže opět je možné získat data, která nejsou opravdu náhodná. Vzhledem k tomu, že tato funkce je volána zevnitř jádra, mohou se tato volání uskutečnit brzy v procesu zavádění systému, takže riziko, že se setkáte s nedostatečnou entropií, je poměrně vysoké.

Tento problém samozřejmě není v komunitě jaderných vývojářů nový. V roce 2015 navrhl Stephan Mueller doplnění verze get_random_bytes(), která by blokovala, dokud nebude zásobník entropie připraven, bude-li to nutné. Tento nápad se ale dostal do problémů, když Herbert Xu poukázal, že to může vést k uváznutí (deadlock) – tedy typu náhodných událostí, které nebývají žádoucí. Místo toho tedy vzniklo rozhraní pro zpětné volání. Jaderný kód, který se chce ujistit, že dostává dobrá náhodná data, začíná vytvořením funkce zpětného volání a umístěním ukazatele na tuto funkci do struktury random_ready_callback:

struct random_ready_callback {
    struct list_head list;
    void (*func)(struct random_ready_callback *rdy);
    struct module *owner;
};

Tato struktura je poté předána funkci add_random_ready_callback():

int add_random_ready_callback(struct random_ready_callback *rdy);

Když je subsystém náhodných čísel připraven, zavolá se předaná funkce zpětného volání. Přidáním další struktury (pravděpodobně pomocí dokončení), může volající kód vytvořit něco, co vypadá jako synchronní funkce pro získání náhodných dat.

Jak upozornil Donenfeld, toto rozhraní patří mezi těžkopádnější, s čímž může souviset skutečnost, že se v jádře volá jen na jednom místě. Navrhl, že by bylo smysluplné přidat synchronní rozhraní, které by se dalo použít aspoň v některých situacích, což by umožnilo opravit některá místa v jádře, u kterých hrozí použití nenáhodných dat. Ts'o souhlasil, že tento přístup by mohl dávat smysl:

Nebo možná pak pomůžeme zjistit, jaké procento zdrojů volání se dá opravit synchronním rozhraním, a opravit některé z nich prostě proto, abychom ukázali, že synchronní rozhraní opravdu funguje dobře.

Výsledkem byla řada patchů od Donenfelda, která přidala novou funkci:

int wait_for_random_bytes(bool is_interruptable, unsigned long timeout);

Jak může napovědět její název, wait_for_random_bytes() počká, až budou náhodná data dostupná. Je-li nastaven příznak if_interruptable, skončí funkce dříve (s chybovým kódem), pokud volající proces dostane signál. Parametr timeout jde použít k nastavení horní hranice na dobu, po kterou bude volání čekat. Ukázalo se ale, že tato funkce je poněkud navíc. Zejména Ts'o se o nápadu s časovou prodlevou vyjádřil skepticky, zeptal se: „Pokud používáte get_random_bytes() z bezpečnostních důvodů, zmizí příslušný bezpečnostní problém po 15 sekundách?“ Třetí verze sady patchů všechny argumenty wait_for_random_bytes() odstranila, takže všechna čekání jsou přerušitelná bez prodlevy.

Řada patchů dále přidala skupinu život zpříjemňujících funkcí, které kombinují čekání a skutečné získávání náhodných dat, včetně:

static inline int get_random_bytes_wait(void *buf, int nbytes);

Většina připomínek k této skupině patchů se v tomto okamžiku týká celkem malých drobností. Takže je pravděpodobné, že se některá její verze časem dostane do jádra, čímž se snad sníží riziko, že jádro bude používat nedostatečně náhodná data. Je tu ale ještě jeden aspekt, který se zdá zcela deterministický: dohady ohledně kvality jaderného subsystému náhodných čísel nejsou zdaleka u konce. To je koneckonců problém s náhodnými čísly: nikdy si nemůžeme být jisti, že jsou skutečně náhodná.

       

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

6.7.2017 09:22 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Jaderné noviny – 8. 6. 2017: Čekání na entropii
Nakoľko je ťažké/drahé/whatever implementovať hardvérový zdroj entropie? Ako píšu na wikipédii, nie je to až tak priamočiare, ako by sa mohlo zdať, na druhej strane by aspoň "serverové" dosky mohli implementovať aspoň generátor náhodnej seed hodnoty.
6.7.2017 09:48 Zopper | skóre: 14
Rozbalit Rozbalit vše Re: Jaderné noviny – 8. 6. 2017: Čekání na entropii
Intel takový generátor ve svých procesorech už nějakou dobu má (rdrand). Jenže tu jsou obavy, jestli v něm nejsou backdoory, jestli je opravdu tak náhodný, jak Intel tvrdí, atd. Ale existují různé externí krabičky, některé jsou i open-source/open-hardware, takže si můžeš vybrat, komu budeš věřit.
"Dlouho ještě chcete soudit proti právu, stranit svévolníkům?" Ž 82,2
6.7.2017 10:52 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jaderné noviny – 8. 6. 2017: Čekání na entropii
Zase až tak drahé to není, ale z hlediska jádra je problém v tom, že pokud se nemůžete spolehnout, že HW generátor mají všichni (což nejspíš nenastane nikdy), musí být k dispozici alternativní řešení pro případ, že HW generátor k dispozici není. Navíc i HW generátor je schopen generovat data jen určitou rychlostí, takže by se stejně muselo počítat se situací, kdy je potřeba počkat na něj.
6.7.2017 10:54 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jaderné noviny – 8. 6. 2017: Čekání na entropii
A ještě pro úplnost: tady byla řeč o generování náhodných dat při bootu, takže stejně jako je potřeba řešit situaci, kdy softwarový generátor nemá ještě dost entropie, bylo by potřeba počítat s možností, že drivery potřebné pro čtení z hardwarového generátoru nejsou ještě inicializované.
6.7.2017 15:28 mimi.vx | skóre: 38 | blog: Mimi.VX | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny – 8. 6. 2017: Čekání na entropii

Plus bonus je pokud startujete VM. Kde zdroju entropie je jeste mene

USE="-gnome -kde";turris
Heron avatar 12.7.2017 10:02 Heron | skóre: 51 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Jaderné noviny – 8. 6. 2017: Čekání na entropii
Si to můžeš zbastlit doma. Zenerka, transistor, hodil by se i opamp a je to. Nepodařilo se mi zprovoznit ten audio-entropyd, ale moc jsem si s tím nehrál, spíš jen zábava na půl odpoledne.

Taky je otázka, co brát jako náhodu - zda napětí při kterém se spustila lavina, nebo časy průchodu nulou - ty se dají detekovat snadněji.

Potom existují skutečné kvantové zdroje náhody (polopropustné zrcadlo jednotlivé fotony), ale to není na domácí bastlení a stejně se musí pořešit bias (žádné zrcadlo nemá přesně 50% odrazivost).
6.7.2017 10:32 Ivan
Rozbalit Rozbalit vše Re: Jaderné noviny – 8. 6. 2017: Čekání na entropii
Cekani na entropii je docela podpasovka. Dlouho jsem resil proc mi padaji konexe do Oracle databaze s chybou "connection reset", nakonec se ukazalo, ze JDBC driver ceka na nahodna data z /dev/random a protoze se nedokaze vcas autentizovat, databaze zavre TCP spojeni. Tyhle veci se dost blbe ladi, dokud neni server dostatecne zatizeny, tak se takovahle vec vubec neprojevi.
6.7.2017 10:40 tomo_tn
Rozbalit Rozbalit vše Re: Jaderné noviny – 8. 6. 2017: Čekání na entropii
Clovek by povedal, ze ked je server zatazeny tak bude entropie dost. Moje obecne povedomie je take ze do entropy-poolu prispieva z velkej miery aj IO aktivita. Preto ten problem pri boote IO operacii je malo a vsetky su (do isteho momentu)+- predvidatelne.
6.7.2017 14:39 roumen
Rozbalit Rozbalit vše Re: Jaderné noviny – 8. 6. 2017: Čekání na entropii
JDBC driver ceka na nahodna data z /dev/random
Tohle ale zni jako blby kod v JDBC driveru. Pokud opravdu potrebuji /dev/random (tj nestaci jim /dev/urandom), pak si autori meli byt jasne vedomi ze /dev/random je opravdu pomalej a zaridit se podle toho (minimalne nejake warningy na konzoli...)
12.7.2017 11:13 Ivan
Rozbalit Rozbalit vše Re: Jaderné noviny – 8. 6. 2017: Čekání na entropii
Na tom je prave zajimavy, ze to lze nastavit pouze na urovni cele JVM (-Djava.security.egd=file:///dev/urandom)

http://www.usn-it.de/index.php/2009/02/20/oracle-11g-jdbc-driver-hangs-blocked-by-devrandom-entropy-pool-empty/
12.7.2017 14:46 alkoholik | skóre: 36 | blog: Alkoholik
Rozbalit Rozbalit vše Re: Jaderné noviny – 8. 6. 2017: Čekání na entropii
Na -Djava.security.egd bacha!
Kdyz java zjisti, ze to prepinas na /dev/urandom, tak ti to potichu vrati. Zamaskovani pres /dev/./urandom mam vyzkousene, za ///dev/urandom bych ruku do ohne nedal.
7.7.2017 14:31 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: Jaderné noviny – 8. 6. 2017: Čekání na entropii
Taky jsem zažil u zákazníka trapas, kdy sw na školení náhle přestal fungovat. Nakonec jsme zjistili, že volání SecureRandom na jedné verzi Linuxu spoléhá na /dev/random a to v blokujícím režimu. Nejsou data, sorráč, místo pár mikrosekund si počkáš půl minuty, než se nějaká vygenerují. V AWS se náhodná data z myši sbírají blbě.

SecureRandom na AWS
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
6.7.2017 16:12 pc2005 | skóre: 36 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Jaderné noviny – 8. 6. 2017: Čekání na entropii
Linus 4.1.40 je zranitelný CVE-2017-6074
Jsem čekal nějakej sociální engineering na Linuse a on to je jen překlep :-(.

Založit nové vláknoNahoru

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