Instructeur: In deze
les gaan we aanvallen op virtuele machines
bespreken, inclusief VM escapes, VM hopping, sandbox escapes
en andere VM problemen.
Eerst hebben we VM escapes of virtuele machine escapes.
Een VM escape is een type aanval waarbij een bedreigingsacteur
uit een geïsoleerde virtuele machine
probeert te ontsnappen en vervolgens rechtstreeks
opdrachten naar de onderliggende
hypervisor stuurt.
Omdat elke virtuele machine verondersteld wordt geïsoleerd
te zijn, zou het uitvoeren van een
VM escape erg moeilijk moeten zijn.
Tenslotte zou elk gastbesturingssysteem zelf niet
eens moeten weten dat het deel uitmaakt
van een virtuele machine, omdat het nog
steeds denkt dat het volledige toegang
heeft tot de geëmuleerde fysieke machine
die de hypervisor levert.
Om een VM escape effectief te laten zijn,
moet de aanvaller een manier vinden om een directe interface
te maken met de onderliggende fysieke bronnen,
zoals het geheugen, de harde schijf of de verwerking
van de fysieke server.
Dit gebeurt meestal door misbruik te maken van een kwetsbaarheid
in de code van de hypervisor zelf.
Dit is een paar keer voorgekomen
en fabrikanten hebben patches ontwikkeld
en uitgebracht zodra ze deze kwetsbaarheden
ontdekten.
VM escape is gemakkelijker uit te voeren op een type twee hypervisor
dan op een type één hypervisor.
Als je een type twee of post-it hypervisor gebruikt, kan
de aanvaller mogelijk toegang krijgen
tot het onderliggende besturingssysteem
dat je virtuele machines host.
Als ze dat kunnen, kunnen ze hun privileges
escaleren en toegang krijgen
tot andere virtuele machines die gehost worden
op datzelfde apparaat en in feite
een virtuele machine escape creëren.
Om te voorkomen dat een virtuele machine ontsnapt,
is het altijd belangrijk om ervoor
te zorgen dat je gastbesturingssysteem, je host-besturingssysteem
en je hypervisor allemaal gepatcht en up-to-date blijven.
Ten tweede hebben we VM hopping of virtual machine hopping.
VM-hopping is een type aanval waarbij de bedreigende
actor van de ene virtuele machine
naar de andere probeert te gaan op dezelfde host.
Een VM-hopping aanval richt zich op het misbruiken van
de hypervisor van de virtualisatiesoftware
of een of andere functie om tussen de twee zogenaamd geïsoleerde
virtuele machines te bewegen.
Nu klinkt VM-hopping vergelijkbaar met een VM escape,
maar er is één belangrijk verschil:
VM-hopping is nu gericht op het verplaatsen
van de ene virtuele machine naar de andere.
Waar we het hadden over VM escape,
is het gericht op het bereiken van de onderliggende hypervisor
of het host besturingssysteem.
Om je te beschermen tegen VM-hopping moet
je er altijd voor zorgen dat je hypervisor
up-to-date en goed gepatcht is.
Ook moet je ervoor zorgen dat je gastbesturingssystemen
en de hypervisor veilig zijn geconfigureerd met behulp van een best
practice configuratiegids om ervoor te zorgen dat
er geen foutieve verbindingen zijn tussen de
virtuele machines die geïsoleerd hadden moeten worden.
Ten derde hebben we een zandbakontsnapping.
Nu is een sandbox een beveiligingsmechanisme
dat wordt gebruikt om draaiende processen
en programma's te scheiden in een poging om systeemstoringen of
kwetsbaarheden in software te voorkomen.
Meestal worden sandboxes gemaakt met behulp van virtuele machines
of containerisatie.
Webbrowsers maken bijvoorbeeld vaak gebruik van het concept
van sandboxing om draaiende webcode te scheiden van
het beschermde besturingssysteem
of andere software op het systeem.
Nu zal een sandbox escape optreden wanneer
een aanvaller de sandbox-beschermingen
kan omzeilen om toegang te krijgen tot het beschermde
besturingssysteem voor andere bevoorrechte processen.
Om je systemen te beschermen tegen een sandbox
escape is het belangrijk om ervoor te zorgen
dat je software en besturingssystemen gepatcht en up-to-date blijven,
en dat je sterke endpoint protection software hebt
geïnstalleerd op je client en dat je de extensies of add-ons beperkt die
zijn geïnstalleerd in je webbrowsers in
het geval van bescherming
tegen web browser sandbox escapes.
Ten vierde hebben we een paar zorgen waar we ook over moeten
praten als we denken aan virtuele machines en
gevirtualiseerde omgevingen.
Dit omvat zaken als migraties en gegevensresten.
Een van de grote voordelen van het
gebruik van een virtuele omgeving
is dat je een virtuele machine kunt migreren
van de ene host naar de andere, zelfs terwijl deze draait.
Dit wordt een live migratie genoemd.
Nu gebeurt deze migratie via het netwerk.
Het is dus belangrijk om er altijd
voor te zorgen dat de migratie alleen plaatsvindt via een vertrouwd
netwerk of een netwerk dat gebruik maakt van goede encryptie
tussen de server die de virtuele machine instelt en de server
die de virtuele machine ontvangt.
Als de live migratie echter plaatsvindt
via een niet-versleutelde verbinding,
bestaat de mogelijkheid dat de gegevens in die virtuele
machine worden blootgesteld aan nieuwsgierige ogen of dat de integriteit
ervan wordt aangetast door een aanvaller die
een on path aanval gebruikt.
Om dit te voorkomen moeten images van virtuele machines
worden versleuteld voordat ze via het netwerk
van de ene server naar de andere worden gestuurd.
Onthoud dat servers niet langer alleen fysieke apparaten zijn die
zich in onze datacenters bevinden, maar
dat het ook virtuele machines zijn die simpelweg
een bestand zijn dat zich op een bestandssysteem bevindt.
En deze bestanden kunnen worden gestolen door een aanvaller.
Een ander belangrijk punt van zorg bij het gebruik van virtuele
machines in een cloudomgeving zijn restanten
van gegevens die kunnen achterblijven
bij het deprovisioneren van overtollige virtuele servers.
Veel cloudproviders maken gebruik van blokopslag,
waardoor gegevens die niet langer nodig
zijn, kunnen worden achtergelaten op hun opslagapparaten.
Als ze niet op de juiste manier worden gewist, kunnen onbevoegde
gebruikers toegang krijgen tot die gegevens.
Om deze dreiging van achtergebleven gegevens te beperken,
moet je de opslaglocaties van je virtuele machines
altijd versleutelen en ervoor zorgen
dat de versleutelingscode wordt vernietigd
wanneer de virtuele machine niet langer nodig is en wordt gedeprovisioneerd.
Het laatste dat we moeten
behandelen op het gebied van beveiliging is VM sprawl,
ook wel bekend als virtual machine sprawl.
Nu is virtual machine sprawl de ongecontroleerde inzet
van een of meer virtuele machines.
Dit is een enorm kwetsbaar gebied voor jou als
organisatie, omdat je deze malafide
VM's hebt die zonder toestemming over
je hele netwerk worden
geïnstalleerd.
Dit betekent dat het systeembeheer niet wordt gedaan
voor die machines, omdat je niet weet dat ze bestaan.
En omdat je het bestaan niet kent,
doe je geen beveiligingspatches
en updates en zet je geen anti-malware oplossingen of
antivirus op om die machines te beschermen.
Hierdoor worden deze VM's erg gevoelig
voor een aanval.
En als een aanvaller een van deze rogue VM's
kan vinden die is veroorzaakt door
VM sprawl, kunnen ze naar binnen gaan en dat aanvallen
en dat gebruiken als een draaipunt naar de rest van je netwerk en dan
VM-ontsnappingen proberen of VM-hoppen naar andere
gebieden van je netwerk.
Houd daar dus rekening mee,
want deze VM sprawl is een groot probleem, vooral als je veel
aannemers en ontwikkelaars
hebt die aan je netwerk werken en die geen deel uitmaken
van je normale team en die niet je
normale wijzigingsbeheerprocessen
volgen.
Dus nogmaals, in deze les hebben we het gehad over een aantal
beveiligingseisen waar je aan moet denken
en een aantal kwetsbaarheden die tegen
deze beveiligingseisen in kunnen gaan.
Dit omvat zaken als VM-escapes, VM-hopping, sandbox-escapes
en virtuele machine sprawl.