Hoe voorkom je spionage in de cloud?

De gemoederen in het cloud computing landschap worden nog steeds bezig gehouden met de ontmaskering van het afluisterprogramma PRISM. De schade die Edward Snowden’s onthulling oplevert voor de cloud computing industrie is door Forrester becijferd op maar liefst 180 miljard dollar. Er wordt stilgestaan bij de risico’s van cloud computing. Maar welke oplossingen zijn er?

Cloud computing kent vele verschijningsvormen. Sommige daarvan genieten grote naamsbekendheid zoals Google Docs, Facebook of Dropbox. Wellicht minder bekend bij het grote publiek zijn diensten zoals Amazon EC2 of Rackspace Cloud Servers. Toch zijn we allemaal gebruiker van deze “cloud infrastructuur diensten”. Netflix, Foursquare en Reddit zijn slechts enkele voorbeelden van websites die hiervan gebruikmaken.

Cloud infrastructuur diensten richten zich op het verhuren van “gevirtualiseerde” servers in de plaats van fysieke servers. Gevirtualiseerde machines zijn computerprogramma’s die een echte computer nabootsen. Dit is goedkoper, daarom is het mogelijk deze voor een lagere prijs te verhuren dan echte fysieke machines. Daarbij is het cruciaal dat virtuele machines van verschillende klanten strikt gescheiden blijven.

De genuanceerde waarheid
Om schaalvoordeel te bereiken plaatsen cloud providers virtuele machines van verscheidene klanten samen op één fysieke machine. Deze klanten zijn niet altijd even goede huurders, en soms ook nog slechte buren.

Een aanvaller kan proberen bekende kwetsbaarheden in de software van de cloud provider uit te buiten. Als dit slaagt, dan heeft de aanvaller toegang tot de data van alle klanten op de machine. Zo niet, dan zijn er sinds kort ook nog andere manieren om te spioneren in data van andere klanten. Een recent gepubliceerde methode heeft daarbij voor fikse opschudding gezorgd omdat onderzoekers er in geslaagd zijn cryptografische sleutels te ontvreemden uit een naburige virtuele machine (details). Een aanvaller kan met deze sleutels versleuteld verkeer van de klant ontcijferen.

Het uitvoeren van deze aanval is veeleisend en succes is niet gegarandeerd. Desondanks tonen deze ontwikkelingen aan dat een vastberaden tegenstander die beschikking heeft over de juiste middelen wellicht bij jouw data kan.

Meer slecht nieuws
Naast andere klanten op het systeem kunnen ook leveranciers van cloud infrastructuren een bedreiging vormen voor jouw data. Amazon en Rackspace zijn recentelijk gevraagd naar hun standpunten inzake het Prism programma. Beiden beweren niet mee te doen aan Prism (details), maar is dat voldoende geruststelling voor ons? De Patriot act is immers nog steeds op beide bedrijven en hun dochterfirma’s van toepassing. Je blijft het risico lopen dat overheidsdiensten van de VS toegang hebben tot jouw data en dat de cloud providers je hier niet over mogen informeren (de zogenaamde “gag orders“).

Stel dat we bovenstaande risico’s accepteren – hebben we dan een compleet beeld? Het antwoord daarop luidt ontkennend. De zwakste schakel in beveiliging is doorgaans de menselijke factor – je vertrouwt de cloud provider, maar vertrouw je ook alle systeembeheerders en programmeurs die daar werken?

In het simpelste geval kun je in twijfel trekken of de medewerkers wel voldoende aandacht besteden aan beveiliging. Voor een cloud die soms vele duizenden fysieke servers omvat, is het uitdagend om continu alle machines bij te werken met de vele security patches die verschijnen. In ergere gevallen kun je spreken van een “malicious insider”: een medewerker die voor eigen gewin data ontvreemdt uit jouw virtuele machines en deze informatie lekt, verkoopt, of gebruikt voor verdere aanvallen. Berichten over aanvallen van binnenuit bij cloud providers zijn zeldzaam omdat cloud providers er belang bij hebben om aan zulke incidenten zo min mogelijk publiciteit te schenken. Desondanks druppelen er af en toe berichten naar buiten waaruit blijkt dat werknemers soms misbruik kunnen maken van hun privileges (bijvoorbeeld een incident wat bij Google heeft plaatsgevonden).

Pragmatische oplossingen
Bij geen enkele cloud provider kun je op dit moment virtuele machines huren die beschermd zijn tegen de cloud provider zelf, terwijl dit wel een wens is van klanten. Eén technologie waarvan hoge verwachtingen worden gekoesterd luidt “homomorphische encryptie.” Dit is een wiskundige benadering waarvan bewezen is dat de cloud provider wél onze opdrachten kan uitvoeren, maar niet in onze data kan kijken. Helaas is deze oplossing op dit moment nog veel te inefficiënt om werkelijk te kunnen gebruiken.

Daarom is het van belang te kijken naar oplossingen die sterkere aannames maken maar nog steeds acceptabel zijn voor de meeste scenario’s. Aan deze pragmatische oplossingen heb ik mijn afstudeerscriptie gewijd en recentelijk een paper over gepubliceerd met mijn oud-collega’s aan de universiteit Darmstadt. De door mij onderzochte oplossing voorziet in het plaatsen van een extra virtuele machine tussen jouw VM en de software van de cloud provider. Deze extra virtuele machine (“crypto VM” genaamd) versleutelt alle informatie die vanuit jouw klant-VM doorgegeven wordt aan de software van de cloud provider, en omgekeerd.

Deze ogenschijnlijke simpele opzet lijdt wel aan één probleem: de cryptografische sleutel die gebruikt wordt voor deze versleutelingsoperaties – waar verblijft die? Op het moment dat deze sleutel in het geheugen van de fysieke machine staat, dan kan de de cloud provider deze ook uitlezen. De oplossing, en nu word ik vrij technisch, is dat gebruik wordt gemaakt van een hardware chip op het moederbord (de TPM), welke een certificaat afgeeft waarin vermeld staat welke software de cloud provider draait. De eerste stap is om van de cloud provider te verlangen dat hij een certificaat toont waaruit blijkt dat hij alleen software draait waarmee het onmogelijk is data van klanten te lezen. De tweede stap is dat de crypto VM alle data die jouw VM wegschrijft naar het netwerk en harde schijf beschermt tegen onbevoegden. Hierna kan niemand van de cloud provider meer bij jouw data, onder de aanname dat er geen fysieke aanvallen (bijvoorbeeld door middel van hardware debuggers en elektronenmicroscopen) worden uitgevoerd op de hardware chip. Buiten beschouwing laten we kwetsbaarheden in de virtualisatie software en “side channel” aanvallen die informatie deduceren uit de manier waarop virtuele machines de processor en het geheugen gebruiken.

Conclusie
Cloud computing is een ontwikkeling met grote potentie voor de IT. Desondanks kleven er risico’s aan cloud computing waar je vóór gebruik bewust van moet zijn. Jouw data loopt continu risico om bespioneerd te worden vanuit verschillende hoeken zoals andere hackers, veiligheidsdiensten of malicious insiders. Een goed beeld vormen van de risico’s vóór het gebruik van cloud computing, helpt om nare verrassingen achteraf te voorkomen.

Cloud providers hebben de mogelijkheid om verbeteringen te implementeren die de privacy van klantdata beter beschermen en spionage tegengaan. Ik heb in dit artikel een voorbeeld gegeven waarin een cloud provider een bewijs presenteert waaruit blijkt dat hij technisch niet de mogelijkheid heeft om data uit virtuele machines van klanten te lezen. Oplossingen zoals deze dragen bij aan het vertrouwen in cloud providers en beperken de risico’s die een malicious insider of Prism afluisterprogramma kunnen vormen. Dat is een winst voor cloud klanten én aanbieders.


Hugo Ideler is Consultant Risk Services bij Deloitte.

Dit artikel verscheen op 22 augustus op de website van Deloitte en is met toestemming overgenomen op ISP Today.

Over Hugo Ideler

Laatste artikelen