Linux: toirt air falbh glas pool / dev/random

/ dev/random, gineadair àireamh meallta meallta gu tèarainte (CSPRNG), tha fios gu bheil aon dhuilgheadas annasach: bacadh. Tha an artaigil seo a’ mìneachadh mar as urrainn dhut fuasgladh fhaighinn air.

Thairis air na beagan mhìosan a dh’ fhalbh, chaidh na goireasan gineadh àireamh air thuaiream anns an kernel ath-obrachadh beagan, ach chaidh duilgheadasan san fho-shiostam seo fhuasgladh thairis air a’ chùrsa nas fharsainge. frèam-ama. As motha atharraichean mu dheireadh chaidh an dèanamh gus casg a chuir air gairm siostam getrandom () bho bhith a’ bacadh airson ùine mhòr nuair a bhios an siostam a’ bròg, ach b’ e an adhbhar bunaiteach airson seo giùlan bacadh an linne air thuaiream. Bhiodh bad o chionn ghoirid air an amar seo a thoirt air falbh agus bhiodh dùil gun deidheadh ​​​​e a dh’ ionnsaigh a ’phrìomh chridhe.

Dh’fhoillsich Andy Lutomirski an treas dreach den phaiste aig deireadh na Dùbhlachd. Tha e a' cur ris "dà atharrachadh mòr semantach air APIan Linux air thuaiream". Bidh am paiste a’ cur bratach GRND_INSECURE ùr ri gairm siostam getrandom () (ged a tha Lutomirsky a’ toirt iomradh air mar getentropy (), a tha air a chuir an gnìomh ann an glibc a’ cleachdadh getrandom () le brataichean stèidhichte); tha am bratach seo ag adhbhrachadh gum bi a’ ghairm an-còmhnaidh a’ tilleadh na tha de dhàta a dh’ iarradh, ach gun a bhith cinnteach gu bheil an dàta air thuaiream. Nì an kernel dìreach a dhìcheall gus an dàta air thuaiream as fheàrr a th’ aige a thoirt gu buil aig an àm ainmichte. “Is dòcha gur e an rud as fheàrr ri dhèanamh a bhith ga ainmeachadh mar ‘INSECURE’ (mì-chinnteach) gus casg a chuir air an API seo a bhith air a chleachdadh airson rudan a tha feumach air tèarainteachd."

Bidh na pìosan cuideachd a’ toirt air falbh an amar bacaidh. Tha an kernel an-dràsta a’ cumail dà chruinneachadh dàta air thuaiream, aon a’ freagairt air / dev/random agus am fear eile gu / dev/urandom, mar a tha air a mhìneachadh san seo artaigil 2015. Is e an amar bacaidh an amar airson / dev/random; Bidh leughaidhean airson an inneal sin a’ bacadh (a’ ciallachadh an ainm) gus am bi entropy “gu leòr” air a chruinneachadh bhon t-siostam gus an t-iarrtas a shàsachadh. Tha tuilleadh leughaidhean bhon fhaidhle seo air am bacadh cuideachd mura h-eil entropy gu leòr san linne.

Le bhith a’ toirt air falbh an amar glasaidh tha sin a’ ciallachadh gu bheil leughadh bho / dev / air thuaiream gad ghiùlan fhèin mar getrandom () le brataichean air an suidheachadh gu neoni (agus a’ tionndadh bratach GRND_RANDOM gu bhith na noop). Aon uair ‘s gu bheil an gineadair àireamh air thuaiream criptografach (CRNG) air a thòiseachadh, cha chuir leughadh bho / dev / air thuaiream agus fiosan gu getrandom (…, 0) bacadh air agus tillidh e an ìre de dhàta air thuaiream a chaidh iarraidh.

Lutomirsky ag ràdh: “Tha mi a’ creidsinn gu bheil an amar bacaidh Linux air a dhol à bith. Bidh CRNG Linux a’ gineadh toradh a tha math gu leòr airson eadhon a chleachdadh airson prìomh ghinealach. Chan eil an amar bacaidh nas làidire ann an seagh tàbhachdach sam bith agus tha feum air tòrr bun-structair le luach amharasach gus taic a thoirt dha.”

Chaidh na h-atharrachaidhean a dhèanamh leis an amas dèanamh cinnteach nach biodh fìor bhuaidh aig na prògraman a th’ ann mar-thà, agus gu dearbh, bhiodh nas lugha de dhuilgheadasan ann le feitheamh fada airson rudan leithid prìomh ghinealach GnuPG.

“Chan fhaod na tachartasan sin dragh a chuir air prògraman sam bith a th’ ann. /dev/urandom fhathast gun atharrachadh. / dev/random fhathast a’ blocadh sa bhad air bròg, ach bidh e a’ blocadh nas lugha na bha e roimhe. tillidh getentropy() leis na brataichean a th’ ann mar-thà toradh a tha a cheart cho freagarrach airson adhbharan practaigeach ’s a bha e roimhe.”

Thug Lutomirsky fa-near gur e ceist fhosgailte a th’ ann fhathast am bu chòir don kernel “fìor àireamhan air thuaiream,” ris an canar, agus sin a bha còir aig an kernel bacaidh a dhèanamh gu ìre. Chan eil e a’ faicinn ach aon adhbhar airson seo: “gèilleadh ri inbhean an riaghaltais.” Mhol Lutomirsky nam biodh an kernel gu bhith a’ toirt seachad seo, gum bu chòir a dhèanamh tro eadar-aghaidh gu tur eadar-dhealaichte, no gum bu chòir a ghluasad a-steach gu àite luchd-cleachdaidh, a’ leigeil leis an neach-cleachdaidh sampallan tachartais amh fhaighinn a dh’ fhaodadh a bhith air an cleachdadh gus amar glasaidh mar sin a chruthachadh.

Mhol Stephan Müller an seata aige badannan airson Linux Gineadair Àireamh Random (LRNG) (dreach 26 air a leigeil ma sgaoil an-dràsta) a bhith na dhòigh air fìor àireamhan air thuaiream a thoirt seachad airson tagraidhean a tha feumach air. Tha LRNG “a’ gèilleadh gu h-iomlan ri Stiùireadh SP800-90B air Stòran Entropy a thathas a ’cleachdadh gus pìosan air thuaiream a ghineadh,” ga fhàgail na fhuasgladh air duilgheadas inbhean an riaghaltais.
Chuir Matthew Garrett an aghaidh an teirm “fìor dhàta air thuaiream,” a ’toirt fa-near gum faodadh na h-innealan a chaidh an samplachadh a bhith air am modaladh ann am prionnsapal mionaideach gu leòr gus am biodh iad ro-innseach:“ chan eil sinn a ’samplachadh tachartasan cuantamach an seo.”

Fhreagair Müller gu bheil an teirm a ’tighinn bho inbhe Gearmailteach AIS 31 gus cunntas a thoirt air gineadair àireamh air thuaiream nach toir a-mach ach toradh“ aig an aon ìre ’s a tha an stòr fuaim bunaiteach a’ toirt a-mach entropy. ”

Bidh eadar-dhealachaidhean briathrachais gu aon taobh, le bhith a’ faighinn amar glasaidh mar a chaidh a mholadh leis na pìosan LRNG dìreach a’ leantainn gu diofar dhuilgheadasan, co-dhiù ma gheibhear thuige às aonais sochairean.

Mar a thuirt Lutomirsky: “Chan eil seo a’ fuasgladh na trioblaid. Ma bhios dà chleachdaiche eadar-dhealaichte a’ ruith prògraman gòrach mar gnupg, bidh iad dìreach a’ traoghadh a chèile. Tha mi a’ faicinn gu bheil dà phrìomh dhuilgheadas ann an-dràsta le / dev/random: tha e buailteach do DoS (ie dìth ghoireasan, buaidh droch-rùnach no rudeigin coltach ris), agus leis nach eil feum air sochairean airson a chleachdadh, tha e cuideachd dualtach droch dhìol a dhèanamh. Tha Gnupg ceàrr, is e tuiteam iomlan a th’ ann. Ma chuireas sinn eadar-aghaidh ùr neo-leasaichte ris a chleachdas gnupg agus prògraman coltach ris, caillidh sinn a-rithist."

Thug Mueller fa-near gun leigeadh getrandom () a-nis le GnuPG an eadar-aghaidh seo a chleachdadh, leis gun toir e seachad an gealltanas riatanach gun deach an amar a thòiseachadh. Stèidhichte air còmhraidhean leis an leasaiche GnuPG Werner Koch, tha Mueller den bheachd gur e am barantas an aon adhbhar a tha GnuPG an-dràsta a’ leughadh gu dìreach bho / dev/random. Ach ma tha eadar-aghaidh neo-leasaichte ann a tha buailteach a bhith a’ diùltadh seirbheis (mar a tha / dev / air thuaiream an-diugh), tha Lutomirsky ag argamaid gun tèid a mhì-chleachdadh le cuid de thagraidhean.

Tha e coltach gu bheil Theodore Yue Tak Ts’o, leasaiche fo-shiostam àireamhan air thuaiream Linux, air inntinn atharrachadh mun fheum air amar bacaidh. Thuirt e gum biodh toirt air falbh an amar seo gu h-èifeachdach a’ faighinn cuidhteas a’ bheachd gu bheil fìor ghineadair àireamhan air thuaiream (TRNG) aig Linux: "chan eil seo gòrach, oir is e seo dìreach a rinn * BSD a-riamh."

Tha e cuideachd draghail gum bi a bhith a’ toirt seachad uidheamachd TRNG dìreach mar bhiathadh do luchd-leasachaidh thagraidhean agus tha e den bheachd gu dearbh, leis na diofar sheòrsaichean bathar-cruaidh le taic bho Linux, gu bheil e do-dhèanta TRNG a ghealltainn anns an kernel. Cha bhith eadhon an comas a bhith ag obair le uidheamachd a-mhàin le sochairean bunaiteach a ’fuasgladh na duilgheadas: msgstr "Sònraichidh luchd-leasachaidh an aplacaid gun tèid an aplacaid aca a stàladh mar fhreumh airson adhbharan tèarainteachd, gus gur e seo an aon dòigh anns am faigh thu cothrom air na h-àireamhan air thuaiream ‘fìor mhath’."

Dh’ fhaighnich Mueller an robh Cao air buileachadh an amar bacaidh a bha e fhèin air a mholadh o chionn fhada a thrèigsinn. Fhreagair Cao gu bheil e an dùil badan Lutomirsky a ghabhail agus gu gnìomhach an aghaidh cuir ris eadar-aghaidh bacaidh air ais chun kernel.

“Chan urrainn don kernel gealltanas sam bith a thoirt seachad a bheil an stòr fuaim air a chomharrachadh gu ceart. Is e an aon rud a gheibh leasaiche GPG no OpenSSL faireachdainn neo-shoilleir gu bheil TRUERANDOM “nas fheàrr”, agus leis gu bheil iad ag iarraidh barrachd tèarainteachd, gun teagamh feuchaidh iad ri a chleachdadh. Aig àm air choreigin thèid a bhacadh, agus nuair a chuireas neach-cleachdaidh snasail eile (is dòcha eòlaiche cuairteachaidh) a-steach don sgriobt init agus stadaidh na siostaman ag obair, cha bhith aig luchd-cleachdaidh ach ri gearan a dhèanamh ri Linus Torvalds fhèin."

Tha Cao cuideachd a’ tagradh a bhith a’ toirt dòigh dha criptografaichean agus dhaibhsan a dh’ fheumas TRNG an entropy aca fhèin a bhuain ann an àite luchd-cleachdaidh airson a chleachdadh mar a chì iad iomchaidh. Tha e ag ràdh nach e pròiseas a th’ ann a bhith a’ tional entropy a dh’ fhaodas an kernel a dhèanamh air a h-uile bathar-cruaidh eadar-dhealaichte a tha e a’ toirt taic, agus nach urrainn don kernel fhèin tuairmse a dhèanamh air an ìre de entropy a bheir diofar stòran seachad.

“Cha bu chòir don kernel a bhith a’ measgachadh diofar stòran fuaim ri chèile, agus gu dearbh cha bu chòir dha a bhith a’ feuchainn ri faighinn a-mach cia mheud pìos de entropy a tha e a’ faighinn nuair a tha e a’ feuchainn ri seòrsa de “gheam entropy twitchy” a chluich air CPU a tha gu math sìmplidh. ailtireachd airson luchd-cleachdaidh luchd-cleachdaidh. IOT / Cùisean freumhaichte far a bheil a h-uile càil a-mach à sioncranachadh le aon phrìomh oscillator, far nach eil stiùireadh CPU ann airson clàr ath-òrdachadh no ath-ainmeachadh, msaa. ”

“Faodaidh tu bruidhinn mu bhith a’ toirt seachad innealan a dh’ fheuchas ris na h-àireamhachadh sin a dhèanamh, ach feumar rudan mar sin a dhèanamh air bathar-cruaidh gach neach-cleachdaidh, rud nach eil dìreach practaigeach don mhòr-chuid de luchd-cleachdaidh sgaoilidh. Mura h-eil seo ach airson cryptographers, an uairsin leig leis a dhèanamh anns an àite cleachdaiche aca. Agus na leig leinn GPG, OpenSSL, msaa a dhèanamh nas sìmplidhe gus am bi a h-uile duine ag ràdh "tha sinn ag iarraidh "fìor thuaiream" agus nach socraich sinn airson nas lugha." Is urrainn dhuinn bruidhinn air mar a bheir sinn seachad eadar-aghaidh do luchd-crioptachaidh gus am faigh iad am fiosrachadh a tha a dhìth orra le bhith a’ faighinn cothrom air na prìomh stòran fuaim, air an sgaradh agus air an ainmeachadh, agus is dòcha dòigh air choireigin is urrainn don stòr fuaim e fhèin a dhearbhadh gu leabharlann no iarrtas àite neach-cleachdaidh."

Bha beagan còmhraidh ann mu cò ris a bhiodh an leithid de eadar-aghaidh coltach, oir mar eisimpleir dh’ fhaodadh gum biodh buaidh tèarainteachd aig cuid de thachartasan. Thug Cao fa-near gu bheil còdan scan meur-chlàr (ie prìomh bhuillean) air am measgachadh ann an amar mar phàirt den chruinneachadh entropy: “Bhiodh e mì-chinnteach seo a thoirt a-steach don àite luchd-cleachdaidh, eadhon tro ghairm siostam sochair, a’ char as lugha. ” Tha e gu math comasach gun cruthaich amannan tachartais eile seòrsa de dh’ aoidion fiosrachaidh tro shianalan taobh.

Mar sin tha e coltach gu bheil duilgheadas fad-ùine ann le fo-shiostam àireamhan air thuaiream Linux air an t-slighe gu fuasgladh. Tha na h-atharrachaidhean a chaidh a dhèanamh air an fho-shiostam àireamhan air thuaiream o chionn ghoirid air leantainn gu cùisean DoS fhad ‘s a bha iad ga chleachdadh. A-nis tha dòighean èifeachdach ann gus na h-àireamhan air thuaiream as fheàrr fhaighinn as urrainn don kernel a thoirt seachad. Ma tha TRNG fhathast ion-mhiannaichte air Linux, feumar dèiligeadh ris an locht seo san àm ri teachd, ach is coltaiche nach tèid seo a dhèanamh taobh a-staigh an kernel fhèin.

Cuid de shanasan 🙂

Tapadh leibh airson fuireach còmhla rinn. An toil leat na h-artaigilean againn? A bheil thu airson susbaint nas inntinniche fhaicinn? Thoir taic dhuinn le bhith a’ cur òrdugh no a’ moladh do charaidean, sgòth VPS airson luchd-leasachaidh bho $4.99, analog sònraichte de luchd-frithealaidh ìre inntrigidh, a chaidh a chruthachadh leinn dhut: An fhìrinn gu lèir mu VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps bho $ 19 no ciamar a roinn thu frithealaiche? (ri fhaighinn le RAID1 agus RAID10, suas ri 24 cores agus suas ri 40GB DDR4).

Dell R730xd 2x nas saoire ann an ionad dàta Equinix Tier IV ann an Amsterdam? A-mhàin an seo 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV bho $199 anns an Òlaind! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - bho $99! Leugh mu dheidhinn Ciamar a thogail bun-structair Corp. clas le bhith a’ cleachdadh frithealaichean Dell R730xd E5-2650 v4 luach 9000 iùro airson sgillinn?

Source: www.habr.com

Cuir beachd ann