Në NixOS është propozuar një metodë mbrojtjeje nga zëvendësimet e backdoor-ëve, të tilla si në XZ.

Për inkludimin në depozitën e paketave nixpkgs, e përdorur në distributin NixOS, është propozuar një regjimi i ndërtimit të përsëritur, i cili lejon identifikimin e rasteve të inkursionit të backdoorëve në kod, të ngjashëm me incidentin me projektin XZ. Metoda e prezantuar e mbrojtjes lejon zbulimin e modifikimeve në arhivat me kodin burimor të versionit që mungojnë në depozitat me kod.

Qëllimi 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 depozita git, dhe hera e dytë nga kodi i shpërndarë në arhivat e përgatitur. Nëse skedarët binarë të prodhuar nga ndërtimet dallohen, lind një dyshim për praninë e modifikimeve të fshehura në depozitat ose në skedarin arkiv.

Të kujtojmë se në rastin e projektit XZ, depozita e kodit nuk përmbante ndryshime të dyshimta. Komponentët që formonin backdoor-in u shpërndanë brenda skedarëve të përdorur në paketën e testimit për të verifikuar funksionalitetin e shpërndarësit XZ. Backdoor-i u aktivizua në nivelin e sistemit të ndërtimit, dhe vetë kodi burimor i XZ ishte i njëjtë me kodin në depozitë. Makrosat m4 që aktivizonin backdoor-in për mjetin Automake ishin të përfshira vetëm në arhivën e gatshme me kodin dhe mungonin në depozitë.

Backdoor-i në XZ u inkursionua nga një sulmues, i cili arriti të merrte statusin e mbështetësit në projekt. Inkursioni i backdoor-it fillimisht nuk u vërejt për shkak se distributet kryesisht ndërtuan paketa duke shkarkuar kodin nga arhivat e gatshme, pasi gjatë shkarkimit të kodit për ndërtim mund të mjaftohet me një kontroll të vetëm për verifikimin e integritetit të skedarit arkiv dhe të përdoren pasqyra. Vëmendja kryesore gjatë kontrollit të kodit është përqendruar në analizën e përmbajtjes së depozitës, prandaj ndryshimet e padukshme në arhivat nuk mund të identifikohen gjithmonë menjëherë.

PĂ«r thjeshtimin e verifikimit tĂ« pĂ«rputhjes midis skedarĂ«ve arkiv dhe prerjeve tĂ« depozites pĂ«rkatĂ«se me versionet, disa projekte tĂ« hapura, si PostgreSQL, kanĂ« futur nĂ« pĂ«rdorim njĂ« sistem tĂ« ndĂ«rtimit tĂ« pĂ«rsĂ«ritur tĂ« arhivave. NĂ« kĂ«tĂ« rast ofrohet njĂ« mjet qĂ« lejon qĂ« tĂ« krijoni vetĂ« arhivĂ«n tuaj nga kodi, e cila plotĂ«sisht i pĂ«rmban arhivĂ«s sĂ« gatshme tĂ« disponueshme pĂ«r shkarkim. NĂ«se arhiva e krijuar nĂ« mĂ«nyrĂ« tĂ« pavarur dhe arhiva qĂ« ofrohet nga projekti kryesor janĂ« tĂ« ndryshme — ndodhi njĂ« kompromis i depozitĂ«s ose arhivĂ«s standard.

Problemi është se një metodë e tillë praktikohet vetëm në raste të caktuara, ndërsa shumë projekte vazhdojnë të përfshijnë në arhivat e tyre artefakte shtesë që mungojnë në depozitën kryesore, siç janë faqet e man, dokumentacioni, shembujt, skriptat për krijimin e paketeve për distributet dhe skedarët e tjerë të ndërtimit. Në përgjithësi, kjo ndodh për shkak të arsyeve historike dhe karakteristikave të proceseve të formimit të versioneve. Një verifikim i thjeshtë i përputhjes midis përmbajtjes së depozitës dhe arhivës nuk është i përshtatshëm në këtë rast.

Si zgjidhje është propozuar ndërtimi i skedarëve binarë të versionit, si nga depozita (për shembull, mund të përdoret arhiva që krijohet automatikisht në GitHub për etiketën e versionit), ashtu edhe nga arhiva e përgatitur nga mbështetësi, duke krahasuar pastaj rezultatin. Si një eksperiment, përfshirja e një kontrolli të tillë është propozuar vetëm për paketën "xz". Nëse eksperimenti rezulton i suksesshëm, kontrollet planifikohen të përdoren edhe për paketa të tjera në nixpkgs.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster