Hypervisorbeveiliging in de Azure-vloot
Het Azure-hypervisorsysteem is gebaseerd op Windows Hyper-V. Het hypervisorsysteem stelt de computerbeheerder in staat om gastpartities op te geven die afzonderlijke adresruimten hebben. Met de afzonderlijke adresruimten kunt u een besturingssysteem en toepassingen laden die parallel werken met het (host)besturingssysteem dat wordt uitgevoerd in de hoofdpartitie van de computer. Het hostbesturingssysteem (ook wel bevoegde hoofdpartitie genoemd) heeft directe toegang tot alle fysieke apparaten en randapparatuur op het systeem (opslagcontrollers, netwerkaanpassingen). Het hostbesturingssysteem staat gastpartities toe om het gebruik van deze fysieke apparaten te delen door 'virtuele apparaten' beschikbaar te maken voor elke gastpartitie. Een besturingssysteem dat wordt uitgevoerd in een gastpartitie, heeft dus toegang tot gevirtualiseerde randapparatuur die worden geleverd door virtualisatieservices die worden uitgevoerd in de hoofdpartitie.
De Azure-hypervisor is gebouwd met de volgende beveiligingsdoelstellingen in gedachten:
Doelstelling | Bron |
---|---|
Isolatie | Een beveiligingsbeleid vereist geen gegevensoverdracht tussen VM's. Deze beperking vereist mogelijkheden in Virtual Machine Manager (VMM) en hardware voor isolatie van geheugen, apparaten, het netwerk en beheerde resources, zoals persistente gegevens. |
VMM-integriteit | Om de algehele systeemintegriteit te bereiken, wordt de integriteit van afzonderlijke hypervisoronderdelen tot stand gebracht en onderhouden. |
Platformintegriteit | De integriteit van de hypervisor is afhankelijk van de integriteit van de hardware en software waarvan deze afhankelijk is. Hoewel de hypervisor geen directe controle heeft over de integriteit van het platform, is Azure afhankelijk van hardware- en firmwaremechanismen zoals de Cerberus-chip om de onderliggende platformintegriteit te beveiligen en te detecteren. De VMM en gasten kunnen niet worden uitgevoerd als de platformintegriteit wordt aangetast. |
Beperkte toegang | Beheerfuncties worden alleen uitgevoerd door geautoriseerde beheerders die zijn verbonden via beveiligde verbindingen. Een principe van minimale bevoegdheden wordt afgedwongen door mechanismen voor op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC). |
Controleren | Azure biedt controlemogelijkheden voor het vastleggen en beveiligen van gegevens over wat er op een systeem gebeurt, zodat deze later kunnen worden geïnspecteerd. |
De aanpak van Microsoft voor het beveiligen van de Azure-hypervisor en het subsysteem voor virtualisatie kan worden onderverdeeld in de volgende drie categorieën.
Sterk gedefinieerde beveiligingsgrenzen afgedwongen door de hypervisor
De Azure-hypervisor dwingt meerdere beveiligingsgrenzen af tussen:
- Gevirtualiseerde 'gastpartities' en bevoorrechte partities ('host')
- Meerdere gasten
- Zichzelf en de host
- Zelf en alle gasten
Vertrouwelijkheid, integriteit en beschikbaarheid zijn gegarandeerd voor de beveiligingsgrenzen van de hypervisor. De grenzen beschermen tegen een reeks aanvallen, waaronder informatielekken in kanalen aan de zijkant, denial-of-service en onrechtmatige uitbreiding van toegangsrechten.
De beveiligingsgrens van de hypervisor biedt ook segmentatie tussen tenants voor netwerkverkeer, virtuele apparaten, opslag, rekenresources en alle andere VM-resources.
Beveiligingsbeperkingen voor diepgaande aanvallen
In het onwaarschijnlijke geval dat een beveiligingsgrens een beveiligingsprobleem heeft, bevat de Azure-hypervisor meerdere lagen met oplossingen, waaronder:
- Isolatie van hostgebaseerde proceshosting tussen VM-onderdelen
- Beveiliging op basis van virtualisatie (VBS) voor het waarborgen van de integriteit van gebruikers- en kernelmodusonderdelen vanuit een veilige wereld
- Meerdere niveaus van exploit-oplossingen. Oplossingen zijn onder andere aslr (randomisatie van adresruimte-indeling), preventie van gegevensuitvoering (DEP), beveiliging van willekeurige code, controlestroomintegriteit en preventie van gegevensbeschadiging
- Automatische initialisatie van stackvariabelen op compilerniveau
- Kernel-API's die kernel heap-toewijzingen die door Hyper-V zijn gemaakt, automatisch met nul initialiseren
Deze oplossingen zijn ontworpen om de ontwikkeling van een exploit voor een beveiligingsprobleem tussen VM's onhaalbaar te maken.
Sterke processen voor beveiligingscontrole
De kwetsbaarheid voor aanvallen met betrekking tot de hypervisor omvat softwarenetwerken, virtuele apparaten en alle cross-VM-oppervlakken. De kwetsbaarheid voor aanvallen wordt bijgehouden via geautomatiseerde build-integratie, die periodieke beveiligingsbeoordelingen activeert.
Alle VM-aanvalsoppervlakken zijn bedreigingsmodellen, code beoordeeld, fuzzed en getest door ons RED-team op schendingen van de beveiligingsgrens. Microsoft heeft een bug bounty-programma dat een prijs betaalt voor relevante beveiligingsproblemen in in aanmerking komende productversies voor Microsoft Hyper-V.
Notitie
Meer informatie over sterke processen voor beveiligingscontrole in Hyper-V.
Volgende stappen
Zie voor meer informatie over wat we doen om platformintegriteit en -beveiliging te stimuleren: