Securing Filesystems for Confidential Computing
Het artikel presenteert ShieldFS, een POSIX-compatibel bestandssysteem dat de end-to-end integriteit en versheid voor persistente opslag in vertrouwde computatieomgevingen waarborgt door gebruik te maken van beknopte cryptografische commitments en Merkle-trees om rollback- en tampering-aanvallen te detecteren zonder dat wijzigingen in applicaties of vertrouwde opslag vereist zijn.
Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer
In het moderne digitale tijdperk zijn we gewend geraakt aan het idee dat onze gegevens veilig zijn in de cloud. We vertrouwen erop dat wanneer we een bestand opslaan of een database bijwerken, dit precies blijft zoals we het achterlieten, beschermd tegen nieuwsgierige ogen en accidenteel verlies. Echter, er heeft een fundamentele kloof bestaan in dit vertrouwen. Hoewel nieuwe technologieën genaamd "confidential computing" zijn opgekomen om het geheugen waar een computer actief aan het denken is af te sluiten, laten ze de harde schijf kwetsbaar. Stel je een kluis voor waarbij de kluis binnenin ondoordringbaar is, maar de gang die naar de kluis leidt wordt gecontroleerd door een vreemde die jouw documenten kan verwisselen, de geschiedenis kan herschrijven of jouw huidige versie kan vervangen door een oude versie zonder dat je het ooit merkt. Dit is de realiteit voor applicaties die vandaag de dag in beveiligde omgevingen draaien: hun berekeningen zijn beschermd, maar de opslag waar ze op vertrouwen kan worden gemanipuleerd door een kwaadwillende cloudprovider of een gecompromitteerde systeembeheerder.
De uitdaging is dan om een systeem te bouwen dat de gegevens op de schijf net zo fel beschermt als de gegevens in het geheugen, zonder de computer te vertragen of programmeurs te dwingen hun software te herschrijven. Een team van onderzoekers van Microsoft Azure, Imperial College London en andere instellingen heeft dit probleem aangepakt door een nieuwe manier te creëren om bestandopslag te beheren. Ze ontwikkelden een systeem genaamd SHIELDFS, dat fungeert als een bewaker voor persistente gegevens, waarbij wordt gegarandeerd dat wat van de schijf wordt gelezen exact hetzelfde is als wat is geschreven, en dat niemand stiekem de tijd heeft teruggedraaid naar een eerdere staat. Hun werk, geïmplementeerd als een specifieke versie van een populair open-source bestandssysteem genaamd ZFS, demonstreert dat het mogelijk is om opslag te beveiligen tegen zelfs de machtigste aanvallers, terwijl de snelheden bijna identiek blijven aan standaard, onbeveiligde systemen.
De kern van het probleem ligt in de manier waarop computers door de tijd heen met gegevens omgaan. Wanneer een applicatie informatie opslaat, schrijft deze het naar een schijf. In een beveiligde omgeving is het geheugen van de computer vergrendeld, maar de schijf wordt vaak beheerd door de cloudprovider. Een onbetrouwbare provider zou theoretisch de staat van een schijf op een specifief moment kunnen vastleggen, en later, als de applicatie probeert die gegevens bij te werken, kan de provider simpelweg de nieuwe versie vervangen door de oude, opgenomen snapshot. Dit staat bekend als een rollback-aanval. De applicatie zou de oude gegevens lezen, in de veronderstelling dat deze actueel zijn, wat leidt tot fouten, verloren transacties of gecorrumpeerde databases. Bestaande oplossingen vereisten ofwel dat de opslag zelf vertrouwd moest zijn (wat het doel van cloudbeveiliging tenietdoet), legden zware prestatiepenaliteiten op waardoor systemen te traag werden om bruikbaar te zijn, of dwongen ontwikkelaars om in elke individuele applicatie aangepaste beveiligingscontroles in te bouwen, een tijdrovend en foutgevoelig proces.
Om dit op te lossen, ontwierpen de onderzoekers een systeem dat het bestandssysteem zelf behandelt als een keten van geverifieerde gebeurtenissen. In plaats van alleen bestanden op te slaan, creëert het systeem een cryptografische "vingerafdruk" voor elke wijziging die aan de gegevens wordt aangebracht. Wanneer een stukje data wordt geschreven, berekent het systeem een unieke code op basis van die data en de geschiedenis van wijzigingen die eraan voorafgingen. Deze code wordt vervolgens samen met de data opgeslagen. Cruciaal is dat het systeem ook een zeer klein, veilig verslag van de laatste geldige "vingerafdruk" bijhoudt in een aparte, vertrouwde locatie die de aanvaller niet kan aanraken. Deze vertrouwde locatie fungeert als een controlepunt. Telkens wanneer de computer opnieuw opstart of probeert data te lezen, controleert hij de vingerafdruk op de schijf tegen de vingerafdruk in het vertrouwde controlepunt. Als de aanvaller de schijf heeft verwisseld met een oude versie of de data heeft gewijst, zullen de vingerafdrukken niet overeenkomen, en weet het systeem onmiddellijk dat er iets mis is, en weigert het de gecorrumpeerde data te laden.
De onderzoekers bouwden een werkende versie van dit systeem, die ze SHIELDZFS noemden, door een bestaand, veelgebruikt bestandssysteem genaamd ZFS uit te breiden. Ze hoefden de fundamentele manier waarop het bestandssysteem gegevens op de schijf organiseert niet te veranderen; in plaats daarvan voegden ze een laag van verificatie toe die binnen het beveiligde geheugen van de computer draait. Deze laag zorgt ervoor dat telkens wanneer gegevens worden geschreven, er een nieuwe, onbreekbare schakel aan de geschiedenisketen wordt toegevoegd. Ze creëerden ook een lichtgewicht service, die ze een "registry" noemen, die in zijn eigen beveiligde omgeving draait om de laatste geldige vingerafdrukken voor vele verschillende bestandssystemen tegelijkertijd vast te houden. Deze registry is ontworpen om snel en betrouwbaar te zijn, in staat om duizenden verzoeken per seconde te verwerken met een vertraging van minder dan één milliseconde, waardoor de beveiligingscontroles geen bottleneck vormen.
Om hun creatie te testen, voerde het team een reeks rigoureuze experimenten uit met behulp van standaard benchmarks en real-world applicaties, zoals database-servers en bestandservers. Ze vergeleken hun beveiligde systeem met standaard bestandssystemen en andere beveiligingsinstrumenten. De resultaten toonden aan dat SHIELDZFS elk type manipulatie dat zij simuleerden succesvol detecteerde, inclusief pogingen om data terug te draaien (rollback), oude versies af te spelen (replay) of conflicterende kopieën van het bestandssysteem te maken. Wat de snelheid betreft, presteerde het beveiligde systeem opmerkelijk goed. Voor de meeste taken was het bijna even snel als de standaard, onbeveiligde versie van het bestandssysteem. In de meest veeleisende scenario's, waarbij gegevens direct geschreven en bevestigd moesten worden, was het slechts ongeveer 1,7 keer trager dan de standaardversie, een afruil die veel beveiligingsbewuste organisaties acceptabel zouden vinden. In contrast hiermee waren andere geteste beveiligingsmethoden aanzienlijk trager, soms wel vijf keer trager, waardoor ze onpraktisch waren voor high-performance behoeften.
De onderzoekers verkenden ook hoe dit systeem zou kunnen samenwerken met bestaande software die al over enkele beveiligingsfuncties beschikt. Ze ontdekten dat door hun beveiligde systeem alleen te gebruiken voor de meest kritieke delen van een database — de logs die wijzigingen registreren — en een standaard, sneller bestandssysteem te gebruiken voor de rest van de data, ze het beste van beide werelden konden bereiken. Deze hybride aanpak stelde hen in staat om een hoge beveiliging te handhaven voor de belangrijkste gegevens, terwijl het algehele systeem snel en responsief bleef. De studie bevestigt dat het mogelijk is om een bestandssysteem te bouwen dat veerkrachtig is tegen een kwaadwillende cloudprovider zonder dat daar een volledige herziening van de software die het gebruikt voor nodig is. Door het bestandssysteem te transformeren in een zelfverifiërende structuur en het te verankeren aan een vertrouwd, extern controlepunt, hebben de onderzoekers een praktisch pad geboden voor het beveiligen van gegevens in de cloud, waarbij wordt gegarandeerd dat wat wordt opgeslagen exact is wat wordt opgehaald, ongeacht wie de hardware beheert.
Verdrinkt u in papers in uw vakgebied?
Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.