Linux: bain an linn glas / dev/randamach

/dev/random, gineadóir uimhir randamach bréige atá slán cripteagrafach (CSPRNG), is eol go bhfuil fadhb chorraitheach amháin aige: blocáil. Míníonn an t-alt seo conas is féidir leat é a réiteach.

Le cúpla mí anuas, tá na háiseanna giniúna uimhreacha randamacha san eithne beagán athoibrithe, ach réitíodh fadhbanna san fhochóras seo le linn na tréimhse níos leithne. fráma ama. An meid is mó athruithe deireanacha chun cosc ​​a chur ar ghlao an chórais getrandom() ó bhlocáil ar feadh i bhfad nuair a bhíonn an córas tosaithe, ach ba é an chúis bhunúsach leis seo ná iompar blocála na linne randamach. Bhainfeadh paiste le déanaí an linn seo agus bheifí ag súil go rachadh sé i dtreo an phríomhchroí.

D’fhoilsigh Andy Lutomirski an tríú leagan den paiste ag deireadh mhí na Nollag. Cuireann sé "dhá athrú shéimeantach mhór ar APIanna randamacha Linux". Cuireann an paiste bratach GRND_INSECURE nua leis an nglao córais getrandom() (cé go dtagraíonn Lutomirsky dó mar getentropy(), a chuirtear i bhfeidhm i glibc ag baint úsáide as getrandom() le bratacha seasta); cuireann an bhratach seo an glao ar ais i gcónaí ar an méid sonraí a iarrtar, ach gan ráthaíocht a thabhairt go bhfuil na sonraí randamach. Ní dhéanfaidh an t-eithne ach a dhícheall na sonraí randamacha is fearr atá aige ag an am ar leith a tháirgeadh. “Is dócha gurb é an rud is fearr le déanamh ná ‘INSECURE’ a thabhairt air (neamhchinnteach) chun cosc ​​a chur ar an API seo a úsáid le haghaidh rudaí a dteastaíonn slándáil uathu."

Baineann na paistí as an linn blocála freisin. Coinníonn an eithne dhá chomhthiomsú sonraí randamacha, ceann a fhreagraíonn do /dev/randamach agus an ceann eile do /dev/urandom, mar a thuairiscítear sa Airteagal 2015. Is é an linn blocála an linn le haghaidh /dev/random; blocfaidh léamha don ghléas sin (a chiallaíonn a ainm) go dtí go mbeidh eantrópacht "go leor" bailithe ón gcóras chun an t-iarratas a shásamh. Cuirtear bac freisin ar léamha breise ón gcomhad seo mura bhfuil go leor eantrópachta sa linn.

Má bhaintear an comhthiomsú glasála ciallaíonn sé go n-iompraíonn léamh ó /dev/randamach cosúil le getrandom() le bratacha socraithe go nialas (agus déanann sé bratach GRND_RANDOM ina noop). Nuair a bheidh an gineadóir cripteagrafach uimhir randamach (CRNG) tosaithe, ní chuirfidh léamh ó /dev/randamach agus glaonna chuig getrandom(…,0) bac ar agus seolfaidh sé ar ais an méid sonraí randamacha a iarrtar.

Deir Lutomirsky: “Creidim go bhfuil an linn blocála Linux imithe i léig. Gineann CRNG Linux aschur atá maith go leor le húsáid fiú le haghaidh eochairghiniúna. Níl an linn blocála níos láidre in aon chiall ábhartha agus teastaíonn go leor bonneagair a bhfuil luach amhrasach air chun tacú leis.”

Rinneadh na hathruithe agus é mar aidhm acu a chinntiú nach gcuirfí isteach i ndáiríre ar chláir atá ann cheana féin, agus go deimhin, bheadh ​​níos lú fadhbanna ann maidir le tréimhsí fada ama le haghaidh rudaí mar eochairghiniúint GnuPG.

“Ní fhéadfaidh na heachtraí seo cur isteach ar aon chláir atá ann cheana féin. /dev/urandom fós gan athrú. bloic /dev/random fós díreach ar tosaithe, ach bloic sé níos lú ná riamh. Tabharfaidh getentropy() leis na bratacha atá ann cheana féin toradh atá chomh hoiriúnach céanna chun críocha praiticiúla agus a bhí roimhe seo."

Thug Lutomirsky faoi deara gur ceist oscailte í fós cé acu ar cheart don eithne “fíoruimhreacha randamacha” mar a thugtar orthu a sholáthar, agus sin an rud a bhí le déanamh ag an eithne blocála go pointe áirithe. Ní fheiceann sé ach cúis amháin leis seo: "caighdeáin an rialtais a chomhlíonadh." Mhol Lutomirsky dá gcuirfí an t-eithne ar fáil, ba cheart é a dhéanamh trí chomhéadan go hiomlán difriúil, nó ba cheart é a bhogadh isteach sa spás úsáideora, rud a ligeann don úsáideoir samplaí amh imeachtaí a aisghabháil a d'fhéadfaí a úsáid chun linn snámha den sórt sin a chruthú.

Mhol Stephan Müller a thacar paistí le haghaidh Linux D’fhéadfadh Gineadóir Uimhir Randamach (LRNG) (leagan 26 a scaoileadh faoi láthair) a bheith ina bhealach chun fíoruimhreacha randamacha a sholáthar d’fheidhmchláir a bhfuil gá acu leis. Tá LRNG “go hiomlán comhlíontach le Treoirlínte SP800-90B ar Fhoinsí Eantrópachta a Úsáidtear chun Giotáin Randamacha a Ghiniúint,” rud a fhágann gur réiteach é ar fhadhb chaighdeáin an rialtais.
Chuir Matthew Garrett i gcoinne an téarma “fíorshonraí randamacha,” ag tabhairt faoi deara go bhféadfaí i bprionsabal na gléasanna a sampláil a bheith cruinn go leor chun iad a dhéanamh intuartha: “níl teagmhais chandamach á sampláil againn anseo.”

D'fhreagair Müller go dtagann an téarma ón gcaighdeán Gearmánach AIS 31 chun cur síos a dhéanamh ar ghineadóir uimhreacha randamacha nach ndéanann ach toradh "ag an ráta céanna agus a tháirgeann an fhoinse torainn bhunúsach eantrópachta."

Ar leataobh difríochtaí téarmaíochta, má tá linn glas mar atá molta ag na paistí LRNG beidh sé mar thoradh go simplí fadhbanna éagsúla, ar a laghad má tá rochtain air gan pribhléidí.

Mar a dúirt Lutomirsky: “Ní réitíonn sé seo an fhadhb. Má ritheann dhá úsáideoir éagsúla cláir dúr cosúil le gnupg, beidh siad ag draenáil a chéile. Feicim go bhfuil dhá phríomhfhadhb le /dev/random faoi láthair: tá seans maith ann do DoS (i.e. ídiú acmhainní, tionchar mailíseach nó rud éigin cosúil leis), agus ós rud é nach bhfuil aon phribhléid ag teastáil chun é a úsáid, tá seans maith ann go ndéanfar mí-úsáid air freisin. Tá Gnupg mícheart, is tubaiste iomlán é. Má chuirimid comhéadan nua neamhphribhléideach leis a úsáidfidh gnupg agus cláir chomhchosúla, caillfimid arís."

Thug Mueller faoi deara go gceadófar anois do GnuPG an comhéadan seo a úsáid mar gheall ar getrandom() a chur leis, ós rud é go soláthróidh sé an ráthaíocht is gá gur cuireadh tús leis an linn. Bunaithe ar phlé le forbróir GnuPG Werner Koch, creideann Mueller gurb é an ráthaíocht an t-aon chúis a léann GnuPG faoi láthair go díreach ó /dev/random. Ach má tá comhéadan neamhphribhléideach ann a d’fhéadfadh seirbhís a dhiúltú (mar atá /dev/randamach inniu), áitíonn Lutomirsky go mbainfear mí-úsáid as i roinnt feidhmchlár.

Is cosúil gur athraigh Theodore Yue Tak Ts'o, forbróir fhochóras uimhreacha randamacha Linux, a intinn faoin ngá atá le linn blocála. Dúirt sé go gcuirfí deireadh leis an smaoineamh go bhfuil fíor-ghineadóir uimhreacha randamacha (TRNG) ag Linux: "Ní nonsense é seo, mar is é seo go díreach cad a rinne *BSD i gcónaí."

Tá imní air freisin go bhfreastalóidh soláthar meicníocht TRNG mar bhaoite d’fhorbróirí feidhmchlár agus creideann sé go deimhin, i bhfianaise na gcineálacha éagsúla crua-earraí a fhaigheann tacaíocht ó Linux, go bhfuil sé dodhéanta TRNG a ráthú san eithne. Ní réiteoidh fiú an cumas oibriú le trealamh ach le pribhléidí fréamhacha an fhadhb: msgstr "Sonraíonn forbróirí feidhmchlár go ndéanfaí a bhfeidhmchlár a shuiteáil mar fhréamh chun críocha slándála, ionas gurb é seo an t-aon bhealach inar féidir leat rochtain a fháil ar na huimhreacha randamacha 'fíormhaith'."

D'fhiafraigh Mueller an raibh Cao tar éis cur i bhfeidhm na linne blocála a bhí molta aige féin le fada a thréigean. D'fhreagair Cao go bhfuil sé beartaithe aige paistí Lutomirsky a ghlacadh agus go gníomhach i gcoinne comhéadan blocála a chur ar ais go dtí an eithne.

“Ní féidir leis an eithne aon ráthaíochtaí a thabhairt maidir le cibé an bhfuil saintréith cheart ag an bhfoinse torainn. Is é an t-aon rud is féidir le forbróir GPG nó OpenSSL a fháil ná mothú doiléir go bhfuil TRUERANDOM "níos fearr", agus ós rud é go dteastaíonn níos mó slándála uathu, déanfaidh siad iarracht gan amhras é a úsáid. Ag pointe éigin cuirfear bac air, agus nuair a chuireann úsáideoir cliste éigin eile (b’fhéidir speisialtóir dáileacháin) isteach sa script init é agus nuair a stopann na córais ag obair, ní bheidh ar úsáideoirí ach gearán a dhéanamh le Linus Torvalds féin.”

Molann Cao freisin bealach a thabhairt do chripteagrafóirí agus dóibh siúd a bhfuil TRNG de dhíth orthu i ndáiríre chun a gcuid eantrópachta féin a bhaint i spás úsáideoirí le húsáid mar is cuí leo. Deir sé nach próiseas é bailiú eantrópachta is féidir leis an eithne a dhéanamh ar na crua-earraí éagsúla a thacaíonn sé, agus nach féidir leis an eithne féin meastachán a dhéanamh ar an méid eantrópachta a sholáthraíonn foinsí éagsúla.

"Níor cheart go mbeadh an t-eithne ag meascadh foinsí éagsúla torainn le chéile, agus is cinnte nár cheart go mbeadh sé ag iarraidh a éileamh go mbeadh a fhios aige cé mhéad giotán eantrópachta atá á fháil aige agus é ag iarraidh "cluiche eantrópachta twitchy" de chineál éigin a imirt ar LAP thar a bheith simplí. ailtireacht le haghaidh úsáideoirí tomhaltóirí. Cásanna IOT/Leabaithe ina bhfuil gach rud as sioncronú le máistir-oscillator amháin, nuair nach bhfuil aon treoir LAP clár a athordú nó a athainmniú, etc.”

“Is féidir leat labhairt faoi uirlisí a sholáthar a dhéanann iarracht na ríomhanna seo a dhéanamh, ach ní mór rudaí mar sin a dhéanamh ar chrua-earraí gach úsáideora, rud nach bhfuil praiticiúil don chuid is mó d'úsáideoirí dáileacháin. Mura bhfuil sé seo beartaithe ach le haghaidh cripteagrafóirí, ansin lig dó é a dhéanamh ina spás úsáideora. Agus ná déanaimis GPG, OpenSSL, etc. a shimpliú ionas go ndeir gach duine "táimid ag iarraidh "fíor-randúlacht" agus nach socróimid níos lú." Is féidir linn labhairt faoi conas a chuirimid comhéadain ar fáil do chripteagrafóirí ionas gur féidir leo an fhaisnéis a theastaíonn uathu a fháil trí rochtain a fháil ar na príomhfhoinsí torainn, scartha agus ainmnithe, agus b'fhéidir ar bhealach éigin gur féidir leis an bhfoinse torainn é féin a fhíordheimhniú chuig feidhmchlár leabharlainne nó spáis úsáideora."

Bhí roinnt plé ar an gcuma a bheadh ​​ar chomhéadan den sórt sin, mar mar shampla d’fhéadfadh impleachtaí slándála a bheith i gceist le roinnt imeachtaí. Thug Cao faoi deara go ndéantar cóid scanadh méarchláir (i.e. eochairbhuillí) a mheascadh isteach i linn mar chuid den bhailiúchán eantrópachta: "Ní bheadh ​​sé ciallmhar é seo a thabhairt isteach sa spás úsáideora, fiú trí ghlao córais phribhléideach." D'fhéadfadh go gcruthódh amanna imeachta eile sceitheadh ​​faisnéise de chineál éigin trí thaobhbhealaí.

Mar sin is cosúil go bhfuil fadhb le fada an lá le fochóras uimhreacha randamacha Linux ar an mbealach chun réiteach. De bharr na n-athruithe atá déanta ar fhochóras na n-uimhreacha randamacha le déanaí níor tharla ach saincheisteanna DoS agus é á úsáid. Anois tá bealaí éifeachtacha ann chun na huimhreacha randamacha is fearr is féidir leis an eithne a sholáthar a fháil. Má tá TRNG fós inmhianaithe ar Linux, ansin beidh gá aghaidh a thabhairt ar an locht seo sa todhchaí, ach is dócha nach ndéanfar é seo laistigh den eithne féin.

Roinnt fógraí 🙂

Go raibh maith agat as fanacht linn. An maith leat ár n-alt? Ar mhaith leat ábhar níos suimiúla a fheiceáil? Tacaigh linn trí ordú a dhéanamh nó moladh a thabhairt do chairde, scamall VPS d'fhorbróirí ó $4.99, analóg uathúil de fhreastalaithe leibhéal iontrála, a cheap muid duit: An fhírinne iomlán a insint faoi VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps ó $19 nó conas freastalaí a roinnt? (ar fáil le RAID1 agus RAID10, suas le 24 croíleacan agus suas le 40GB DDR4).

Dell R730xd 2x níos saoire i lárionad sonraí Equinix Tier IV in Amstardam? Ach anseo 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 teilifíse ó $199 san Ísiltír! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ó $99! Léigh faoi Conas corprú bonneagair a thógáil. rang le húsáid freastalaithe Dell R730xd E5-2650 v4 fiú 9000 euro ar phingin?

Foinse: will.com

Add a comment