Linux: ka saarida barkadda qufulka /dev/random

/dev/random, koronto-dhaliyaha nambarka random-ka ah ee aaminka ah (CSPRNG), ayaa la og yahay inuu leeyahay hal dhibaato oo dhib badan: xannibaadda. Maqaalkani waxa uu sharxayaa sida aad u xalin karto.

Dhawrkii bilood ee la soo dhaafay, tas-hiilaadka soo saarista tirada random ee kernel-ka wax yar ayaa dib loo habeeyay, laakiin mashaakilaadka nidaamkan hoose ayaa la xaliyay intii ay socotay si balaadhan. waqti go'an. Inta ugu badan isbeddellada ugu dambeeya waxaa loo sameeyay si looga hortago in wicitaanka nidaamka getrandom () uu xannibo muddo dheer marka nidaamka kabaha, laakiin sababta hoose ee tani waxay ahayd habdhaqanka xannibaadda barkada random. Balaastii dhowayd ayaa meesha ka saari lahayd barkaddan waxaana la filayaa inay u sii jeeddo xudunta ugu weyn.

Andy Lutomirski ayaa daabacay nuqulkii saddexaad ee balastarkii dhamaadkii Disembar. Wuxuu wax ku darsadaa "laba isbeddel oo semantic oo waaweyn oo ku yimi APIs Linux random". Qalabku wuxuu ku darayaa calanka cusub ee GRND_INSECURE ee nidaamka nidaamka getrandom (in kasta oo Lutomirsky uu u tixraacayo sida getentropy (), kaas oo lagu fuliyo glibc iyadoo la adeegsanayo getrandom () oo leh calamo go'an); Calankani wuxuu keenaa in wicitaanku had iyo jeer soo celiyo qaddarka xogta la codsaday, laakiin iyada oo aan la damaanad qaadin in xogta ay tahay random. Kernelku wuxuu si fudud ku dadaali doonaa inuu soo saaro xogta random-ka ugu fiican ee uu haysto wakhtiga la siiyay. "Malaha waxa ugu fiican ee la sameeyo waa in loogu yeeraa 'AAMMINKA' (aan ammaan ahayn) si looga hortago API-gan in loo isticmaalo waxyaabaha u baahan ammaan."

Xirmooyinka ayaa sidoo kale ka saaraya barkadda xannibaadda. Kernel-ku wuxuu hadda hayaa laba barkadood oo xog random ah, mid u dhiganta /dev/random iyo kan kale /dev/urandom, sida lagu sharraxay kan maqaal 2015. Barkadda xannibaadda ayaa ah barkadda/dev/ random; akhriya qalabkaas ayaa xannibi doona (macneheedu waa magaciisa) ilaa "ku filan" entropy laga soo ururiyo nidaamka si loo qanciyo codsiga. Akhrinta dheeraadka ah ee faylkan sidoo kale waa la xannibay haddii aysan jirin entropy ku filan barkadda.

Ka saarida barkada qufulka macneheedu waxa weeye in wax akhrinta/dev/ random u dhaqmo sida getrandom() calammo laga dhigay eber (oo u beddela calanka GRND_RANDOM meel noop ah). Marka curiyaha nambarka random nambarka cryptographic (CRNG) la bilaabo, akhrinta laga soo bilaabo /dev/random iyo wicitaanada getrandom(...,0) ma xannibi doono waxayna soo celin doontaa cadadka xogta la codsaday.

Lutomirsky isagu wuxuu leeyahay: "Waxaan aaminsanahay in barkadda xannibaadda Linux ay noqotay mid duugowday. CRNG Linux waxay soo saartaa wax soo saar ku filan in xitaa loo isticmaalo jiilka muhiimka ah. Barkadda xannibaadda ma aha mid ka xoog badan macne kasta oo waxay u baahan tahay kaabayaal badan oo qiimo leh si loo taageero."

Isbedelada waxaa lagu sameeyay hadafka ah in la hubiyo in barnaamijyada jira aysan run ahaantii saameyn ku yeelan doonin, iyo dhab ahaantii, waxaa jiri doona dhibaatooyin yar oo sugitaan dheer oo la xidhiidha waxyaabaha sida GnuPG jiilka muhiimka ah.

"Qaybahani waa inaysan carqaladayn barnaamij kasta oo jira. /dev/urandom weli waxba kama beddelin. /dev/ random ayaa isla markiiba xannibaya bootinta, laakiin waxay xannibaysaa wax ka yar sidii hore. getentropy () oo leh calammo jira ayaa soo celin doona natiijo ku habboon ujeedooyinka la taaban karo sidii hore."

Lutomirsky wuxuu xusay inay wali tahay su'aal furan in kernelku uu bixiyo waxa loogu yeero "lambarada random-ka dhabta ah," taas oo ah waxa loo maleynayo in kernel-ka xannibaya uu sameeyo ilaa xad. Waxa uu u arkaa hal sabab oo keliya tan: "u hoggaansanaanta heerarka dawladda." Lutomirsky wuxuu soo jeediyay in haddii kernel-ku uu bixinayo tan, waa in lagu sameeyaa iyada oo loo marayo interface gebi ahaanba ka duwan, ama waa in loo wareejiyaa booska isticmaalaha, taas oo u oggolaanaysa isticmaaluhu inuu soo saaro muunado dhacdo cayriin ah oo loo isticmaali karo si loo abuuro barkad quful ah.

Stephan MΓΌller ayaa soo jeediyay in go'aankiisa balastar ee Linux Random Number Generator (LRNG) (hadda nooca 26 ee la sii daayay) waxay noqon kartaa hab lagu bixiyo tirooyin random run ah codsiyada u baahan. LRNG waxay si buuxda ula socotaa SP800-90B Tilmaamaha ee Ilaha Entropy ee loo isticmaalo in lagu dhaliyo Bits Random, taasoo ka dhigaysa xal u helida mushkiladaha heerarka dawlada.
Matthew Garrett waxa uu ka soo horjeestay ereyga "xog random run ah," isaga oo xusay in aaladaha la muunadeeyay mabda' ahaan loo qaabayn karo si sax ah oo ku filan si ay uga dhigaan kuwo la saadaalin karo: "ma soo qaadanayno dhacdooyinka tirada halkan."

MΓΌller wuxuu ku jawaabay in ereyga uu ka yimid heerka Jarmalka AIS 31 si uu u qeexo koronto-dhaliye lambar aan toos ahayn oo kaliya soo saara natiijo "la mid ah sida isha hoose ee sanqadha ay soo saarto entropy."

Kala duwanaanshaha erey-bixinta marka laga reebo, haysashada barkad quful ah sida ay soo jeedinayaan dhejisyada LRNG waxay si fudud u horseedi doontaa dhibaatooyin kala duwan, ugu yaraan haddii la galo iyada oo aan mudnaanta la siin.

Sida Lutomirsky yiri: "Tani ma xalliso dhibaatada. Haddii laba isticmaale oo kala duwan ay maamulaan barnaamijyo doqonimo ah sida gnupg, waxay isku shubi doonaan midba midka kale. Waxaan arkaa inay hadda jiraan laba dhibaato oo waaweyn oo leh / dev / random: waxay u nugul tahay DoS (ie, kheyraadka oo dhan, saameyn xun ama wax la mid ah), iyo maadaama aan wax mudnaan ah loo baahnayn in la isticmaalo, waxay sidoo kale u nugul tahay xadgudub. Gnupg waa khalad, waa burbur dhammaystiran. Haddii aan ku darno interface cusub oo aan mudnaanta lahayn oo gnupg iyo barnaamijyada la midka ah ay isticmaali doonaan, mar kale ayaanu lumin doonnaa."

Mueller wuxuu xusay in ku darida getrandom () ay hadda u oggolaan doonto GnuPG inay isticmaasho interface-kan, maadaama ay bixin doonto dammaanadda lagama maarmaanka u ah in barkadda la bilaabay. Iyada oo ku saleysan wada-hadallada horumariyaha GnuPG Werner Koch, Mueller wuxuu rumeysan yahay in dammaanad-qaadku yahay sababta keliya ee GnuPG hadda si toos ah uga akhrido /dev/ random. Laakiin haddii uu jiro is-dhexgal aan mudnayn oo u nugul diidmada adeegga (sida / dev / random maanta), Lutomirsky wuxuu ku doodayaa in si khaldan loo isticmaali doono codsiyada qaarkood.

Theodore Yue Tak Ts'o, horumariyaha nidaamka hoose ee lambarka random-ka ee Linux, wuxuu u muuqdaa inuu bedelay maskaxdiisa baahida barkada xannibaadda. Waxa uu sheegay in ka saarida barkadan ay si wax ku ool ah uga takhalusi doonto fikradda ah in Linux uu leeyahay koronto-dhaliye lambareed oo run ah (TRNG): "Tani maaha wax aan macno lahayn, maadaama tani ay tahay waxa * BSD had iyo jeer samayn jirtay."

Waxa kale oo uu ka walaacsan yahay in bixinta habka TRNG uu si fudud ugu adeegi doono sidii sed loogu talagalay soo-saarayaasha codsiyada wuxuuna aaminsan yahay in xaqiiqda, marka la eego noocyada kala duwan ee qalabka ay taageerto Linux, aysan suurtagal ahayn in la damaanad qaado TRNG ee kernel. Xitaa awooda lagu shaqeeyo qalabka kaliya ee leh mudnaanta xididka ma xallin doonto dhibaatada: "Horumarinta arjiyada waxay cadeeyaan in codsigooda lagu rakibay xidid ujeedo amni, si tani ay tahay habka kaliya ee aad ku heli karto lambarrada 'runtii wanaagsan' ee random."

Mueller ayaa waydiiyay bal in Cao uu ka tagay dhaqangelinta barkadda xannibaadda ee isaga laftiisu uu muddo dheer soo jeediyay. Cao waxa uu ku jawaabay in uu qorshaynayo in uu qaato balastarrada Lutomirsky oo uu si firfircoon uga soo horjeedo in lagu daro interneedka xannibaya kernel-ka.

"Kernelku ma samayn karo wax dammaanad ah oo ku saabsan in isha qaylada si habboon loo sifeeyey iyo in kale. Waxa kaliya ee horumariyaha GPG ama OpenSSL uu heli karo waa dareen aan caddayn oo ah in RUNTA ay ka wanaagsan tahay, maadaama ay rabaan ammaan badan, waxay shaki la'aan isku dayi doonaan inay isticmaalaan. Mar uun waa la xannibi doonaa, iyo marka isticmaale kale oo caqli badan (laga yaabo inuu ku takhasusay qaybinta) geliyo qoraalka init oo nidaamyadu joojiyaan shaqada, isticmaalayaashu waxay kaliya u dacwoon doonaan Linus Torvalds laftiisa."

Cao wuxuu kaloo u ololeeyaa in la siiyo cryptographers iyo kuwa dhab ahaantii u baahan TRNG si ay u goostaan ​​entropykooda meel bannaan oo isticmaale si ay u isticmaalaan sida ay u arkaan taam. Waxa uu sheegay in ururinta entropy aanay ahayn hannaan uu kernelku ku samayn karo dhammaan qalabyada kala duwan ee ay taageerto, sidoo kalena kernel-ku laftiisu ma qiyaasi karo xaddiga entropy ee ay bixiyaan ilo kala duwan.

"Kernel-ku waa inuusan isku qasin ilo kala duwan oo buuq ah, waana inaysan isku dayin inay sheegato inay ogaato inta xabbo ee entropy ay heleyso marka ay isku dayeyso inay ku ciyaarto nooc ka mid ah "ciyaaraha entropy" ee CPU aad u fudud. Nashqadaynta isticmaalayaasha Macmiilka: IOT/ Kiisaska ku dhex jira oo wax walba ka baxsan yihiin hal-abuurka oscillator-ka keliya, halkaas oo aysan jirin tilmaamaha CPU si dib loogu habeeyo ama dib loogu magacaabo diiwaanka, iwm.

"Waxaad ka hadli kartaa bixinta qalab isku dayaya in lagu sameeyo xisaabaadkan, laakiin waxyaalahan oo kale waa in lagu sameeyaa qalab kasta oo isticmaala, taas oo aan si fudud u ahayn wax ku ool ah inta badan isticmaalayaasha qaybinta. Haddii tan kaliya loogu talagalay cryptographers, markaa ha lagu sameeyo meel bannaan oo isticmaale. Oo yaynaan fududayn GPG, OpenSSL, iwm. si qof kastaa u yiraahdo "waxaan rabnaa "rastoosnimo run ah" oo aanan ku degi doonin wax yar." Waxaan ka hadli karnaa sida aan u siino is-dhexgalka cryptographers si ay u helaan macluumaadka ay u baahan yihiin iyaga oo gelaya ilaha qaylada aasaasiga ah, la kala soocay oo la magacaabay, iyo laga yaabee si uun isha qaylada waxay isu xaqiijin kartaa maktabad ama codsiga booska isticmaale. "

Waxaa jiray xoogaa dood ah oo ku saabsan sida uu u ekaan karo is-dhexgal, maadaama tusaale ahaan ay dhici karto in ay saameyn amni ku yeelan karto dhacdooyinka qaarkood. Cao wuxuu xusay in koodhka iskaanka kiiboodhka (ie. furayaasha furaha) lagu qaso barkad iyada oo qayb ka ah ururinta entropy: "Keenista tan booska isticmaalaha, xitaa iyada oo loo marayo wicitaanka nidaamka mudnaanta leh, waxay noqon lahayd caqli-darro in la yiraahdo ugu yaraan." Waa suurtogal in wakhtiyada kale ee dhacdooyinka ay abuuraan nooc ka mid ah macluumaadka daadinta kanaalada dhinaca.

Markaa waxay u egtahay dhibaato soo jireen ah oo ku saabsan nidaamka hoose ee lambarka random ee Linux inuu ku socdo dariiqa xal. Isbeddelada uu nidaamka hoose ee lambarka random-ku dhawaanahan soo maray ayaa dhab ahaantii keenay kaliya arrimaha DoS marka la isticmaalayo. Hadda waxaa jira habab hufan oo lagu helo lambarrada random-ka ugu fiican ee kernelku bixin karo. Haddii TRNG weli laga doonayo Linux, markaa cilladdani waxay u baahan doontaa in wax laga qabto mustaqbalka, laakiin waxay u badan tahay in tan laguma samayn doono kernel lafteeda.

Xayeysiisyada qaar πŸ™‚

Waad ku mahadsan tahay inaad nala joogto. Ma jeceshahay maqaalladayada? Ma doonaysaa inaad aragto wax badan oo xiiso leh? Nagu taageer adigoo dalbanaya amar ama kula talinaya asxaabta, Cloud VPS ee horumariyeyaasha laga bilaabo $ 4.99, analoog gaar ah oo ah server-yada heerka gelitaanka, kaas oo anaga aanu adiga kuu hindisay: Xaqiiqada oo dhan ee ku saabsan VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps laga bilaabo $19 ama sida loo wadaago server? (waxaa laga heli karaa RAID1 iyo RAID10, ilaa 24 cores iyo ilaa 40GB DDR4).

Dell R730xd 2x ka jaban xarunta xogta Equinix Tier IV ee Amsterdam? Kaliya halkan 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV laga bilaabo $199 Nederlaan! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - laga bilaabo $99! Wax ka akhri Sida loo dhiso infrastructure Corp. fasalka iyadoo la adeegsanayo Dell R730xd E5-2650 v4 servers oo qiimahoodu yahay 9000 euro dinaar?

Source: www.habr.com

Add a comment