Lëshimi i sistemit të kopjimit Restic 0.18. Sulmi ndaj CDC

U prezantua lëshimi i sistemit të kopjimit Restic 0.18, i cili lejon ruajtjen e kopjeve rezervë në formë të enkriptuar në një depozitë versioni me mbështetje për deduplication. Sistemi është fillimisht i dizajnuar për të ruajtur kopje rezervë në mjedise që nuk të votojnë, dhe një kopje rezervë që përfundon në duar të huaja nuk duhet të kompromentojë sistemin. Gjatë krijimit të kopjes rezervë, është e mundur të përcaktohen rregulla fleksibile për përfshirjen dhe përjashtimin e skedareve dhe direktiveve (formati i rregullave është i ngjashëm me rsync ose gitignore). Mbështetet puna në Linux, macOS, Windows dhe sistemet BSD. Kodi i projektit është shkruar në gjuhën Go dhe shpërndahet nën licencën BSD.

Kopjet rezervë mund të ruajnë në sistemin lokal të skedarëve, në të jashtme сервере me akses për SFTP/SSH ose HTTP REST, në cloud-et Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage dhe Google Cloud Storage, si dhe në çdo depo që ka backend-e rclone. Për ruajtje mund të përdoret gjithashtu projekti i zhvilluar nga rest server, i cili ofron performancë më të lartë në krahasim me backend-et e tjera dhe është në gjendje të punojë në një modalitet vetëm për plotësim, që nuk lejon fshirjen ose ndryshimin e kopjeve rezervë në rast të kompromitimit të serverit burimor dhe qasjes në çelësat e enkriptimit.

Sistemi mbështet snapshot-e që reflektojnë gjendjen e hierarkisë së drejtorive në kohë të ndryshme (snapshot-et krijohen automatikisht për çdo kopje rezervë). Është e mundur kopjimi i snapshot-eve midis depozitave të ndryshme. Për të kursyer trafik, gjatë krijimit të kopjeve rezervë kopjohen vetëm të dhënat e ndryshuara. Snapshot-i me kopjen rezervë mund të montohet në formën e një ndarjeje virtuale (montimi bëhet me ndihmën e FUSE). Gjithashtu ofrohen komandat për analizimin e ndryshimeve dhe për nxjerrjen selektive të skedarëve.

Depozita e kopjeve rezervë në Restic manipulohet jo me skedarë të tërë, por me blloqe me madhësi të lëvizshme, të zgjedhura duke përdorur nënshkrimin Rabin. Informacioni ruhet në lidhje me përmbajtjen, jo emrat e skedarëve (emrat dhe objektet që lidhen me të dhënat përkufizohen në nivelin e të dhënave të bllokut). Për të kursyer hapësirë në depo dhe për të përjashtuar kopjimin e tepricës së të dhënave, bëhet deduplication.

Në serverët e jashtëm, informacioni ruhet në formë të enkriptuar — për shenjat kontrolluese dhe dedupikimin përdoren Hash SHA-256, për enkriptim — algoritmi AES-256-CTR, dhe për sigurimin e integritetit — kodet e autentifikimit bazuar në Poly1305-AES. Është parashikuar mundësia e verifikimit të kopjes rezervë përmes shenjave kontrolluese dhe kodeve të autentifikimit për të konfirmuar se integriteti i skedarëve s'ka pësuar dëmtime.

Në versionin e ri është eliminuar mundësia e kryerjes së një sulmi (PDF) për të përcaktuar praninë e skedarëve të caktuar në magazinën e enkriptuar të kopjeve rezervë. Sulmi lejon të përcaktohet nëse në backupin e enkriptuar ndodhet ndonjë skedar specifik, duke aksesuar magazinën e kopjeve rezervë ose duke analizuar trafikun rrjetor me kopjet rezervë. Për shembull, një administrator serveri, ku ruhen backupet, një ofrues interneti, ose shërbime sekrete që kanë marrë qasje në серверу ose trafikun. Qëllimi i kryerjes së sulmit mund të jetë hetimi i një rrjedhjeje informacioni, në të cilin shërbimet sekrete do të mund të vlerësojnë praninë e dokumenteve të interesuara në magazinën e kopjeve rezervë.

Për të shfrytëzuar vulnerabilitetin, sulmuesi duhet të arrijë të shtojë të dhënat e tij në kopjen rezervë të viktimës ose të dijë se një skedar i njohur ndodhet në kopjen rezervë. Nëse në kopjen rezervë ka një skedar të njohur nga sulmuesi (për shembull, ndonjë përmbajtje tipike sistemore ose multimediale), atëherë duke aksesuar magazinën e enkriptuar, sulmuesi mund të përcaktojë nëse brenda saj ndodhen skedarë të tjerë që e interesojnë.

Metoda bazohet në atë që, duke marrë parasysh karakteristikat e kompresimit të përmbajtjes, mund të përcaktohen parametrat e blloqeve të përdorura gjatë ndarjes së përmbajtjes. Për të përcaktuar këto parametra, mjafton të identifikoni 3 blloqe të enkriptuara që përmbajnë të dhëna të njohura për sulmuesin.

Vulnerabiliteti nuk është specifik për Restic dhe prek sisteme të tjera backup që përdorin ndarje të të dhënave në blloqe përmes teknikës CDC (Content-Defined Chunking), siç janë BorgBackup, Tarsnap, Bupstash dhe Duplicacy. Në Tarsnap, problemi është zgjidhur në përditësimin 1.0.41, në BorgBackup po punohet mbi një rregullim që synojnë ta përfshijnë në degë borg 2. Në Bupstash, ndryshimi më i fundit ishte 2 vite më parë, dhe në Duplicacy — 4 muaj më parë.

Së shënohet gjithashtu se në sistemet që përdorin deduplication, kur ka mundësinë për të shtuar skedarët e vet në backup, mund të veprohet më thjeshtë dhe të përcaktohet prania e skedarëve të interesit në mënyrë indirekte. Pasi të shtohet skedari në verifikim, mund të vlerësohet ndryshimi në madhësinë e depozitës — nëse skedari tashmë ekziston në depozitë, ri-shtimi i tij për shkak të deduplication nuk do të sjellë një rritje të konsiderueshme të madhësisë.

Përveç zgjidhjes së dobësive në Restic 0.18, janë propozuar gjithashtu disa risitë:

  • Është shtuar mbështetje eksperimentale për "depozita të ftohta" të backup-it (të dhënat bëhen të disponueshme për nxjerrje pas disa minutash ose orësh pas kërkesës), që mbështesin protokollin S3, siç janë Amazon S3 Glacier.
  • Në komandat check dhe tag është shtuar mbështetje për daljen në formatin JSON.
  • Kur ndërtosh imazhe për GitHub Container Registry, janë marrë parasysh rekomandimet SLSA (Supply-chain Levels for Software Artifacts).
  • Në komandën ls është shtuar mundësia për të zgjedhur metodën e renditjes së daljes. Në komandën find, renditja me default është e bazuar në datë (nga e re në të vjetra).
  • Është ofruar mundësia për përjashtimin nga operacioni i ripakimit të skedarëve me madhësi më të vogël se ajo e caktuar.
  • Është shtuar një konfigurim për aktivizimin/fshirjen e rikuperimit të atributeve të zgjeruara të skedarëve.
  • Është shtuar mbështetje për sistemin operativ DragonFlyBSD.
  • Është shtuar mbështetje për atributet e zgjeruara të skedarëve në sistemet me NetBSD 10+.
  • Në degën restic 0.19.0, është planifikuar heqja e mbështetjes për funksionalitetet e skaruara të aktivizuara përmes cilësimeve deprecate-legacy-index, deprecate-s3-legacy-layout, explicit-s3-anonymous-auth dhe safe-forget-keep-tags.
  • Është ndërprerë mbështetja për versionet e vjetra të Windows dhe macOS, tani kërkohet së paku Windows 10, Windows Server 2016 ose macOS 11. Është ndërprerë mbështetja për versionet TLS deri në 1.2.

Burimi: opennet.ru

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster