Linus Torvalds įsako užblokuoti Kees Cooką aptikus įtartinų pakeitimų 

Linus Torvalds Con

Prieš kelias dienas įvyko neįprastas incidentas , sukrėtęs „Linux“ branduolio bendruomenę: Linus Torvalds įsakė nedelsiant užblokuoti Keeso Cooko paskyrą kernel.org svetainėje , aptikęs manipuliuojamus pakeitimus šio kūrėjo „Git“ saugykloje.

Keesui Cookui, pripažintam už vadovavimą Ubuntu saugumo komandai ir daugiau nei dešimties su branduolio saugumu susijusių posistemių priežiūrą, buvo laikinai uždrausta teikti pakeitimus, kol bus išsiaiškinti faktai.

Autorystės ir parašų keitimas „Kees Cook“ saugykloje

Problema kilo dėl prašymo įtraukti pakeitimus į 6.16 branduolio šaką, kurioje Linusas rado nuorodas į saugyklą, kurioje yra modifikuotų pakeitimų, o jo vardas nurodytas kaip autorius ir patvirtintojas, nors jis jų nepadarė. Vienas rimčiausių pavyzdžių buvo dublikato, identiško turinio kaip ir originalas, bet su skirtinga SHA1 maiša, egzistavimas, kuriame klaidingai buvo įtrauktas Linuso Torvaldso parašas.

Šių pakeitimų negalima priskirti vien atsitiktinei klaidai atliekant „git“ perkūrimo operaciją, nes jie apėmė didžiulį neskelbtinos informacijos pakeitimą, įskaitant daugiau nei 6.000 perrašytų pakeitimų, iš kurių 330 buvo nurodyti kaip autoriaus Linus vardas.

Torvaldo reakcija: įtarimai dėl tyčinio manipuliavimo

Linus Torvalds neslėpė savo susirūpinimo ir įvykius apibūdino kaip potencialiai kenkėjiškus:

„Vienas ar du perrašymai galėtų būti klaida. Tačiau tūkstančiai jų, daugelis su mano suklastotu parašu, nėra“, – pareiškė jis.

Atsižvelgdamas į pakeitimų mastą ir riziką oficialaus branduolio medžio vientisumui, Torvalds paprašė „kernel.org“ infrastruktūros administratoriaus Konstantino Ryabitsevo užblokuoti Keeso Cooko prieigą, kol situacija bus išaiškinta.

Atsakydamas Keesas Cookas paaiškino, kad neseniai susidūrė su techniniais sunkumais , kurie galėjo sukelti incidentą. Jis teigė, kad jo SSD diskas veikė netinkamai kopijavimo metu, dėl to buvo sugadinti keli saugyklų duomenys. Po šių klaidų jis bandė atkurti saugyklos būseną naudodamas „git rebase“ ir įvairius automatizavimo įrankius.

Tačiau šios operacijos buvo atliekamos su kritinėmis šakomis , tokiomis kaip „for-next/hardening“ ir „for-linus/hardening“, dėl ko buvo netyčia pakeista saugyklos istorija, įskaitant pakeitimų autoriaus teisėje. Nepaisant savo paaiškinimo, Linus išliko skeptiškas.

"Nesuprantu, kaip galėjo įvykti netyčinis lenkimas, jau nekalbant apie tokius pakeitimus."

Tikrasis kaltininkas: „git-filter-repo“ ir „b4“ anonsai

Vėlesniame pranešime Keesas Cookas nurodė tikėtiną klaidos šaltinį : dviejų įrankių – „git-filter-repo“ ir „b4 trailers“ – naudojimą kartu , kurie manipuliuoja pakeitimų istorija ir trailerėmis (tokiomis kaip „Signed-off-by:“) pakeitimų metu.

Dėl netinkamo šių programų naudojimo būtų buvę automatiškai perrašomi tūkstančiai pakeitimų , įskaitant autoriaus pakeitimą numatytąja reikšme (šiuo atveju – Linusu Torvaldsu), Keesui tuo metu nepastebėjus klaidos . Konstantinas Riabicevas, „b4“ įrankio autorius, patvirtino šią teoriją ir tvirtino, kad Cookas neturėjo jokių piktavališkų ketinimų. Tiesą sakant, sistema jau generavo įspėjimus, kurie buvo ignoruojami.

Išsiaiškinus situaciją, Keeso Cooko prieiga prie kernel.org buvo atkurta. Kaip prevencinė priemonė, paskelbta, kad „b4“ įrankyje bus naujas saugumo patikrinimas, kuris neleis modifikuoti pakeitimų, kurių autorystė nesutampa su dabartinio vartotojo tapatybe. Taip siekiama užkirsti kelią panašioms klaidoms ir apsaugoti branduolio šaltinio kodo vientisumą.

Keesas savo ruožtu pažadėjo atkurti paveiktas šakas iš atskirų pataisų ir nuodugniai išanalizuoti veiksmus, dėl kurių atsirado klaida. Nors incidentas įtempė santykius branduolio kūrimo komandoje, jis taip pat pabrėžė, kaip svarbu atsargiai naudoti istorijos perrašymo įrankius, ypač tokiuose svarbiuose projektuose kaip „Linux“ branduolys.

Galiausiai verta paminėti, kad šis incidentas tarp Linuso Torvaldso ir Keeso Cooko yra įspėjimas apie pavojus, kylančius manipuliuojant pakeitimų istorija, ir kad dėl greito „kernel.org“ komandos įsikišimo bei proceso skaidrumo situacija buvo suvaldyta.

Galiausiai, jei norite sužinoti daugiau, išsamią informaciją galite rasti šioje nuorodoje.


Pridėti kaip pageidaujamą šaltinį „Google“ sistemoje