Mae NixOS yn cynnig dull i amddiffyn rhag amnewidiad drws cefn fel XZ

Mae modd adeiladu ailadroddadwy wedi'i gynnig i'w gynnwys yn y storfa becynnau nixpkgs a ddefnyddir yn y dosbarthiad NixOS, sy'n caniatáu nodi achosion o ddrysau cefn yn y cod, yn debyg i'r digwyddiad gyda'r prosiect XZ. Mae'r dull amddiffyn a gyflwynir yn caniatáu canfod addasiadau mewn archifau gyda'r cod ffynhonnell rhyddhau sy'n absennol o'r storfeydd gyda'r cod.

Hanfod y dull yw bod cod ffynhonnell fersiwn newydd y cais yn cael ei ymgynnull ddwywaith - y tro cyntaf o'r cod a lawrlwythwyd o'r ystorfa git, a'r ail dro o'r cod a ddosberthir mewn archifau parod. Os yw'r deuaidd canlyniadol yn wahanol, mae yna reswm i amau ​​​​bod addasiadau cudd yn y storfa neu yn y ffeil archif gyda'r cod.

Gadewch i ni gofio, yn achos y prosiect XZ, nad oedd y storfa gyda'r cod yn cynnwys unrhyw newidiadau amheus. Dosbarthwyd y cydrannau drwgwedd sy'n ffurfio drws cefn y tu mewn i'r ffeiliau a ddefnyddir yn y gyfres brawf i wirio gweithrediad cywir y dadbacio XZ. Cafodd y drws cefn ei actifadu ar lefel y system adeiladu, ac roedd y cod ffynhonnell XZ ei hun yn cyfateb i'r cod o'r ystorfa. Dim ond yn yr archif cod gorffenedig y cynhwyswyd y macros m4 a oedd yn actifadu'r drws cefn ar gyfer pecyn cymorth Automake ac nid oeddent yn bresennol yn yr ystorfa.

Cyflwynwyd y drws cefn yn XZ gan ymosodwr a lwyddodd i gael statws cynhaliwr yn y prosiect. Ni sylwyd ar unwaith ar gyflwyniad y drws cefn oherwydd bod dosbarthiadau yn bennaf yn adeiladu pecynnau trwy lawrlwytho cod o archifau parod, oherwydd wrth lawrlwytho cod ar gyfer cydosod, gallwch fynd heibio gydag un siec i wirio cywirdeb y ffeil gyda'r archif a defnyddio drychau. Mae ffocws adolygiad cod ar ddadansoddi cynnwys y storfa, felly efallai na fydd gwahaniaethau cynnil mewn archifau bob amser yn amlwg ar unwaith.

Er mwyn symleiddio'r broses o ddilysu cydymffurfiad ffeiliau archif a chipluniau cadw sy'n cyfateb i ddatganiadau, mae rhai prosiectau ffynhonnell agored fel PostgreSQL wedi cyflwyno system o gynhyrchu archifau ailadroddadwy. Yn yr achos hwn, darperir offeryn sy'n eich galluogi i gydosod eich archif eich hun yn annibynnol o'r cod, sy'n cyfateb yn llawn i'r archif gorffenedig sydd ar gael i'w lawrlwytho. Os yw archif a grëwyd yn annibynnol a'r archif a ddarperir gan y prif brosiect yn wahanol, mae'r ystorfa neu'r archif gyfeirio wedi'u peryglu.

Y broblem yw mai dim ond mewn achosion ynysig y defnyddir y dull hwn, tra bod llawer o brosiectau'n parhau i gynnwys arteffactau ychwanegol yn yr archifau nad ydynt yn bresennol yn y brif gadwrfa, megis tudalennau dyn, dogfennaeth, enghreifftiau, sgriptiau pecynnu dosbarthu, a ffeiliau adeiladu ychwanegol. Mae hyn yn digwydd yn bennaf oherwydd rhesymau hanesyddol a manylion y prosesau ffurfio rhyddhau. Nid yw cymhariaeth syml o gynnwys y gadwrfa a'r archif yn addas yn yr achos hwn.

Fel ateb, argymhellir casglu ffeiliau deuaidd y datganiad, o'r ystorfa (er enghraifft, gallwch ddefnyddio'r archif a gynhyrchir yn awtomatig yn GitHub ar gyfer y tag rhyddhau), ac o'r archif a baratowyd gan y cynhaliwr, yna cymharu'r canlyniad. Fel arbrawf, dim ond ar gyfer y pecyn "xz" y cynigir galluogi gwiriad o'r fath. Os bydd yr arbrawf yn llwyddiannus, bwriedir defnyddio'r profion mewn pecynnau eraill mewn nixpkgs.

Ffynhonnell: opennet.ru

Prynu gwesteio dibynadwy ar gyfer gwefannau sydd â diogelwch DDoS, gweinyddwyr VPS VDS 🔥 Prynu cynnal gwefannau dibynadwy gyda diogelwch DDoS, gweinyddion VPS VDS | ProHoster