U području kibernetičke sigurnosti, posebno u pogledu sigurnosti pohrane na nepouzdanim poslužiteljima za pohranu, najvažnije je održavanje dosljednog i provjerljivog dnevnika operacija. Ovaj zahtjev proizlazi iz potrebe da se osigura integritet podataka, dostupnost i povjerljivost u okruženjima u kojima se infrastrukturi za pohranu podataka ne može u potpunosti vjerovati. Nepouzdani poslužitelji za pohranu predstavljaju značajne rizike, uključujući neovlašteno mijenjanje podataka, brisanje i neovlašteni pristup. Stoga dosljedan i provjerljiv dnevnik operacija igra važnu ulogu u ublažavanju ovih rizika.
Konzistentan zapisnik operacija odnosi se na sekvencijalni i kronološki zapis svih radnji izvršenih na podacima pohranjenim na poslužitelju. Ovaj zapisnik trebao bi biti nepromjenjiv i zaštićen od neovlaštenog otvaranja, osiguravajući da se mogu otkriti sve neovlaštene izmjene. Značaj takvog dnevnika leži u njegovoj sposobnosti da pruži točnu i pouzdanu povijest svih interakcija s podacima, što je bitno za reviziju, forenzičku analizu i usklađenost s regulatornim zahtjevima.
Za postizanje dosljednog i provjerljivog dnevnika operacija može se koristiti nekoliko tehnika i tehnologija. To uključuje kriptografske metode, mehanizme sigurnog zapisivanja i konsenzusne protokole. U nastavku ćemo detaljno razmotriti ove metode:
Kriptografske metode
1. Hash lanci: Hash lanac je niz hash vrijednosti gdje svaka hash vrijednost ovisi o prethodnoj. Ovo stvara vezu između svakog unosa u dnevnik, osiguravajući da će svaka izmjena unosa prekinuti lanac. Na primjer, ako su unosi dnevnika predstavljeni sa , hash lanac se može konstruirati na sljedeći način:
gdje označava kriptografsku hash funkciju, i
predstavlja ulančavanje. Ova struktura osigurava da svako diranje u zapisnik
rezultirat će neusklađenošću u sljedećim hash vrijednostima, otkrivajući time petljanje.
2. Digitalni potpisi: Svaki unos dnevnika može biti digitalno potpisan od strane pouzdane strane korištenjem asimetrične kriptografije. Digitalni potpis osigurava autentičnost i cjelovitost jer se može provjeriti korištenjem javnog ključa potpisnika. Na primjer, ako je zapis u dnevniku potpisan je privatnim ključem
, potpis
može provjeriti bilo tko s pristupom odgovarajućem javnom ključu
. Ova metoda osigurava da svaka izmjena
poništit će potpis.
3. Merkle stabla: Merkleovo stablo je binarno stablo u kojem svaki listni čvor predstavlja hash unosa dnevnika, a svaki unutarnji čvor predstavlja hash svojih podređenih čvorova. Korijen Merkleovog stabla, poznat kao Merkleov korijen, pruža jednu hash vrijednost koja predstavlja cijeli skup unosa dnevnika. Struktura stabla Merkle omogućuje učinkovit i provjerljiv dokaz uključivanja, što znači da se može dokazati je li određeni unos dnevnika dio dnevnika bez otkrivanja cijelog dnevnika. Ovo je osobito korisno za očuvanje privatnosti uz osiguranje integriteta.
Mehanizmi sigurnog zapisivanja
1. Dnevnici samo za dodavanje: Dnevnik samo za dodavanje je struktura dnevnika gdje se unosi mogu samo dodavati, a ne mijenjati ili brisati. Ova nepromjenjivost osigurava da jednom kada se zapis zabilježi, trajno ostaje u dnevniku. Implementacija dnevnika samo za dodavanje obično uključuje korištenje medija za pohranu pisanja jednom-čitanja-mnogo (WORM) ili korištenje softverskih mehanizama koji sprječavaju izmjene postojećih unosa dnevnika.
2. Tehnologija Blockchaina: Blockchain je tehnologija decentralizirane i distribuirane knjige koja sama po sebi pruža konzistentan i provjerljiv zapisnik operacija. Svaki blok u lancu blokova sadrži popis transakcija (unosi u dnevnik), vremensku oznaku i kriptografski hash prethodnog bloka. Ovo ulančavanje blokova osigurava da će svako diranje u blok poništiti sljedeće blokove. Blockchain tehnologija također koristi konsenzusne protokole za postizanje dogovora među distribuiranim čvorovima, dodatno povećavajući sigurnost i pouzdanost dnevnika.
3. Pouzdana okruženja za izvršenje (TEE): TEE, kao što su Intel SGX ili ARM TrustZone, pružaju sigurnu enklavu unutar procesora gdje se kod i podaci mogu izvršiti i sigurno pohraniti. Korištenjem TEE-ova, može se osigurati da se unosi u zapisnik bilježe i održavaju u sigurnom i izoliranom okruženju, zaštićenom od neovlaštenog mijenjanja nepouzdanog poslužitelja za pohranu. TEE se također mogu koristiti za sigurno generiranje i pohranjivanje kriptografskih ključeva koji se koriste za potpisivanje unosa u dnevnik.
Protokoli konsenzusa
U distribuiranim sustavima, postizanje dosljednosti i provjerljivosti dnevnika često zahtijeva konsenzusne protokole kako bi se osiguralo da se svi čvorovi u sustavu slažu oko redoslijeda i sadržaja unosa dnevnika. Neki često korišteni konsenzusni protokoli uključuju:
1. paxos: Paxos je obitelj konsenzusnih protokola dizajniranih za postizanje dogovora među distribuiranim čvorovima u prisutnosti kvarova. Paxos osigurava da se svi čvorovi bez grešaka slažu oko istog slijeda unosa u dnevnik, osiguravajući dosljednost i toleranciju na greške.
2. Splav: Raft je još jedan konsenzusni algoritam koji je dizajniran da bude razumljiviji i lakši za implementaciju od Paxosa. Raft dijeli proces konsenzusa na izbor voditelja, replikaciju dnevnika i sigurnost, osiguravajući da distribuirani dnevnik ostane dosljedan i provjerljiv.
3. Bizantska tolerancija na greške (BFT): BFT protokoli, kao što je Practical Byzantine Fault Tolerance (PBFT), dizajnirani su za postizanje konsenzusa u sustavima gdje čvorovi mogu pokazivati proizvoljne (bizantske) greške, uključujući zlonamjerno ponašanje. BFT protokoli osiguravaju da zapisnik ostane dosljedan i provjerljiv čak i u prisutnosti zlonamjernih čvorova.
Praktičan primjer
Razmotrite scenarij u kojem financijska institucija koristi nepouzdanu uslugu pohrane u oblaku za pohranu zapisa transakcija. Kako bi se osigurala cjelovitost i provjerljivost ovih dnevnika, institucija može provesti sljedeće mjere:
1. Hash lanci: Svaki unos dnevnika transakcija raspršuje se i povezuje s prethodnim unosom pomoću lanca raspršivanja. Time se osigurava da će svako petljanje s unosom u dnevnik biti vidljivo.
2. Digitalni potpisi: Svaki unos u dnevnik digitalno je potpisan privatnim ključem institucije. Time se osigurava autentičnost i neporecivost jer se potpis može provjeriti javnim ključem institucije.
3. Merkle stabla: Institucija povremeno konstruira Merkleovo stablo unosa dnevnika i objavljuje Merkleov korijen na javnoj oglasnoj ploči ili blockchainu. To svakome omogućuje provjeru integriteta unosa dnevnika bez pristupa cijelom dnevniku.
4. Blockchain: Institucija također može bilježiti zapisnike transakcija na privatnom blockchainu. Decentralizirana priroda lanca blokova osigurava da zapisnik ostane dosljedan i provjerljiv, čak i u prisutnosti nepouzdanih poslužitelja za pohranu.
5. TEE-ovi: Institucija može iskoristiti TEE-ove za sigurno bilježenje i pohranjivanje unosa u zapisnik unutar sigurne enklave, štiteći ih od neovlaštenog miješanja nepouzdanog poslužitelja za pohranu.
6. Protokoli konsenzusa: Ako ustanova koristi distribuirani sustav pohrane, može koristiti protokole konsenzusa kao što su Raft ili PBFT kako bi osigurala da se svi čvorovi slažu oko redoslijeda i sadržaja dnevnika transakcija.
Primjenom ovih mjera financijska institucija može održavati dosljedan i provjerljiv dnevnik operacija, osiguravajući integritet, dostupnost i povjerljivost svojih dnevnika transakcija, čak i kada koristi nepouzdane poslužitelje za pohranu.
Ostala nedavna pitanja i odgovori u vezi EITC/IS/ACSS Napredna sigurnost računalnih sustava:
- Koji su neki od izazova i kompromisa uključenih u implementaciju hardverskih i softverskih ublažavanja vremenskih napada uz održavanje performansi sustava?
- Kakvu ulogu igra prediktor grananja u napadima na CPU mjerenje vremena i kako napadači mogu njime manipulirati da bi curili osjetljivi podaci?
- Kako programiranje s konstantnim vremenom može pomoći u ublažavanju rizika vremenskih napada u kriptografskim algoritmima?
- Što je spekulativno izvršenje i kako ono pridonosi ranjivosti modernih procesora na vremenske napade kao što je Spectre?
- Kako vremenski napadi iskorištavaju varijacije u vremenu izvršenja za izvođenje osjetljivih informacija iz sustava?
- Kako se koncept konzistencije račvanja razlikuje od konzistencije dohvaćanja-modifikacije i zašto se konzistentnost račvanja smatra najjačom mogućom konzistentnošću u sustavima s nepouzdanim poslužiteljima za pohranu?
- Koji su izazovi i potencijalna rješenja za implementaciju robusnih mehanizama kontrole pristupa za sprječavanje neovlaštenih izmjena u zajedničkom datotečnom sustavu na nepouzdanom poslužitelju?
- Kako kriptografske tehnike poput digitalnih potpisa i enkripcije mogu pomoći u osiguravanju integriteta i povjerljivosti podataka pohranjenih na nepouzdanim poslužiteljima?
- Što su Byzantine serveri i kako oni predstavljaju prijetnju sigurnosti sustava za pohranu podataka?
- Kako protokoli poput STARTTLS, DKIM i DMARC doprinose sigurnosti e-pošte i koje su njihove uloge u zaštiti komunikacije e-poštom?
Pogledajte više pitanja i odgovora u EITC/IS/ACSS Advanced Computer Systems Security