Veilig in de cloud: waarom AWS zijn eigen chips ontwikkelt

In 2016 lijfde Amazon Web Services Annapurna Labs in. Vandaag onderscheidt de cloudprovider zich van de concurrentie met op maat gebouwde Nitro-coprocessors die nieuwe types beveiliging en hardware-acceleratie naar standaard-virtualisatieservers brengen.

Op de Re:Inforce-conferentie in Boston kondigt AWS-CISO Steve Schmidt trots aan dat EBS-opslag voortaan gratis versleuteld wordt als standaard-instelling.

Verder horen we dat alle AWS-instances met een ‘n’-suffix (zoals C5n bijvoorbeeld) voortaan met elkaar kunnen praten via realtime versleuteld verkeer. Beide vormen van encryptie brengen geen enkele impact op de prestaties met zich mee. Het geheim: Nitro.

Nieuwe processors

AWS ontwikkelde de afgelopen jaren een raamwerk van processors en coprocessors onder de noemer ‘Nitro’. De Nitro Controller is het bekendste resultaat.

De controller is een SoC die bestaat uit verschillende chiplets, waaronder Arm-cpu-cores en in-house ontwikkelde microchips. De belangrijkste implementatie van Nitro is veiligheid.

 

De belangrijkste implementatie van Nitro is veiligheid.

 

AWS besliste om geen hardware meer voor honderd procent te vertrouwen buiten de eigen Nitro-controller, die voortaan verantwoordelijk is voor het hele bootproces van een server.

Zelfs het moederbord is onderhevig aan de controle van Nitro, dat opstart via een beveiligde SSD en immuun is voor invloed van buitenaf. Dat betekent in de praktijk dat het zwaartepunt van de fysieke hardware waarop jij toepassingen virtualiseert niet langer bij moederbord en cpu, maar bij Nitro ligt.

Meer dan veiligheid

AWS bouwde verder op dat idee en voorziet de Nitro-controller vandaag van een handvol coprocessors met erg specifieke taken. Eén van die taken: encryptie. We nemen EBS-opslag als voorbeeld.

Beeld je een virtuele machine in die via het NVMe-protocol praat met een SSD. In moderne AWS-hardware praat de VM (via de hypervisor) eigenlijk met een Nitro-processor die zich voordoet als SSD.

De coprocessor verzorgt vervolgens de communicatie met de EBS-opslag, maar daar weet de virtuele machine niets van. De chip is geoptimaliseerd voor on-the-fly encryptie en decryptie zodat alles wat wordt weggeschreven naar het aangesproken volume op de SSD standaard versleuteld wordt. Dat gebeurt niet door de standaard Intel- of AMD-cpu’s, die van het hele proces geen weet hebben. Er is dus geen overhead en geen impact op de prestaties.

Alles versleuteld

Hetzelfde geldt voor netwerkverkeer. Je applicatie of VM denkt dat ze met de netwerkkaart praat, terwijl communicatie in werkelijkheid via een Nitro-coprocessor verloopt, die zich voordoet als netwerkkaart. Die coprocessor versleutelt het verkeer over het netwerk, opnieuw zonder impact op de prestaties.

Dat verklaart meteen waarom versleuteld netwerkverkeer enkel beschikbaar is tussen ‘n’-instanties. Die zijn uitgerust met de vereiste coprocessor. Zonder zou een instance waardevolle cpu-kracht van de hoofdprocessor moeten verkwanselen voor decryptie.

 

Zonder Nitro zou een instance waardevolle cpu-kracht van de hoofdprocessor moeten verkwanselen voor decryptie.

 

AWS heeft de ambitie om de hele infrastructuur de komende jaren te voorzien van de nodige Nitro-hardware, zodat werkelijk al het netwerkverkeer de facto versleuteld zal verlopen. “Zelfs binnen eenzelfde rack willen we alles versleutelen”, verduidelijkt Mark Ryland van AWS aan Techzine.

Met de Nitro-coprocessors wil AWS het ‘domain zero’-concept overbodig maken. Dom0 is het gepriviligeerde domein dat kort door de bocht dienstdoet als root-OS waarop bijvoorbeeld de Xen-hypervisor draait. Dom0 heeft rechtstreekse toegang tot de serverhardware en is in de regel toegankelijk voor op z’n minst datacenterpersoneel om in het geval van problemen een server te managen.

Nitro als hypervisor

AWS ziet Dom0 en de menselijke toegang als een veiligheidsrisico. “De functies van het nuldomein kunnen perfect overgeheveld worden naar de Nitro-hardware”, vertelt Ryland. “Die neemt de rol van Dom0 over en kan zo zelf de hypervisor draaien. Nitro is als domein niet toegankelijk door mensen, laat staan via SSH, wat misbruik meteen uitsluit. Management volgens dit systeem gebeurt uitsluitend via Nitro en gecontroleerde API’s, wat zaken als policy en verbeterde toegangscontrole mogelijk.

 

 

Nitro als kloppend hart van de server biedt plots heel wat extra mogelijkheden. Denk maar aan een bare-metal server, die plots niet meer bare-metal hoeft te zijn. De Nitro-coprocessors kunnen zich perfect voordoen als hardware. Ryland spreekt van M5d-metal-instances die voortaan op Nitro kunnen draaien.

AWS: chipboer

Amazon ontwikkelt al zijn chips in-house dankzij de acquisitie van Annapurna Labs in 2016. Dat bedrijf leeft nu voort als afdeling van AWS.

“Zodra je als bedrijf een zekere schaal bereikt, is het logisch en economisch ook interessant om zelf hardware te ontwikkelen”, vindt Ryland. Dat geeft AWS de totale controle over de capaciteiten van Nitro en de integratie in Web Services.

AWS is verre van de enige cloudprovider die zich aan chipdesign waagt. Naast Nitro biedt AWS al geruime tijd instances met herprogrammeerbare FPGA’s en dat is een aanbod dat Azure en Google Cloud weerspiegelen. Google zelf zet dan weer in op de ontwikkeling van AI-chips met de Tensor Processing Unit (TPU).

Over het algemeen zijn custom-chips echter toevoegingen aan het cloudaanbod. Amazon onderscheidt zich door het gebruik van Nitro op de achtergrond ter verbetering van zijn eigen aanbod naar klanten toe. Die worden niet overtuigd met deze of gene nieuwe processor, maar met zaken als gratis encryptie op opslag en netwerk zonder overhead.

Gerelateerd: FPGA: boetseerbare wonderchip voor AI, IoT en machine learning