Verzia zálohovacieho systému Restic 0.18. Útok na CDC

Bol zbavený nového vydania zálohovacieho systému Restic 0.18, ktorý umožňuje uchovávať zálohy v zašifrovanej forme v verzionovanom úložisku s podporou deduplikácie. Systém je pôvodne navrhnutý tak, aby sa zálohy ukladali v nedôveryhodných prostrediach a aby prístup k zálohe cudzích osôb neohrozil systém. Pri vytváraní zálohy je možné definovať flexibilné pravidlá na zahrnutie a vylúčenie súborov a adresárov (formát pravidiel pripomína rsync alebo gitignore). Podporuje prácu v systémoch Linux, macOS, Windows a BSD. Kód projektu je napísaný v programovacom jazyku Go a je šírený pod licenciou BSD.

Zálohy môžu byť uložené v lokálnej FS, na externom serveri s prístupom cez SFTP/SSH alebo HTTP REST, v cloudoch Amazon S3, OpenStack Swift, BackBlaze B2, Microsoft Azure Blob Storage a Google Cloud Storage, ako aj v akýchkoľvek úložiskách, pre ktoré sú k dispozícii backendy rclone. Pre ukladanie sa môže tiež využiť vyvíjaný projektom rest server, ktorý poskytuje vyšší výkon v porovnaní s inými backendmi a schopný pracovať v režime len pre doplnenie, ktorý neumožňuje odstrániť alebo zmeniť zálohy v prípade kompromitácie pôvodného servera a prístupu k šifrovacím kľúčom.

Systém podporuje snímky, ktoré odrážajú stav hierarchie adresárov v rôznych časových momentoch (snímky sa automaticky vytvárajú pre každú zálohu). Je možné kopírovať snímky medzi rôznymi úložiskami. Na šetrenie dátového prenosu sa počas vytvárania záloh kopírujú len zmenené údaje. Snímka so zálohou môže byť pripojená ako virtuálna partícia (pripojenie sa vykonáva pomocou FUSE). Taktiež sú k dispozícii príkazy na analýzu zmien a selektívne vyhľadávanie súborov.

Úložisko záloh v Restic manipuluje nie s celými súbormi, ale s blokmi premenlivej veľkosti, vyberanými pomocou Rabinovho podpisu. Informácie sú uchovávané viazané na obsah a nie názvy súborov (súvisiace s dátami názvy a objekty sa definujú na úrovni metadát bloku). Pre šetrenie miesta v úložisku a vylúčenie nadbytočného kopírovania údajov prebieha deduplikácia.

Na externých serveroch sa informácie uchovávajú v zašifrovanej forme — pre kontrolné súčty a deduplikáciu sa používajú hashe SHA-256, pre šifrovanie algoritmus AES-256-CTR, a na zabezpečenie integrity sa používajú autentifikačné kódy založené na Poly1305-AES. Existuje možnosť overenia záložnej kópie podľa kontrolných súčtov a autentifikačných kódov na potvrdenie, že integrita súborov nebola narušená.

V novej verzii bola odstránená možnosť vykonania útoku (PDF) na zistenie prítomnosti zadaných súborov v zašifrovanom úložisku záloh. Útok umožňuje zistiť, či sa v zašifrovanej zálohe nachádza nejaký konkrétny súbor, získaním prístupu k úložisku záloh alebo analýzou sieťovej prevádzky so zálohami. Napríklad útok môže vykonať správca servera, na ktorý sa ukladajú zálohy, internetový poskytovateľ alebo špeciálne služby, ktoré získali prístup k serveru alebo k prevádzke. Cieľom útoku môže byť vyšetrovanie úniku informácií, pri ktorom špeciálne služby dokážu vyhodnotiť prítomnosť zaujímavých dokumentov v úložisku záloh.

Na zneužitie zraniteľnosti musí útočník dosiahnuť pridaním svojich údajov do zálohy obete alebo vedieť, že známy súbor sa nachádza v zálohe. Ak sa v zálohe nachádza súbor, ktorý útočník pozná (napríklad nejaký typ systémového alebo multimediálneho obsahu), potom ziskom prístupu k zašifrovanému úložisku môže útočník určiť, či sa vo vnútri nachádzajú ďalšie zaujímavé súbory.

Metóda je založená na tom, že na základe vlastností kompresie obsahu je možné určiť parametre blokov používaných pri delení obsahu. Pre určenie takýchto parametrov stačí identifikovať 3 zašifrované bloky obsahujúce údaje známe útočníkovi.

Zraniteľnosť nie je špecifická pre Restic a ovplyvňuje aj iné zálohovacie systémy, ktoré používajú rozdeľovanie údajov na bloky pomocou techniky CDC (Content-Defined Chunking), ako sú BorgBackup, Tarsnap, Bupstash a Duplicacy. V Tarsnap bola problém odstránený v aktualizácii 1.0.41, v BorgBackup sa pracuje na oprave, ktorú plánujú zahrnúť do vetvy borg 2. V Bupstash bola posledná zmena pred 2 rokmi a v Duplicacy pred 4 mesiacmi.

Okrem toho sa uvádza, že v systémoch, ktoré používajú deduplikáciu, ak je možnosť pridávať vlastné súbory do zálohy, je možné pristúpiť jednoduchšie a určiť prítomnosť zaujímavých súborov nepriamo. Po pridaní kontrolovaného súboru môžeme posúdiť zmenu veľkosti úložiska — ak súbor už je v úložisku, jeho opätovné pridanie kvôli deduplikácii neviedlo k zodpovedajúcemu zvýšeniu veľkosti.

Okrem odstránenia zraniteľnosti v Restic 0.18 sú navrhnuté aj niektoré novinky:

  • Pridaná experimentálna podpora pre „chladné“ úložiská záloh (dáta sú k dispozícii na získanie za minúty alebo hodiny po požiadavke), ktoré podporujú protokol S3, ako napríklad Amazon S3 Glacier.
  • Do príkazov check a tag bola pridaná podpora výstupu v formáte JSON.
  • Pri zostavovaní obrazov pre GitHub Container Registry boli zohľadnené odporúčania SLSA (Supply-chain Levels for Software Artifacts).
  • Do príkazu ls bola pridaná možnosť výberu metódy triedenia výstupu. V príkaze find je predvolene používaná triedenie podľa dátumu (od najnovších po najstaršie).
  • Bola poskytnutá možnosť vylúčenia zo operácie prebalenia súborov s veľkosťou menšou než zadaná.
  • Pridané nastavenie na zapnutie/vypnutie obnovy rozšírených atribútov súborov.
  • Pridaná podpora pre operačný systém DragonFlyBSD.
  • Pridaná podpora pre rozšírené atribúty súborov v systémoch s NetBSD 10+.
  • Vo verzii restic 0.19.0 sa plánuje odstránenie podpory zastaraných funkcií aktivovaných prostredníctvom nastavení deprecate-legacy-index, deprecate-s3-legacy-layout, explicit-s3-anonymous-auth a safe-forget-keep-tags.
  • Podpora starých verzií Windows a macOS bola ukončená, na prácu je teraz potrebná aspoň Windows 10, Windows Server 2016 alebo macOS 11. Podpora verzií TLS pod 1.2 bola ukončená.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster