Portál AbcLinuxu, 29. dubna 2024 02:40


Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
18.9.2013 02:14 chrono
Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
Odpovědět | Sbalit | Link | Blokovat | Admin
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
Odpovědět | Sbalit | Link | Blokovat | Admin
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: 38 | 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).
Jendа avatar 18.9.2013 07:02 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
Odpovědět | Sbalit | Link | Blokovat | Admin
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? :)
Já to s tou denacifikací Slovenska myslel vážně.
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 :-).
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() :-).
18.9.2013 13:58 ::: | skóre: 14 | blog: e_lama
Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
kde je ten pozadavek?
18.9.2013 15:06 dumblob | skóre: 10 | blog: dumblog
Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
Ve FIPS 200
18.9.2013 15:20 ::: | 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'
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.
18.9.2013 15:52 ::: | 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?

xkucf03 avatar 18.9.2013 15:35 xkucf03 | skóre: 49 | 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-DK, Relational pipes
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 :-().
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é?
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
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).
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.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
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).
xkucf03 avatar 18.9.2013 16:26 xkucf03 | skóre: 49 | 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-DK, Relational pipes
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?
Jendа avatar 18.9.2013 21:39 Jendа | skóre: 78 | blog: Jenda | 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... :-)
Jendа avatar 18.9.2013 21:57 Jendа | skóre: 78 | blog: Jenda | 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.
Jendа avatar 18.9.2013 22:14 Jendа | skóre: 78 | blog: Jenda | 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).
Jendа avatar 18.9.2013 23:22 Jendа | skóre: 78 | blog: Jenda | 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.
Jendа avatar 18.9.2013 21:45 Jendа | skóre: 78 | blog: Jenda | 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: 78 | blog: Jenda | 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: 49 | 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-DK, Relational pipes
Jendа avatar 18.9.2013 22:59 Jendа | skóre: 78 | blog: Jenda | 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: 78 | blog: Jenda | 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).
Jendа avatar 18.9.2013 21:54 Jendа | skóre: 78 | blog: Jenda | 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).
Jendа avatar 18.9.2013 22:13 Jendа | skóre: 78 | blog: Jenda | 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.
Jendа avatar 18.9.2013 23:06 Jendа | skóre: 78 | blog: Jenda | 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.
Grunt avatar 18.9.2013 09:28 Grunt | skóre: 23 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
Odpovědět | Sbalit | Link | Blokovat | Admin
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: 14 | 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: 23 | 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
Odpovědět | Sbalit | Link | Blokovat | Admin

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 ::: | 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... ;-)
18.9.2013 16:09 alkoholik | skóre: 40 | 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: 49 | 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-DK, Relational pipes
18.9.2013 21:07 pc2005 | skóre: 38 | 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 :-/.
Grunt avatar 18.9.2013 21:11 Grunt | skóre: 23 | 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: 78 | blog: Jenda | 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: 70
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: 38 | 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)
19.9.2013 04:56 pc2005 | skóre: 38 | 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.
18.9.2013 11:35 ::: | 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.
JiK avatar 18.9.2013 16:20 JiK | skóre: 13 | blog: Jirkoviny | Virginia
Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
Odpovědět | Sbalit | Link | Blokovat | Admin
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?
Jirka Cech
18.9.2013 16:29 ::: | 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).
18.9.2013 21:08 pc2005 | skóre: 38 | 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.
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.
Já už tu vlastně ani nejsem. Abclinuxu umřelo.
Jendа avatar 18.9.2013 21:47 Jendа | skóre: 78 | blog: Jenda | 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: 49 | 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-DK, Relational pipes
18.9.2013 19:32 Martin Mareš
Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
Odpovědět | Sbalit | Link | Blokovat | Admin
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 ::: | 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 ;-)

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 ::: | 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...
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: 78 | blog: Jenda | 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: 38 | 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.
19.9.2013 10:06 Lyco | skóre: 14 | 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: 38 | blog: GardenOfEdenConfiguration | liberec
Rozbalit Rozbalit vše Re: Linux, Linus, RDRAND a ignoranti
Tak to už je spíš sci-fi :-D.
18.9.2013 20:07 Lyco | skóre: 14 | 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
Odpovědět | Sbalit | Link | Blokovat | Admin
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 ::: | 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...
Jendа avatar 18.9.2013 23:11 Jendа | skóre: 78 | blog: Jenda | 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: 40 | 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: 38 | 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.
Jendа avatar 19.9.2013 21:45 Jendа | skóre: 78 | blog: Jenda | 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: 38 | 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).
Jendа avatar 19.9.2013 23:36 Jendа | skóre: 78 | blog: Jenda | 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: 38 | 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.
Grunt avatar 20.9.2013 09:22 Grunt | skóre: 23 | 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

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.