Në NixOS është propozuar një metodë mbrojtjeje kundër futjes së backdoor-eve, si ai në XZ

Për t'u përfshirë në depoun e paketave nixpkgs, që përdoret në distribucionin NixOS, është propozuar një mënyrë e ricikluar e ndërtimit, që mundëson zbërthimin e rasteve të futjes së backdoor-ve në kod, duke i ngjallur incidente si ai i projektit XZ. Metoda e paraqitur e mbrojtjes lejon që të zbulohen modifikimet në arkivat e kodit burimor të lëshimit, që mungojnë në depot e kodit.

Thelbi i metodĂ«s Ă«shtĂ« qĂ« kodi burimor i versionit tĂ« ri tĂ« aplikacionit ndĂ«rtohet dy herĂ« — hera e parĂ« nga kodi i shkarkuar nga git-repo, dhe hera e dytĂ« nga kodi i shpĂ«rndarĂ« nĂ« arkivat e gatshme. NĂ«se skedarĂ«t binarĂ« tĂ« marrĂ« nga ndĂ«rtimet e ndryshme dalin tĂ« ndryshĂ«m, shfaqet njĂ« arsyetim pĂ«r dyshime mbi praninĂ« e modifikimeve tĂ« fshehura nĂ« depo ose nĂ« skedarin arkiv.

Të kujtojmë se në rastin e projektit XZ, depoja e kodit nuk kishte ndryshime të dyshimta. Komponentët që formonin backdoor-in ishin të përfshirë brenda skedarëve që përdorej në grupin e testeve për të verifikuar saktësinë e punës së dekompresorit XZ. Backdoor-i aktivizohej në nivelin e sistemit të ndërtimit, dhe vetë kodi burimor i XZ ishte identik me kodin në depo. Makrosat e activimit të backdoor-it për mjetin Automake ishin përfshirë vetëm në arkivin e gatshëm me kod dhe ishin të munguar në depo.

Backdoor-i në XZ u fut nga një sulmues që arriti të merrte statusin e mbajtësit në projekt. Futja e backdoor-it u kalua menjëherë pa u vënë re, për shkak se distribucionet kryesisht ndërtojnë paketat duke shkarkuar kodin nga arkivat e gatshme, pasi gjatë shkarkimit të kodit për ndërtim mund të mjaftohet me një checksum për të verifikuar integritetin e arkivit dhe për të përdorur pasqyrat. Vëmendja kryesore gjatë verifikimit të kodit përqendrohet në analizën e përmbajtjes së depot, kështu që dallimet e papritur në arkiva nuk mund të identifikohen gjithmonë menjëherë.

Për të lehtësuar verifikimin e përputhshmërisë së skedarëve arkiv dhe prerjeve të depozitës që i përkasin lëshimeve, disa projekte të hapura, si PostgreSQL, kanë futur në përdorim një sistem të rikrijimit të përsëritur të arkivave. Në këtë rast, ofrohet një instrumentacion që lejon krijimin e një arkivi nga kodi, plotësisht të përputhshëm me arkivin e gatshëm të disponueshëm për shkarkim. Nëse arkivi i krijuar në mënyrë të pavarur dhe arkivi i ofruar nga projekti kryesor kanë dallime, atëherë ka një kompromitim të depozitës ose arkivit standard.

Problemi është se një metodë e tillë praktikohet vetëm në raste të veçanta, ndërsa shumë projekte vazhdojnë të përfshijnë në arkiva artefakte shtesë që mungojnë në depozitën kryesore, siç janë faqet e man, dokumentacioni, shembujt, skriptet për krijimin e pakove për shpërndarje dhe skedarë të tjerë të mbledhjes. Kryesisht, kjo ndodh për arsye historike dhe karakteristika të proceseve të formimit të lëshimeve. Një verifikim i thjeshtë i përputhshmërisë së përmbajtjes së depozitës dhe arkivit në këtë rast nuk është i përshtatshëm.

Si zgjidhje është propozuar që të mblidhen skedarë binarë të lëshimeve, si nga depozita (p.sh., mund të përdoret arkivi që gjenerohet automatikisht në GitHub për etiketën e lëshimit), ashtu edhe nga arkivi i përgatitur nga mbikëqyrësi, duke krahasuar pastaj rezultatin. Si eksperiment, përfshirja e një verifikimi të tillë është propozuar deri tani vetëm për paketën "xz". Nëse eksperimenti do të jetë i suksesshëm, planifikohen të përdoren verifikime të tilla edhe për paketa të tjera në nixpkgs.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster