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 01:23 | Zajímavý software

Příspěvek na blogu otevřené certifikační autority Let's Encrypt informuje o začlenění podpory protokolu ACME (Automatic Certificate Management Environment) přímo do webového serveru Apache. Klienty ACME lze nahradit novým modulem Apache mod_md. Na vývoj tohoto modulu bylo uvolněno 70 tisíc dolarů z programu Mozilla Open Source Support (MOSS). K rozchození HTTPS na Apache stačí nově přidat do konfiguračního souboru řádek s ManagedDomain. Minutový videonávod na YouTube [reddit].

Ladislav Hagara | Komentářů: 0
včera 14:15 | Komunita

Daniel Stenberg, autor nástroje curl, na svém blogu oznámil, že obdržel letošní Polhemovu cenu, kterou uděluje Švédská inženýrská asociace za „technologickou inovaci nebo důvtipné řešení technického problému“.

marbu | Komentářů: 9
včera 13:40 | Pozvánky

Cílem Social Good Hackathonu, který se uskuteční 21. a 22. října v Brně, je vymyslet a zrealizovat projekty, které pomůžou zlepšit svět kolem nás. Je to unikátní příležitost, jak představit nejrůznější sociální projekty a zrealizovat je, propojit aktivní lidi, zástupce a zástupkyně nevládních organizací a lidi z prostředí IT a designu. Hackathon pořádá brněnská neziskovka Nesehnutí.

… více »
Barbora | Komentářů: 1
včera 00:44 | Pozvánky

V sobotu 21. října 2017 se na půdě Elektrotechnické fakulty ČVUT v Praze uskuteční RT-Summit – setkání vývojářů linuxového jádra a uživatelů jeho real-time verze označované jako preempt-rt.

… více »
Pavel Píša | Komentářů: 7
16.10. 23:44 | Bezpečnostní upozornění

V Linuxu byla nalezena bezpečnostní chyba CVE-2017-15265 zneužitelná k lokální eskalaci práv. Jedná se o chybu v části ALSA (Advanced Linux Sound Architecture).

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

Greg Kroah-Hartman informuje na svém blogu, že do zdrojových kódu linuxového jádra bylo přidáno (commit) prohlášení Linux Kernel Enforcement Statement. Zdrojové kódy Linuxu jsou k dispozici pod licencí GPL-2.0. Prohlášení přidává ustanovení z GPL-3.0. Cílem je chránit Linux před patentovými trolly, viz například problém s bývalým vedoucím týmu Netfilter Patrickem McHardym. Více v často kladených otázkách (FAQ).

Ladislav Hagara | Komentářů: 4
16.10. 22:04 | Pozvánky

Rádi bychom vás pozvali na přednášku o frameworku Avocado. Jedná se o testovací framework další generace, inspirovaný Autotestem a moderními vývojovými nástroji, jako je třeba git. Přednáška se bude konat 23. října od 17 hodin na FEL ČVUT (Karlovo náměstí, budova E, auditorium K9 – KN:E 301). Více informací na Facebooku.

… více »
mjedlick | Komentářů: 0
16.10. 21:44 | Bezpečnostní upozornění

Nový útok na WPA2 se nazývá KRACK a postihuje prakticky všechna Wi-Fi zařízení / operační systémy. Využívá manipulace s úvodním handshake. Chyba by měla být softwarově opravitelná, je nutné nainstalovat záplaty operačních systémů a aktualizovat firmware zařízení (až budou). Mezitím je doporučeno používat HTTPS a VPN jako další stupeň ochrany.

Václav HFechs Švirga | Komentářů: 3
15.10. 00:11 | Zajímavý projekt

Server Hackaday představuje projekt RainMan 2.0, aneb jak naučit Raspberry Pi 3 s kamerovým modulem pomocí Pythonu a knihovny pro rozpoznávání obrazu OpenCV hrát karetní hru Blackjack. Ukázka rozpoznávání karet na YouTube. Zdrojové kódy jsou k dispozici na GitHubu.

Ladislav Hagara | Komentářů: 0
14.10. 15:11 | IT novinky

Online obchod s počítačovými hrami a elektronickými knihami Humble Bundle byl koupen společností IGN. Dle oficiálních prohlášení by měl Humble Bundle dále fungovat stejně jako dosud.

Ladislav Hagara | Komentářů: 8
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (33%)
 (0%)
 (0%)
 (0%)
 (67%)
 (0%)
Celkem 3 hlasů
 Komentářů: 0
    Rozcestník

    Linux, Linus, RDRAND a ignoranti

    18.9.2013 01:30 | Přečteno: 3235× | Výběrový blog

    TL;DR: Jsi ignorant, Linusi, děláš do věcí kterým nerozumíš. Nauč se něco o kryptografii a pak si přečti arch/x86/kernel/cpu/rdrand.c.

    Týden nazpět vyšla na Rootu zprávička ohledně petice o vynechání instrukce RDRAND z linuxového generátoru náhodných čísel (to je ta část, která generuje data v /dev/random a /dev/urandom). Zprávička je na http://www.root.cz/zpravicky/linus-o-odstraneni-rdrand-z-jadra-jsi-ignorant-my-vime-co-delame/ a já k ní měl celkem dlouhý komentář. Téma mi ale přišlo zajímavé, a taky mám dojem že by si zasloužilo širší publikum než to, které komentuje zprávičky na rootu, tak jsem se rozhodl založit si blog a trochu to rozvést.

    O co jde: Linux Torvalds se dost nelichotivě vyjádřil k návrhu, že by Linuxové jádro nemělo volat instrukci RDRAND. Pro neznalé: tahle instrukce vrátí náhodná data získaná z generátoru implementovaného přímo v hardwaru procesoru. Teoretickou výhodou je kvalita generovaných dat (nejsou deterministická), praktickou výhodou je rychlost. RDRAND v současných procesorech dokáže generovat necelých 800 MB/s.

    Ve světle nedávných informací o NSA ale používání RDRAND přestává vypadat jako tak dobrý nápad jako byl na začátku. Hardwarový generátor je totiž pochopitelně closed source, kdo ví, jestli si NSA neprosadila nějaký backdoor. Navíc, v současnosti silně propagované šifry založené na eliptických křivkách (které mimochodem propaguje NIST, ve kterém má NSA velké slovo) naprosto nutně vyžadují kvalitní generátor náhodných čísel. Stačí aby útočník dostal jen pár bitů informace o výsledku RNG a šifra je prolomená. (SONY a PS3 je toho zářným příkladem, i když tam nešlo jen o "pár bitů".)

    Linus na obavy reagoval tvrzením, že implementace RDRAND není problém, protože je to jen jeden z mnoha zdrojů entropie, a pool se s ním jen vylepšuje. Pokud by byl výsledek RDRAND špatný, maximálně to k ničemu nebude nebude, ale rozhodně to neuškodí. Vylepšování pak konkrétně obstarává obyčejný XOR, kterým se na konci do posbírané entropie "přimíchá" výsledek RDRAND. Linus zřejmě spoléhá na důkaz nerozluštitelnosti OTP (one-time pad), který v podstatě říká, že ať vezmu cokoli a provedu XOR se skutečně náhodnými daty, výsledek bude zcela nerozeznatelný od náhodných dat. V případě Linuxového jádra je výsledek RDRAND vlastně cleartext, který se zašifruje klíčem - "dobrou" entropií.

    Bohužel, tahle úvaha spočívá na jednom zásadním předpokladu - že totiž klíč je naprosto nezávislý na cleartextu. Neboli, že RDRAND generuje čísla jen pomocí onoho hardwarového generátoru, že nepodvádí.

    Kdyby například RDRAND vracela vždycky stejné číslo jako druhý operand XORu, výsledek by byl vždycky 0. Ve skutečnosti není problém zařídit, aby výsledek XORu vypadal jakkoli si vymyslíte, stačí si spočítat požadovanou hodnotu a pak udělat XOR s druhým operandem (nasbíranou entropií). Následný XOR ji zase "odmaže". Pokud by /dev/random obsahovalo samé nuly, někdo by si toho velmi rychle všiml. Bohužel, není problém udělat RNG který vrací čísla, která jsou zcela náhodná pro každého kdo nezná klíč. Pro majitele klíče jsou naopak zcela deterministická. Jednoduchý příklad může být např. funkce RNG = SHA1(NSA_KEY || čítač), kde by důkaz že výsledek není náhodný by vyžadoval umět (rychle) najít kolizi v SHA1. To nikdo neumí (doufám). Téhle vlastnosti se krásně říká kleptografie.

    Pokud si říkáte: "jak by mohla instrukce vědět co má vrátit," pak jste nedávali pozor. Procesor pochopitelně ví, co je v paměti. Jednotlivé instrukce můžou být dost složité, rozkládat se na desítky operací v mikrokódu, využívat mnohé jednotky procesoru, prostě jedna instrukce může být sama o sobě dost složitý program.

    Následující část je naprostá spekulace (oproti té předchozí, která je obyčejná spekulace).

    Jen pro zábavu jsem se zamyslel, jak by se nejjednodušeji dal současný RNG v linuxu rozbít, aby si toho nikdo nevšiml. Nápad využívá toho, že RDRAND je definovaný jako inline funkce, a XOR následuje hned potom. Napadlo mě následující: RDRAND při svém vyvolání zkontroluje, jestli je v cache dword 0xCAFEBABE (touhle hodnotou vyplňuje garbage collector v Javě nepoužívanou paměť). Pokud tam není, pak se chová přesně podle dokumentace. Pokud tam je, pak projde pipeline a vymění XOR následující po RDRAND za MOV RAX, <hodnota z kleptogenerátoru>. Pokud v pipeline žádný XOR není, pak se chová podle dokumentace.

    Tohle má tu kouzelnou vlastnost, že se slabina projeví jen pokud z /dev/random čte Javovský program, a neprojeví se při testech náhodnosti, protože tam se obvykle nejdřív nasbírají data a pak se na nich dělají výpočty, a navíc se obvykle nepoužívá XOR. Takže chyba nejde debugovat.

    Ve skutečnosti dost pochybuju, že by to NSA / Intel udělali zrovna takhle, protože i drobná změna kódu by tenhle backdoor rozbila. Jde spíš o myšlenkový experiment, který měl dokázat, že backdoor nepotřebuje složitý program na to aby fungoval. Navíc by těžko dosáhli těch 800 MB/s, pokud by měli pořád dokola procházet cache.

    Nabízí se pochopitelně otázka, proč se obtěžovat s RNG, když se dá udělat zajímavější backdoor někde jinde. Odpověď je bohužel jednoduchá: protože náhodnost nejde rozumně testovat. Jakýkoli backdoor v RNG má velkou šanci, že si ho nikdo nevšimne. Vzpomeňte se na Debian a chybu v OpenSSL. Tam byla entropie generátoru redukována na směšných 16 bitů, a nikdo si toho nevšiml 2 roky. Navíc kdo říká, že backdoorů není víc, že.        

    Hodnocení: 77 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    18.9.2013 02:14 chrono
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    RDRAND sa dá v konfigurácii jadra zakázať.
    18.9.2013 02:24 Sten
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Linux nedělá XOR, ale používá to jako vstup do něco-jako-hashe, ve kterém se drží entropie. XOR totiž není dostatečně bezpečný i třeba pro statistický útok z user-space.

    Pokud jste paranoidní, jde RDRAND snadno vypnout: vmlinuz nordrand
    18.9.2013 03:20 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    To vypadá, že okolo verze 3.5/3.6 dostal někdo neodmítnutelnou nabídku :-D.

    Nejvtipnější na tom je, že autor toho XORu je právě z intelu :-D. (i když to může být i tím, že RDRAND ekvivalent na moc dalších arch nebude).
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    Jendа avatar 18.9.2013 07:02 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Příloha:
    Přečetl jsem si ten pastebin (příloha) a nevím…
    Navíc, v současnosti silně propagované šifry založené na eliptických křivkách (které mimochodem propaguje NIST, ve kterém má NSA velké slovo) naprosto nutně vyžadují kvalitní generátor náhodných čísel.
    Ne, nevyžadují. Pokud nemáš problém s deterministickou signaturou (RFC 6979), tak nepotřebuješ dokonce vůbec žádnou náhodu. Ve zkratce, ta hodnota, co musí být normálně náhodná, se nastaví na SHA(message || key) (actually, it's HMAC). Pro stejnou zprávu ti to vždycky vyplivne stejný podpis, což ti může vadit nebo se ti naopak může hodit (záleží od aplikace), pro jinou zprávu to vyplivne jinou hodnotu.
    Stačí aby útočník dostal jen pár bitů informace o výsledku RNG a šifra je prolomená.
    Koukám na to PDF (strana 125) a chtěl bych vidět to odvození pro jiná známá m.

    Btw. tohle mě potěšilo:
    #define EXTRACT_SIZE 10
    if (!memcmp(tmp, r->last_data, EXTRACT_SIZE))
      panic("Hardware RNG duplicated output!\n");
    mám tedy 2^-80 šanci, že mi to celé crashne? :)
    18.9.2013 09:41 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    mám tedy 2^-80 šanci, že mi to celé crashne? :)
    Nojo, v pripade povoleneho FIPS 200 (zdravim NIST) je to tak - takze moc bych se nesmal, protoze to je fakt. Ale imho lepsi crash nez dvakrat po sobe stejna hodnota :-).
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    David Watzke avatar 18.9.2013 10:44 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Ale imho lepsi crash nez dvakrat po sobe stejna hodnota :-).
    Určitě? :-D
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    18.9.2013 13:41 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Pozadavkem je, aby se neopakovala 2 po sobe jdouci cisla. Pokud tedy mam na vyber mezi panic() a porusenim pozadavku, tak volim panic() :-).
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    18.9.2013 13:58 extremni lama | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    kde je ten pozadavek?
    The enemy of my enemy is still my enemy.
    18.9.2013 15:06 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Ve FIPS 200
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    18.9.2013 15:20 extremni lama | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    to je to 17 strankovy PDF co najde
    big brother
    , pardon, google, nebo neco jinyho? Protoze tam me fulltext hledani 'repeat' nenaslo akorat 'repeatable'
    The enemy of my enemy is still my enemy.
    18.9.2013 15:37 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Nu, verim tomu, co je napsano ve zdrojacich Linuxu. PDF jsem cele necetl (jedna se o manazerske narizeni), ale je tam nekolik referenci na podminecnou implementaci napr. NIST Special Publication 800-53 (to uz ma 457 stranek a zase kupu referenci).

    Takze za sebe rikam, ze jsem presne tento pozadavek nikde nevidel, ale faktem zustava, ze to je v Linuxu implementovane s poznamkou, ze se jedna o zalezitost z FIPS 200.
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    18.9.2013 15:52 extremni lama | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    cely me to prijde dost podezrely. Aby to nebyl dalsi backdoor...

    Vetsinou se u generatoru napr s blokovou sifrou v counting modu dela casto reseed, prave aby se zajistilo ze se cisla muzou opakovat. Protoze to ze se cisla nikdy neopakuji by umoznilo rozeznat ze se nejedna o true RNG.

    Dalsi vec je ta podivne zvolena velikost, kdy testujou ze se neopakuje sequence 10 bytu, ale uz netestujou seq. 5, 9, 11, 20, ... Ze by ten FIPS byl takovej kockopes?

    The enemy of my enemy is still my enemy.
    xkucf03 avatar 18.9.2013 15:35 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti

    Ono ale když se budou pořád dokola opakovat dvě stejná čísla, tak to není o moc lepší…

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    18.9.2013 15:39 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Ja to nevymyslel a take se mi to zda jako blbost (tohle si ma aplikace resit sama a nema to byt na jaderne urovni, natoz ve vanilce :-().
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    pavlix avatar 18.9.2013 16:14 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Ja to nevymyslel a take se mi to zda jako blbost (tohle si ma aplikace resit sama a nema to byt na jaderne urovni, natoz ve vanilce :-().
    A čemu to tam vadí, když je to ve výchozí konfiguraci stejně vypnuté?
    18.9.2013 18:55 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Tem, kteri ctou ten kod a mne :-) (jakakoukoliv nadbytecnou zalezitost v jadre povazuji za zverstvo).
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    pavlix avatar 18.9.2013 19:55 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Řekl bych, že zvěrstvem je z tohoto pohledu většina jádra.
    18.9.2013 20:02 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Bohuzel :-( (asi jsme prilisni puriste).
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    xkucf03 avatar 18.9.2013 16:26 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti

    Jak už tu někde padlo: náhoda se dost blbě testuje. Záměrně špatný generátor je prakticky neodhalitelný1 a tohle je asi jen taková ochrana proti případu, že by někdo z blbosti napsal return 1;.

    [1] dá se otestovat offline, jestli poskytuje dostatečnou entropii, ale za běhu to asi z výkonnostních důvodů nikdo dělat nebude – navíc: u jak velkých kusů by se ta entropie měla měřit?

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    18.9.2013 18:59 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    ...asi jen taková ochrana proti případu, že by někdo z blbosti napsal return 1;
    Nejak mi ta navratova hodnota nedochazi (obrana jadra sama pred sebou na takto trivialni urovni se mi opravdu nezda jako spravne pochopeni). Mas nejaky priklad?
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    Jendа avatar 18.9.2013 21:39 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Mas nejaky priklad?
    bit <= '1';
    (VHDL, kdyby to někdo nepoznal)
    18.9.2013 21:52 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    A uplny kontext by nebyl? I pres trivialni test-bench random generatoru neprojde takovehle uklepnuti se ve VHDL/Verilogu (tim zabranim preklepu HW navrhare).

    A ochrana v run-time jadra (tim zabranim pouziti "spatneho" CPU/jadra)? Proc bych to kontroloval jindy nez pri vymene/inicializaci/zmene_mikrokodu kazde casti CPU poskytujici dany random registr? A prosim bez pohadek o semi-intelligent, self-reconfigurable FPGA... :-)
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    Jendа avatar 18.9.2013 21:57 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    A uplny kontext by nebyl? I pres trivialni test-bench random generatoru neprojde takovehle uklepnuti se ve VHDL/Verilogu (tim zabranim preklepu HW navrhare).
    Nevím, třeba je tam HW bug (vyrostl tam fous křemíku), kdy to uzemní gate jednoho tranzistoru a prostě to občas neupdatne ten registr.
    A prosim bez pohadek o semi-intelligent, self-reconfigurable FPGA... :-)
    Hej! :-)
    18.9.2013 22:12 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Nevím, třeba je tam HW bug (vyrostl tam fous křemíku), kdy to uzemní gate jednoho tranzistoru a prostě to občas neupdatne ten registr.
    Ok, pak bych tyto kontroly musel provadet uplne za kazdou instrukci! A co takhle kontroly toho kontrolniho kodu?! Juj, to je vlastne dalsi kod, ten bych mel pro jistotu take kontrolovat...

    Pouceni: Ultra-spolehlive systemy vypadaji jinak a vanilla Linux do teto kategorie nespada.
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    Jendа avatar 18.9.2013 22:14 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Toho, že ti 1+1 vrací 0 si všimneš (crashne ti počítač), toho, že ti HW RNG vrací konstantu si všimneš těžko.
    18.9.2013 23:00 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Nu, tak to by musela byt zatracene velka nahoda, aby fous kremiku vyrostl prave na takovem miste, aby zmenil cely registr (tedy ponechal minulou hodnotu) a ne pouze jeden bitik. Postvat napr. trivialni kontrolu dvou po sobe jdoucich cisel a odvozovat z toho, ze je spatny HW, to bych si netroufnul. PST, ze se fous kremiku projevi v celem obvodu realizujicim RNG (tzn. vycitani hodnot v pameti/cache podle citace; zpracovani; ulozeni do registru; pravidelny update...) prave tak, ze se budou opakovat dve cisla po sobe je imho tak nizka, ze tato kontrola absolutne ztraci smysl).

    Z fleku me ani nenapada jina "vykonove/casove" malo narocna metoda softwarove kontroly HW RNG. Imho ani nelze takovou sestrojit, aby byla opravdu pouzitelna (tedy prave napr. pro ten fous kremiku, ktery nekdy vede a jindy nevede proud).

    Kdyz to shrnu, tak jakekoliv obdobne trivialni, nezdrzujici kontroly povazuji za nesmysl. Smysl by melo kazdy RNG v kazdem jednotlivem jadru CPU dlouhodobe otestovat jak nekdo navrhoval v teto diskuzi (pak bych vedel co od toho daneho kusu HW mohu ocekavat - zmeny zpusobene starim/zmenou prostredi apod. jsou uz opravdu prilis v kategorii ultra-reliable systemu).
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    Jendа avatar 18.9.2013 23:22 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Nevím, mně přijde bug, že RNG vrací konstantu, docela uvěřitelný… V procesoru asi ne, ale když to bude připojené jako periferie…
    19.9.2013 09:26 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Nevím, mně přijde bug, že RNG vrací konstantu, docela uvěřitelný… V procesoru asi ne, ale když to bude připojené jako periferie…
    Mne zase moc ne :-). Prave proto bych to kontroloval "predem" dlouhodobym testem a ne az pri ostrem nasazeni.

    Skoda, ze nemame po ruce nejakou statistiku o HW RNG (napr. tech externich), kolikrat se nejaky HW bug (zasadnim zpusobem ovlivnujici vygenerovana cisla) objevil, abychom tady netipovali jak baby na trhu.
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    Jendа avatar 18.9.2013 21:45 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    obrana jadra sama pred sebou na takto trivialni urovni se mi opravdu nezda jako spravne pochopeni
    V budoucnu může být HW generátorů více a bude k tomu nějaký driver interface a podle mě se prostě může stát, že to třeba při špatné inicializaci prostě vyčte samé nuly.
    Jendа avatar 18.9.2013 21:40 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    dá se otestovat offline, jestli poskytuje dostatečnou entropii
    Fakt? Jak? Poskytuje SHA(_NSAKEY || counter) dostatečnou entropii? Odhalíš to?
    xkucf03 avatar 18.9.2013 22:22 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti

    Záleží, co je counter, odkud kam jeho hodnota roste, zda se někam ukládá, zda se resetuje. Po čase1 bys měl začít dostávat stejné hodnoty – jinak by to míjelo i záměr útočníka.

    [1] nebo na různých CPU stejného typu. Případně by to mohli mít vázané na sériové číslo procesoru a museli by evidovat, kdo si jaký koupil – což si zase lidi, kteří dělají něco nebezpečného, dost možná ošetří (např. nekoupí počítač přes Net na svoje jméno) i z jiných důvodů (aby neprosákla jejich identita, kdyby nějaký program někam bonzoval ID procesoru).

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    Jendа avatar 18.9.2013 22:59 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Záleží, co je counter, odkud kam jeho hodnota roste, zda se někam ukládá, zda se resetuje.
    Je 128bitový, takže ho v tomto vesmíru nejspíš nepřetečeš.
    nebo na různých CPU stejného typu. Případně by to mohli mít vázané na sériové číslo procesoru a museli by evidovat, kdo si jaký koupil
    Teoreticky ti pak stačí bruteforce přes sto milionů prodaných procesorů, což je zvládnutelné.
    Jendа avatar 18.9.2013 21:37 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    tohle si ma aplikace resit sama
    Jak to má dělat? Tohle mixuje do poolu, aplikace se k tomu nikdy nedostane.
    18.9.2013 21:44 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Aplikace, ktera ma pozadavek na specialni (pseudo)randomness si ma vytvorit vlastni generator (za vyuziti generickeho, pritomneho v jadre a nebo nejakeho jineho - napr. externiho HW).
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    Jendа avatar 18.9.2013 21:54 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    A aplikace, která chce číst vstup z klávesnice, si má vytvořit vlastní driver na USB HID?

    Já tohle jako programátor nechci řešit, já chci prostě vytáhnout číslo z /dev/random. Vlastní RNG si psát nebudu, protože bych musel implementovat podporu pro RDRAND, takovou tu věc, co má VIA, externí generátory, šum ze zvukovky, všeho, co si uživatel připojil. A jako uživatel nechci řešit, že teď přidělím svůj externí kvantový generátor náhody :) GnuPG, za chvíli TrueCryptu a teď ty aplikace běží současně a hádají se o to.
    18.9.2013 22:05 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    já chci prostě vytáhnout číslo z /dev/random.
    Ty si chces vytahnout cislo, ktere je umyslne omezene (tedy napr. podminkou, ze dve po sobe jdouci cisla nejsou stejna)? Nu, nyni se asi kazdy, kdo dela treba simulace apod. obraci v hrobe :-). Mozna tak pro prehravani hudby ti bude vyhovovat, ze ta nahodnost je takto (to nemusi byt pouze opakovani 2 po sobe jdoucich cisel) silne deterministicky omezena. Ale pro vsechny ostatni aplikace je jakekoliv omezovani jednoznacna nevyhoda.

    Btw je uplne bezna praxe si stavet vlastni generatory nahodnych cisel (neni to nic sloziteho, pokud mas na vstupu vysoce nahodny generator s co nejvice rovnomernym rozlozenim pravdepodobnosti - tuto ulohu by imho mel plnit prave /dev/random).
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    Jendа avatar 18.9.2013 22:13 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Ty si chces vytahnout cislo, ktere je umyslne omezene (tedy napr. podminkou, ze dve po sobe jdouci cisla nejsou stejna)?
    Výstup /dev/random už takto omezený není, protože je až daleko po mixování! Teď řešíme tahání z HW RNG. Tímto omezením nepatrně snížíš entropii toho, co z něj taháš, takže místo 80 bitů entropie tam přileješ pokaždé 79,9999.

    Jediné, co se mi nelíbí, je, že jádro na vadném HW RNG udělá panic(). Podle mě by mělo vyhodit notice nebo warning.
    Btw je uplne bezna praxe si stavet vlastni generatory nahodnych cisel (neni to nic sloziteho, pokud mas na vstupu vysoce nahodny generator s co nejvice rovnomernym rozlozenim pravdepodobnosti - tuto ulohu by imho mel plnit prave /dev/random).
    Myslíš PRNG nebo co? Protože jinak mě nenapadá, k čemu by mi to bylo…
    18.9.2013 22:23 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Tímto omezením nepatrně snížíš entropii toho, co z něj taháš, takže místo 80 bitů entropie tam přileješ pokaždé 79,9999.
    Ano, ale uz tohle mi prijde jako prilis ovlivnujici (proste odriznu nektere potencialni vystupy nasledneho mixovani nebo jim alespon divne zmenim pravdepodobnost vyskytu oproti tomu, jak to HW navrhari zamysleli).
    Jediné, co se mi nelíbí, je, že jádro na vadném HW RNG udělá panic(). Podle mě by mělo vyhodit notice nebo warning.
    Nu, tady uz "je mi to jedno". Proste padla hodnota nesplnila muj pozadavek a pote me uz nezajima co se bude dit dal (respektive zavisi to na jinych faktorech - vetsinou netechnickych :-)). Napr. v pripade FIPS 200 bych volil ten panic(), protoze to je poruseni "vyssiho" narizeni naroku na HW.
    Myslíš PRNG nebo co? Protože jinak mě nenapadá, k čemu by mi to bylo…
    Ano, tady jsem uz mel na mysli PRNG.
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    Jendа avatar 18.9.2013 23:06 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    proste odriznu nektere potencialni vystupy nasledneho mixovani nebo jim alespon divne zmenim pravdepodobnost vyskytu oproti tomu, jak to HW navrhari zamysleli
    Nutno podotknout, že tohle padne jenom v 2**-80. A výrobci HW RNG neměli zamýšlet, že tam pošlou stejná čísla častěji, protože pak už to jaksi není RNG :).
    Nu, tady uz "je mi to jedno". Proste padla hodnota nesplnila muj pozadavek a pote me uz nezajima co se bude dit dal (respektive zavisi to na jinych faktorech - vetsinou netechnickych :-)). Napr. v pripade FIPS 200 bych volil ten panic(), protoze to je poruseni "vyssiho" narizeni naroku na HW.
    Mě by štvalo, že mi někde umře server jenom proto, že chcípnul RNG (což může a nemusí být vážná závada - pokud to třeba není vytížený HTTPS server, tak mě to tak netrápí).
    18.9.2013 23:19 dumblob | skóre: 10 | blog: dumblog
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    protože pak už to jaksi není RNG :)
    Ale to my prave nevime :-), takze to bereme jako "hodne nahodne" v porovnani s ostatnimi prostredky bezne dostupnymi jadru. I kdyz by byl ten HW generator "omezeny", porad nevidim sebemensi duvod omezovat jeho vystupy pred vstupem do "mixovani".
    Mě by štvalo, že mi někde umře server jenom proto, že chcípnul RNG (což může a nemusí být vážná závada - pokud to třeba není vytížený HTTPS server, tak mě to tak netrápí).
    Nesmis mit servery v USA :-D.
    Refundace za Windows 7 od Lenovo obchodníka - soud rozhodl, že je zákazník v právu!
    Grunt avatar 18.9.2013 09:28 Grunt | skóre: 22 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    0xCAFEBABE - touhle hodnotou vyplňuje garbage collector v Javě nepoužívanou paměť
    Cože?
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    18.9.2013 11:02 Lyco | skóre: 11 | blog: Lyco
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Hm, omyl. 0xCAFEBABE je magická hodnota na začátku javovské třídy (souboru .class). Spletl jsem si to s jinými alokátory, které to dělají: Wikipedia
    Příspěvek se rázem stává až o 37,5 % pravdivější, je-li pod ním napsáno reálné jméno.
    Grunt avatar 18.9.2013 17:50 Grunt | skóre: 22 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    No spíš mě zaujalo to, že nějaký garbage collector přepisuje uvolňovanou paměť.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    18.9.2013 10:12 random
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti

    Nic proti, ale tohle už je prostě paranoia. Procesor nemůže vědět, jaký kód zpracovává – vidí sice instrukce, ale nemá a nemůže mít ponětí o „big picture“, o sémantice těch instrukcí. Strojový kód linuxového RNG se každou chvíli mění – kvůli změnám v kódu samotném, kvůli různým .configům i kvůli změnám v kompilátoru – takže se prakticky nedá detekovat. CPU nemůže tušit, ve kterém registru či kde v cache/RAM se nachází vygenerovaná náhodná čísla. A kdyby tohle věděl, vůbec nemusí útočit pomocí ovlivňování RDRAND, ale může ty hodnoty přepsat přímo. Jak to kdo zjistí?

    Nevylučuji, že je RDRAND cinklý či prostě jenom nekvalitní, ale ne takhle.

    18.9.2013 10:51 jkt
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    No, predpokladam, ze jste se do vygenerovaneho strojoveho kodu dane funkce nedival. S tou variabilitou to neni zas tak horke -- bude-li tripismenna agentura chtit napadnout velkou cast populace, staci se zamerit na nekolik malo enterprise distribuci.
    18.9.2013 12:03 random
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti

    Ivy Bridge začalo být vyráběno roku 2011 a to nezahrnuji to, že od zmrazení designu do zahájení produkce taky muselo uběhnout pár měsíců. Do RHEL 6 byla podpora přidána až v půlce roku 2012. Nechcete mi tvrdit, že Intel má křišťálovou kouli a umí detekovat přítomnost kódu, který ještě nebyl napsán?

    18.9.2013 12:17 extremni lama | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Nechcete mi tvrdit, že Intel má křišťálovou kouli a umí detekovat přítomnost kódu, který ještě nebyl napsán?
    1. jak je psany dole, detekovat konkretni kod neni potreba

    2. intel nepotrebuje kristalovou kouli, protoze sam dodal ten patch ktery to pouziva... ;-)
    The enemy of my enemy is still my enemy.
    18.9.2013 16:09 alkoholik | skóre: 35 | blog: Alkoholik
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Zapominas na updaty mikrokodu.
    xkucf03 avatar 18.9.2013 16:36 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Proto Linux-Libre nesvobodný microcode neobsahuje.
    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    18.9.2013 21:07 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Nejsou další revize procesoru nejspíše vypálení aktuálních microcode updatu do interní ROM? To by pak znamenalo kupovat jen první revize :-/.
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    Grunt avatar 18.9.2013 21:11 Grunt | skóre: 22 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Linux-Libre
    Teda to je docela drsné i na moje poměry.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    Jendа avatar 18.9.2013 21:41 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Takže tam nebude ten update. Ale původní (nebo prostě alespoň nějaký) mikrokód tam někde běžet musí.

    Btw. ty updaty mikrokódu mě fascinují - hlavně, že se jim tam ještě nic neposralo. Vždyť je to binární patchování za běhu!
    Josef Kufner avatar 18.9.2013 23:27 Josef Kufner | skóre: 67
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Ono to zas až takový zázrak není. Nasypeš data do kousku paměti a přecvakneš flag, aby to použil místo ROM. Co jsme si programovali instrukce do procesoru ve škole, nic moc složitého to není.
    Hello world ! Segmentation fault (core dumped)
    19.9.2013 04:45 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    No asi bych nejdřív vyflushoval pipeline. Zvlášť pokud se vypínají poškozené jednotky třeba (kde můžou být validní data)
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    19.9.2013 04:56 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Njn ale pokud by udělal ten backdoor už v 2011 a s XOR patchem čekal, až do 2012, tak ani první revize není důvěryhodná :-D.
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    18.9.2013 11:35 extremni lama | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Jak uz jsem psal jinde, zadny "big picture" na to neni potreba.
    The enemy of my enemy is still my enemy.
    JiK avatar 18.9.2013 16:20 JiK | skóre: 8 | blog: Jirkoviny | Virginia
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    nejvic mne zaujal posledni odstavec:
    Nabízí se pochopitelně otázka, proč se obtěžovat s RNG, když se dá udělat zajímavější backdoor někde jinde. Odpověď je bohužel jednoduchá: protože náhodnost nejde rozumně testovat. Jakýkoli backdoor v RNG má velkou šanci, že si ho nikdo nevšimne. Vzpomeňte se na Debian a chybu v OpenSSL. Tam byla entropie generátoru redukována na směšných 16 bitů, a nikdo si toho nevšiml 2 roky. Navíc kdo říká, že backdoorů není víc, že.
    Ale nemelo by to (mira entropie, tedy skutecna nahodnost generovanych dat) byt zjistitelna treba pomoci komprese? Neni snad pravda, ze skutecne nahodna data jsou nekomprimovatelna?
    18.9.2013 16:29 extremni lama | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Bohuzel tak jednoduchy to neni. Kompresni algoritmy hledaji jenom zjevny statisticky vlastnosti dat. Kdyz treba vygeneruju pomoci AES v counter modu par GB dat, tak teoreticky by to melo jit zkomprimovat na par byte. Stacilo by uhodnout ze se jedna o AES v counter mode, pomoci brute force najit klic a pocatecni hodnotu counteru a tyhle veci ulozit na vystup. V praxi neco takovyho zkomprimovat nepujde (zadny kompresni algoritmus pravdepodobne nedosahne mensi vyslednou velikost nez ma original).
    The enemy of my enemy is still my enemy.
    18.9.2013 21:08 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Aneb kompresní algoritmy jsou navrženy pouze na specifické formáty dat.
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    pavlix avatar 18.9.2013 21:24 pavlix | skóre: 54 | blog: pavlix
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Tak vzhledem k tomu, že je kompresní algoritmus reversibilní (jinak by neměl smysl), tak asi těžko může obecně zmenšovat objem dat.
    Jendа avatar 18.9.2013 21:47 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Ano, například nikdo nenavrhl kompresní algoritmus, který provede 2**256 operací (cracknutí AES) a pak to vyoptimalizuje na zašifrované nuly.
    xkucf03 avatar 18.9.2013 16:29 xkucf03 | skóre: 46 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti

    Takhle offline by to jít testovat mělo1 – postavit řadu počítačů s různými procesory a různými distribucemi/jádry/knihovnami a generovat gigabajty náhodných dat a zkoumat jejich entropii.

    [1] dělá to už někdo? bylo by to opravdu vhodné

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-Výuka.cz, Nekuřák.net
    18.9.2013 19:32 Martin Mareš
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Svatej Tučňáku, to je tedy paranoia. Pokud by hypoteticky Intel chtěl přidávat backdoor do procesoru, má hromadu způsobů, jak to udělat bez nutnosti protlačit patch do jádra. Například není nijak těžké modifikovat instrukce používané na volání syscallů, aby detekovaly otevření /dev/random a čtení z něj. Ale raději bych to neměl říkat moc nahlas, nebo brzy někdo vašeho ražení začne prosazovat, aby se při instalaci Linuxu randomizovala čísla syscallů :-)

    Na současném řešení s XORováním mi nepřijde nic zásadně špatně. Osobně bych tedy raději data zamíchal ještě před zahashováním, ale jediný důvod, který k tomu mám, je jakýsi kryptografický konservativismus.
    18.9.2013 19:40 extremni lama | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Pokud by hypoteticky Intel chtěl přidávat backdoor do procesoru, má hromadu způsobů, jak to udělat bez nutnosti protlačit patch do jádra. Například není nijak těžké modifikovat instrukce používané na volání syscallů, aby detekovaly otevření /dev/random a čtení z něj.
    to by se dalo snadno odhalit protoze by ti v systemu neubyvala entropie...

    Svatej Tučňáku, to je tedy paranoia.

    ...

    Na současném řešení s XORováním mi nepřijde nic zásadně špatně.
    proste jeste nemas ten spravnej security mindset ;-)

    The enemy of my enemy is still my enemy.
    18.9.2013 20:57 Martin Mareš
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    to by se dalo snadno odhalit protoze by ti v systemu neubyvala entropie...
    Neubývala, protože bych to ošvindloval až při návratu ze syscallu.
    proste jeste nemas ten spravnej security mindset ;-)

    Úhybný manévr, kterým zakrýváte nedostatek (či přesně řečeno absenci) argumentů.

    Zkuste být konkrétní a popsat jakýkoliv realistický útok, který by s XORem šel provést a bez něj nikoliv.
    18.9.2013 21:35 extremni lama | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Neubývala, protože bych to ošvindloval až při návratu ze syscallu.
    Jako ze bys prepsal buffer co to vraci? To by se dalo snadno odhalit pridanim jednoho radku do random.c, ktery pred navratem ten buffer vynuluje, pripadne tam nahraje nejakou znamou, nenahodnou hodnotu...
    Zkuste být konkrétní a popsat jakýkoliv realistický útok, který by s XORem šel provést a bez něj nikoliv.
    Jak uz jsem psal v tom prispevku na ktery jsem odkazoval a ktery se me nechce prekladat do cestiny:

    1. reseni s xorem je velice jednoduche. Pravdepodobne mnohem jednoduzsi nez cokoli jinyho co bys dokazal vymyslet

    2. narozdil od jinych reseni je to naprosto neodhalitelne...
    The enemy of my enemy is still my enemy.
    18.9.2013 23:19 Martin Mareš
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Jako ze bys prepsal buffer co to vraci? To by se dalo snadno odhalit pridanim jednoho radku do random.c, ktery pred navratem ten buffer vynuluje, pripadne tam nahraje nejakou znamou, nenahodnou hodnotu...
    Ano, dalo by se to odhalit, pokud by ovšem někoho napadlo to odhalovat. Ale to je u řešení s XORem dost podobné: Vaše představa o neodhalitelnosti je naprostá iluze, stačilo by porovnat chování generátoru s jiným ekvivalentním, který používá trochu jinou posloupnost instrukcí.
    Jendа avatar 18.9.2013 23:24 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Ale to je u řešení s XORem dost podobné: Vaše představa o neodhalitelnosti je naprostá iluze, stačilo by porovnat chování generátoru s jiným ekvivalentním, který používá trochu jinou posloupnost instrukcí.
    Opravdu? I když je to implementované tak, aby vylezlo SHA(NSAKEY || counter++ || serial number)?
    19.9.2013 04:50 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    SHA(NSAKEY || counter++ || serial number)
    Neznamenalo by to, že by RNRAND dávala v této situaci vždy stejnou sekvenci vůči historii volání po powerupu?

    P.S. Ale nevím kdy by se měl ten counter inkrementovat.
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    19.9.2013 10:06 Lyco | skóre: 11 | blog: Lyco
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Counter by se musel inkrementovat při každém volání RDRAND, jinak by se hodnoty opakovaly.

    Pochopitelně by se ten counter musel uložit do nějaké nepřechodné paměti. To se dá zařídit třeba malou EEPROM a kondenzátorem, který při poklesu napětí zařídí napájení pro zápis.

    Nebo, teoreticky, by se dala použít paměť která je non-volatile sama od sebe, třeba memristor. (Ne že bych si myslel že je Intel tak pokrokový.)
    Příspěvek se rázem stává až o 37,5 % pravdivější, je-li pod ním napsáno reálné jméno.
    19.9.2013 21:21 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Tak to už je spíš sci-fi :-D.
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    18.9.2013 20:07 Lyco | skóre: 11 | blog: Lyco
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    > Osobně bych tedy raději data zamíchal ještě před zahashováním

    Problém není v pořadí, ale v XORu. Kdybych dělal XOR ještě před hashováním, tak dostanu hash hashe, tedy stále zcela předvídatelnou funkci. Správné řešení by bylo např. jednotlivé zdroje spoji jako řetězce a ten pak zahashovat (kryptografickým hashem, pochopitelně). V tomto případě se totiž nemůže stát, že výsledek RDRANDu "zničí" předchozí data.
    Příspěvek se rázem stává až o 37,5 % pravdivější, je-li pod ním napsáno reálné jméno.
    18.9.2013 22:04 Kvakor
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Tak si říkám, kam až by se muselo postoupit, aby bylo jisté, že hardwarový generátor náhodných čísel nemůže být "cinknutý" a vychází mi, že by to muselo být externí zařízení, nejleépe založenmé na kombinaci radioaktivní materiál+Geiger-Müllerův detektor (to celé v tlustostěné olověná nádobě) jako zdroj kvantové náhodnosti a elektronika složená s čistě diskrétních součástek, která by pouze posílala hezky tvarované impulzy na nějaký vstup, kde by vyvolávaly přerušení (např. sérivoý port).

    Jenže takto získaná data se stejně musejí stejně zpracovat softwarem a i tak závisí na všem možném od SuperIO chipu na desce přes jádro a jeho zpracování přerušení (nejlepší by bylo co nejvíc realtime) až po samotné zpracování (viz Ramdnomness extractor na Wiklipedii). Mimo toho je objem dat velmi malý (desítky, max. stvoky bitů za sekundu).

    PS: Na Fourmilab.ch je takovýto generátor (nazvaný HotBits) poměrně slušně popsaný, včetně softwaru. Tedy až na hardware, na který je použitý hotový detektor, který se u nás asi nesežene, nicméně GM trubice jde sehnat i v ČR (nová stojí okolo dvou-tří tisíc) a zbytek je relativně jednoduchý (viz třeba tady). Jediný problém je sehnat vhodný radioaktivní materiál :-)
    18.9.2013 22:29 extremni lama | skóre: 14 | blog: e_lama
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Pokud mas kvalitni PRNG tak stovky bitu entropie za sekundu by meli stacit.

    Kdyby na neco bylo potreba vic tak podle me by bylo nejlepsi pouzit vstup ze zarizeni ktery neni ke generovani nahodnych cisel primo urceny. Tam je mnohem mensi pravdepodobnost ze se tam podari neco schovat. Napriklad hashovat vstup z nejaky zasumneny web kamery...
    The enemy of my enemy is still my enemy.
    Jendа avatar 18.9.2013 23:11 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Napriklad hashovat vstup z nejaky zasumneny web kamery...
    Pozor na integrovaný JPEG kodér, jehož funkcí je naopak šum a entropii odstraňovat ;).
    19.9.2013 08:47 alkoholik | skóre: 35 | blog: Alkoholik
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Nejsi dost paranoidni. Vzhledem k tomu, ze polocas rozpadu koreluje se vzdalenosti zeme od slunce, prisel bys o par bitu sily podle toho, v ktere fazi roku bys generoval klic..
    ;)
    19.9.2013 21:41 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    WOW to kdyby přišla erupce, tak můžeš ten výsledek zahodit :-D. Prej to ovlivňuje tak den před samotnou erupcí (kolik by stálo NSA dopravit atomovku na slunce? :-D).

    P.S. Docela by mě zajímalo zda v prostředí bez neutrin (asi?) by se některé izotopy staly stabilními.

    P.P.S. (OT) Teď funguje ten mechanismus z "1969" dílu stargate (bez mimozemských technologií) :-D.
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    Jendа avatar 19.9.2013 21:45 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    P.S. Docela by mě zajímalo zda v prostředí bez neutrin (asi?) by se některé izotopy staly stabilními.
    On někdo ukázal, že se izotopy rozpadají (jen) díky neutrinům?
    19.9.2013 23:12 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Ne, ale prý různé izotopy reagují různou rychlostí a Země se okolo Slunce pohybuje extra blízko s malými výkyvy. Nejlepší by bylo, kdyby to měřili třeba na Voyageru 1. Je fakt, že stabilní je moc silné slovo, zvláště když není vyloučeno, že i proton není stabilní. Třeba takovej tantal 180m je protonu prakticky ekvivalentní (zatím nebyl pozorován žádný jeho rozpad).

    Jinak vzhledem k rychlosti neutrina ve vesmíru neexistuje místo, kde by nebylo (možná tak černá díra, ale tam se měření dělá špatně, fyzik má práce na roztrhání :-D).
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    Jendа avatar 19.9.2013 23:36 Jendа | skóre: 74 | blog: Výlevníček | JO70FB
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Ne, ale prý různé izotopy reagují různou rychlostí a Země se okolo Slunce pohybuje extra blízko s malými výkyvy.
    Já zatím viděl jenom jeden nějaký malý experiment, kde tohle pozorovali. Už to někdo ověřil?
    20.9.2013 01:00 pc2005 | skóre: 34 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Hmmm máš pravdu, žádný článek, který to potvrzuje na mě nevypadl,resp. čekal bych, že při takovém objevu to bude někdo od 2006 měřit nepřetržitě (cyklus aktivity slunce trvá roky) a průběžně dodávat data. Navíc jsem našel vyvracející článek :-( (že jsi ten článek viděl ještě před prvním postem ;-) ). Ale zase tihle naměřili fluktuaci :-/.

    BTW Neutrino je schopno reagovat s galliem a přeměnit ho na nestabilní germanium.
    Chuck Norris řekl babičce, že si dá jen 3 knedlíky. A dostal 3 knedlíky. | 帮帮我,我被锁在中国房
    Grunt avatar 20.9.2013 09:22 Grunt | skóre: 22 | blog: Expresivní zabručení | Lanžhot
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    kolik by stálo NSA dopravit atomovku na slunce?
    Vzhledem k tomu, že by si musel aktivovat minimálně Naquahdah či Naquadrii a ne blbé Lithium, tak asi hodně.
    Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
    25.9.2013 14:05 jarok
    Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
    Nič nové pod Slnkom. Aj také riešenie (rádioaktívny rozpad) už bolo. Kedysi v 50-tych či 60-tych rokoch pre šifrovanie vládnych/vojenských/straníckych liniek medzi Moskvou a Berlínom a/alebo Prahou. Bohužiaľ, zdroj informácie už neviem, ani bližší spôsob fungovania.

    Založit nové vláknoNahoru

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