Dèan aithris air co-rèiteachadh stòr git agus bunait luchd-cleachdaidh a’ phròiseict PHP

Chaidh a’ chiad thoraidhean bhon sgrùdadh air tachartas co-cheangailte ri comharrachadh dà ghealladh droch-rùnach ann an stòr Git de phròiseact PHP le backdoor air a chuir an gnìomh nuair a chuirear iarrtas le bann-cinn cleachdaiche cleachdaiche sònraichte air fhoillseachadh. Ann a bhith a’ sgrùdadh lorgan gnìomhachd an luchd-ionnsaigh, chaidh co-dhùnadh nach deach am frithealaiche git.php.net fhèin, air an robh an stòr git suidhichte, a slaodadh, ach chaidh an stòr-dàta le cunntasan luchd-leasachaidh a’ phròiseict a chuir an cunnart. .

Tha e comasach gun robh e comasach don luchd-ionnsaigh an stòr-dàta cleachdaiche a tha air a stòradh san DBMS a luchdachadh sìos air an fhrithealaiche master.php.net. Chaidh susbaint master.php.net a ghluasad mu thràth chun phrìomh fhrithealaiche ùr.php.net a chaidh a chuir a-steach bhon fhìor thoiseach. Chaidh a h-uile facal-faire leasaiche a chaidh a chleachdadh gus faighinn gu bun-structar php.net ath-shuidheachadh agus chaidh am pròiseas atharrachadh tro fhoirm ath-bheothachaidh facal-faire sònraichte. Tha na tasgaidhean git.php.net agus svn.php.net fhathast ri leughadh a-mhàin (tha leasachadh air a ghluasad gu GitHub).

Às deidh faighinn a-mach a’ chiad ghealladh droch-rùnach a chaidh a dhèanamh tro chunntas Rasmus Lerdorf, a stèidhich PHP, chaidh gabhail ris gun deach a chunntas a slaodadh agus chuir Nikita Popov, aon de phrìomh luchd-leasachaidh PHP, na h-atharrachaidhean air ais agus chuir e stad air còraichean gealltanas airson an cunntas trioblaideach. Às deidh beagan ùine, thàinig e gu buil nach robh am bacadh a’ dèanamh ciall, oir às aonais dearbhadh air geallaidhean a’ cleachdadh ainm-sgrìobhte didseatach, dh’ fhaodadh com-pàirtiche sam bith le cothrom air an stòr php-src atharrachadh le bhith a’ cur ainm ùghdair meallta an àite.

An uairsin, chuir an luchd-ionnsaigh gealladh droch-rùnach às leth Nikita fhèin. Le bhith a’ dèanamh anailis air logaichean na seirbheis gitolite, a chaidh a chleachdadh gus ruigsinneachd gu stòran a chuir air dòigh, chaidh oidhirp a dhèanamh gus faighinn a-mach cò an com-pàirtiche a rinn na h-atharrachaidhean. A dh'aindeoin a bhith a' toirt a-steach cunntas airson a h-uile gealltanas, cha robh clàradh sam bith san loga airson dà atharrachadh droch-rùnach. Dh’fhàs e soilleir gun robh co-rèiteachadh ann air a’ bhun-structair, leis gun deach geallaidhean a chuir ris gu dìreach, a’ dol seachad air a’ cheangal tro gitolite.

Chaidh am frithealaiche git.php.net a chiorramachadh gu sgiobalta, agus chaidh am prìomh stòr a ghluasad gu GitHub. Ann an cabhag, chaidh a dhìochuimhneachadh gus faighinn chun stòr, a bharrachd air SSH a ’cleachdadh gitolite, bha cuir a-steach eile ann a leig leat geallaidhean a chuir tro HTTPS. Anns a 'chùis seo, chaidh an git-http-backend a chleachdadh gus eadar-obrachadh le Git, agus chaidh dearbhadh a dhèanamh le bhith a' cleachdadh an fhrithealaiche Apache2 HTTP, a dhearbh teisteanasan le bhith a 'faighinn cothrom air an stòr-dàta a chaidh a chumail anns an DBMS air an fhrithealaiche master.php.net. Chaidh logadh a-steach a cheadachadh chan ann a-mhàin le iuchraichean, ach cuideachd le facal-faire cunbhalach. Dhearbh mion-sgrùdadh air logaichean an fhrithealaiche http gun deach atharrachaidhean droch-rùnach a chur ris tro HTTPS.

Nuair a bha iad a’ sgrùdadh nan logaichean, chaidh innse nach do cheangail an luchd-ionnsaigh a’ chiad uair, ach an toiseach dh’ fheuch iad ri ainm a’ chunntais a lorg, ach às deidh dhaibh a chomharrachadh, chlàraich iad a-steach air a’ chiad oidhirp, i.e. bha fios aca air faclan-faire Rasmus agus Nikita ro-làimh, ach cha robh fios aca air na logaichean aca. Nam biodh e comasach don luchd-ionnsaigh faighinn chun DBMS, chan eil e soilleir carson nach do chleachd iad sa bhad an logadh a-steach ceart a chaidh a shònrachadh an sin. Chan eil an eadar-dhealachadh seo air mìneachadh earbsach fhaighinn fhathast. Thathas den bheachd gur e hack master.php.net an suidheachadh as coltaiche, leis gun do chleachd an frithealaiche seo còd fìor sheann agus seann OS, nach deach ùrachadh airson ùine mhòr agus aig an robh so-leòntachd gun atharrachadh.

Tha na gnìomhan a chaidh a ghabhail a’ toirt a-steach ath-shuidheachadh àrainneachd frithealaiche master.php.net agus gluasad sgriobtaichean chun dreach ùr de PHP 8. Chaidh an còd airson a bhith ag obair leis an DBMS atharrachadh gus ceistean parameterized a chleachdadh a tha a’ dèanamh duilgheadas le bhith a ’cur an àite còd SQL. Tha an algairim bcrypt air a chleachdadh gus hashes facal-faire a stòradh san stòr-dàta (roimhe seo, bha faclan-faire air an stòradh a’ cleachdadh hash MD5 neo-earbsach). Thèid na faclan-faire a th’ ann mar-thà ath-shuidheachadh agus thathas ag iarraidh ort facal-faire ùr a shuidheachadh tron ​​fhoirm ath-bheothachaidh facal-faire. Leis gu robh cothrom air na tasgaidhean git.php.net agus svn.php.net tro HTTPS ceangailte ri hashes MD5, chaidh co-dhùnadh git.php.net agus svn.php.net fhàgail ann am modh leughaidh a-mhàin, agus cuideachd na h-uile a ghluasad an fheadhainn a tha air fhàgail dhaibh tasgaidhean leudachaidh PECL air GitHub, coltach ris a’ phrìomh stòr PHP.

Source: fosgailtenet.ru

Cuir beachd ann