V oblasti kybernetickej bezpečnosti, najmä pokiaľ ide o bezpečnosť ukladania na nedôveryhodných úložných serveroch, je prvoradé udržiavanie konzistentného a overiteľného protokolu operácií. Táto požiadavka vychádza z potreby zabezpečiť integritu, dostupnosť a dôvernosť údajov v prostrediach, kde nemožno úplne dôverovať infraštruktúre úložiska. Nedôveryhodné úložné servery predstavujú značné riziká, vrátane neoprávnenej modifikácie údajov, ich vymazania a neoprávneného prístupu. Preto pri zmierňovaní týchto rizík zohráva dôležitú úlohu konzistentný a overiteľný protokol operácií.
Konzistentný protokol operácií sa vzťahuje na sekvenčný a chronologický záznam všetkých akcií vykonaných s údajmi uloženými na serveri. Tento protokol by mal byť nemenný a zabezpečený proti neoprávnenej manipulácii, čím sa zabezpečí, že sa dajú zistiť akékoľvek neoprávnené zmeny. Význam takéhoto protokolu spočíva v jeho schopnosti poskytnúť presnú a spoľahlivú históriu všetkých interakcií s údajmi, čo je nevyhnutné pre audit, forenznú analýzu a súlad s regulačnými požiadavkami.
Na dosiahnutie konzistentného a overiteľného protokolu operácií je možné použiť niekoľko techník a technológií. Patria sem kryptografické metódy, mechanizmy bezpečného protokolovania a konsenzuálne protokoly. Nižšie sa podrobne zaoberáme týmito metódami:
Kryptografické metódy
1. Hash Chains: Hašovací reťazec je sekvencia hašovacích hodnôt, kde každá hašovacia hodnota závisí od predchádzajúcej. Tým sa vytvorí prepojenie medzi každým záznamom denníka, čím sa zabezpečí, že akákoľvek úprava záznamu preruší reťazec. Napríklad, ak sú položky denníka reprezentované , hash reťazec môže byť skonštruovaný takto:
kde označuje kryptografickú hašovaciu funkciu a
predstavuje zreťazenie. Táto štruktúra zaisťuje akúkoľvek manipuláciu so záznamom protokolu
bude mať za následok nesúlad v nasledujúcich hašovacích hodnotách, čím sa odhalí falšovanie.
2. Digitálne podpisy: Každý záznam protokolu môže byť digitálne podpísaný dôveryhodnou stranou pomocou asymetrickej kryptografie. Digitálny podpis poskytuje autentickosť a integritu, pretože ho možno overiť pomocou verejného kľúča podpisovateľa. Napríklad, ak záznam v denníku je podpísaná súkromným kľúčom
, podpis
môže overiť ktokoľvek s prístupom k príslušnému verejnému kľúču
. Táto metóda zabezpečuje, že akákoľvek zmena
zruší platnosť podpisu.
3. Stromy Merkle: Merkle strom je binárny strom, kde každý listový uzol predstavuje hash záznamu protokolu a každý vnútorný uzol predstavuje hash jeho dcérskych uzlov. Koreň stromu Merkle, známy ako koreň Merkle, poskytuje jedinú hodnotu hash, ktorá predstavuje celú množinu záznamov protokolu. Stromová štruktúra Merkle umožňuje efektívny a overiteľný dôkaz o zahrnutí, čo znamená, že je možné dokázať, či je konkrétny záznam v denníku súčasťou denníka bez odhalenia celého denníka. To je užitočné najmä na zachovanie súkromia a zároveň zabezpečenie integrity.
Bezpečné protokolovacie mechanizmy
1. Logy iba pridávať: Protokol iba na pridanie je štruktúra protokolu, do ktorej možno položky iba pridávať a nie upravovať ani odstraňovať. Táto nemennosť zaisťuje, že raz zaznamenaný záznam zostane v protokole natrvalo. Implementácia protokolov iba na pridanie zvyčajne zahŕňa použitie pamäťových médií typu WORM (write-once-read-many) alebo použitie softvérových mechanizmov, ktoré zabraňujú úpravám existujúcich záznamov protokolu.
2. Technológia Blockchain: Blockchain je decentralizovaná a distribuovaná technológia účtovnej knihy, ktorá vo svojej podstate poskytuje konzistentný a overiteľný protokol operácií. Každý blok v blockchaine obsahuje zoznam transakcií (záznamov denníka), časovú pečiatku a kryptografický hash predchádzajúceho bloku. Toto reťazenie blokov zaisťuje, že akákoľvek manipulácia s blokom znehodnotí nasledujúce bloky. Technológia blockchain tiež využíva konsenzuálne protokoly na dosiahnutie dohody medzi distribuovanými uzlami, čím sa ďalej zvyšuje bezpečnosť a spoľahlivosť protokolu.
3. Dôveryhodné prostredia na vykonávanie (TEE): TEE, ako napríklad Intel SGX alebo ARM TrustZone, poskytujú bezpečnú enklávu v rámci procesora, kde je možné bezpečne spúšťať a ukladať kód a dáta. Využitím TEE je možné zabezpečiť, aby sa záznamy denníka zaznamenávali a uchovávali v bezpečnom a izolovanom prostredí chránenom pred neoprávneným zásahom zo strany nedôveryhodného úložného servera. TEE môžu byť tiež použité na bezpečné generovanie a ukladanie kryptografických kľúčov používaných na podpisovanie záznamov.
Konsenzuálne protokoly
V distribuovaných systémoch dosiahnutie konzistentnosti a overiteľnosti protokolov často vyžaduje konsenzuálne protokoly, aby sa zabezpečilo, že všetky uzly v systéme budú súhlasiť s poradím a obsahom záznamov protokolu. Niektoré bežne používané konsenzuálne protokoly zahŕňajú:
1. paxos: Paxos je rodina konsenzuálnych protokolov navrhnutých na dosiahnutie zhody medzi distribuovanými uzlami v prípade zlyhania. Paxos zaisťuje, že všetky neporuchové uzly súhlasia s rovnakou sekvenciou záznamov protokolu, čím poskytuje konzistenciu a odolnosť voči chybám.
2. vor: Raft je ďalší konsenzuálny algoritmus, ktorý je navrhnutý tak, aby bol zrozumiteľnejší a ľahšie implementovateľný ako Paxos. Raft rozdeľuje proces konsenzu na voľbu lídra, replikáciu protokolu a bezpečnosť, čím zaisťuje, že distribuovaný protokol zostane konzistentný a overiteľný.
3. Tolerancia byzantských chýb (BFT): Protokoly BFT, ako napríklad praktická tolerancia byzantských chýb (PBFT), sú navrhnuté na dosiahnutie konsenzu v systémoch, kde môžu uzly vykazovať ľubovoľné (byzantské) chyby vrátane škodlivého správania. Protokoly BFT zaisťujú, že protokol zostane konzistentný a overiteľný aj v prítomnosti škodlivých uzlov.
Praktický príklad
Predstavte si scenár, v ktorom finančná inštitúcia používa nedôveryhodnú službu cloudového úložiska na ukladanie protokolov transakcií. Na zabezpečenie integrity a overiteľnosti týchto protokolov môže inštitúcia zaviesť tieto opatrenia:
1. Hash Chains: Každá položka protokolu transakcií je hašovaná a prepojená s predchádzajúcou položkou pomocou hašovacieho reťazca. To zaisťuje, že akákoľvek manipulácia so záznamom protokolu bude zistiteľná.
2. Digitálne podpisy: Každá položka denníka je digitálne podpísaná súkromným kľúčom inštitúcie. To poskytuje pravosť a nepopierateľnosť, pretože podpis je možné overiť pomocou verejného kľúča inštitúcie.
3. Stromy Merkle: Inštitúcia pravidelne vytvára Merkle strom záznamov denníka a publikuje Merkle root na verejnej nástenke alebo blockchaine. To umožňuje komukoľvek overiť integritu záznamov denníka bez prístupu k celému denníku.
4. Blockchain: Inštitúcia môže tiež zaznamenávať protokoly transakcií na súkromnom blockchaine. Decentralizovaná povaha blockchainu zaisťuje, že protokol zostáva konzistentný a overiteľný, a to aj v prítomnosti nedôveryhodných úložných serverov.
5. TEE: Inštitúcia môže využiť TEE na bezpečné zaznamenávanie a ukladanie záznamov denníka v rámci zabezpečenej enklávy, čím ich chráni pred neoprávneným zásahom nedôveryhodného úložného servera.
6. Konsenzuálne protokoly: Ak inštitúcia používa distribuovaný úložný systém, môže použiť konsenzuálne protokoly, ako je Raft alebo PBFT, aby sa zabezpečilo, že všetky uzly budú súhlasiť s poradím a obsahom transakčných protokolov.
Implementáciou týchto opatrení môže finančná inštitúcia udržiavať konzistentný a overiteľný protokol operácií, čím sa zabezpečí integrita, dostupnosť a dôvernosť svojich protokolov transakcií, a to aj pri použití nedôveryhodných úložných serverov.
Ďalšie nedávne otázky a odpovede týkajúce sa Pokročilá bezpečnosť počítačových systémov EITC/IS/ACSS:
- Aké sú niektoré z výziev a kompromisov pri implementácii hardvérových a softvérových obmedzení proti útokom načasovanie pri zachovaní výkonu systému?
- Akú úlohu hrá prediktor vetvy pri útokoch na časovanie CPU a ako s ním môžu útočníci manipulovať, aby unikli citlivé informácie?
- Ako môže programovanie v konštantnom čase pomôcť zmierniť riziko útokov na načasovanie v kryptografických algoritmoch?
- Čo je špekulatívne vykonávanie a ako prispieva k zraniteľnosti moderných procesorov voči útokom na čas, ako je Spectre?
- Ako využívajú útoky načasovanie variácie času vykonávania na odvodenie citlivých informácií zo systému?
- Ako sa koncepcia konzistencie vidlice líši od konzistencie načítania a úpravy a prečo sa konzistencia vidlice považuje za najsilnejšiu dosiahnuteľnú konzistenciu v systémoch s nedôveryhodnými úložnými servermi?
- Aké sú výzvy a potenciálne riešenia pre implementáciu robustných mechanizmov kontroly prístupu na zabránenie neoprávneným úpravám v zdieľanom súborovom systéme na nedôveryhodnom serveri?
- Ako môžu kryptografické techniky, ako sú digitálne podpisy a šifrovanie, pomôcť zabezpečiť integritu a dôvernosť údajov uložených na nedôveryhodných serveroch?
- Čo sú byzantské servery a ako predstavujú hrozbu pre bezpečnosť úložných systémov?
- Ako protokoly ako STARTTLS, DKIM a DMARC prispievajú k bezpečnosti e-mailov a aké sú ich príslušné úlohy pri ochrane e-mailovej komunikácie?
Pozrite si ďalšie otázky a odpovede v časti EITC/IS/ACSS Advanced Computer Systems Security