Securitybedreigingen komen in vele vormen en vanuit vele hoeken. Een onverwachte, ‘vernieuwende’ aanval is gekomen via gevirtualiseerde diskettedrives. Ook als die niet in gebruik zijn in virtuele servers.
Deze kwetsbaarheid is eerder deze maand ontdekt en heeft – naar modern gebruik – een aansprekende naam gekregen. Wat in de securitycodering van het CVE-systeem (Common Vulnerabilities and Exposures) CVE-2015-3456 is, draagt de dreigende naam Venom (virtualized environment neglected operations manipulation). Het is een 0-day kwetsbaarheid die zit in de virtualisatiesoftware QEMU. In algemene it-kringen is die software misschien niet zo goed bekend, maar mogelijk wél in gebruik. De QEMU-code doet namelijk dienst in diverse virtualisatieplatformen, zoals VirtualBox, Xen en KVM.
Vlekwerking van open source
Deze verschillende open source-pakketten voor virtualisatie hebben grote ict-namen achter zich, waaronder Oracle (die zelf VirtualBox levert), Citrix (dat in 2007 XenSource heeft opgekocht) en de diverse leveranciers die zich bezighouden met Linux. Virtualisatiesoftware KVM (Kernel-based Virtual Machine) zit sinds begin 2007 in de mainline kernel van Linux (sinds versie 2.6) en Xen is in 2011 toegevoegd (aan Linux-kernel 3.0).
Stiekem toch actief
Het actief uitschakelen van de virtuele Floppy Disk Controller (FDC) beschermt echter niet tegen Venom. Ontdekker CrowdStrike merkt op dat een ongerelateerde bug ervoor zorgt dat de kwetsbare FDC-code toch actief blijft en valt te misbruiken door kwaadwillenden. Datacenters, hostingebedrijven ook andere ict-gebruikende organisaties lopen onwetend risico. De kwetsbare code kan namelijk ook schuilen in security-appliances die juist malware opvangen in virtuele machines.
Bovendien is Venom platformonafhankelijk van het onderliggende besturingssysteem doordat het zit in de code van de gebruikte hypervisor. Zowel Linux als Windows of OS X zijn dus kwetsbaar. Dit betreft dan de host-platformen. Venom is weliswaar ook platformneutraal wat het guest-OS betreft, maar een aanvaller (of diens malware) moet op dat ingangsplatform wel beheer- of rootrechten hebben om Venom te kunnen benutten.
In een blogpost legt CrowdStrike-onderzoeker Dmitri Alperovitch uit dat security-appliances vaak malware bewust met adminstrator-rechten draaien om die kwaadaardige software virtueel ‘tot ontploffing’ te brengen voor detectie en analyse. Daarnaast kunnen hostingklanten beheerrechten hebben op de virtual private servers die zij afnemen bij een hostingbedrijf.
Van de ene naar de andere VM, en verder
Een aanvaller kan dankzij Venom uit een gevirtualiseerde omgeving ontsnappen om de onderliggende hypervisor te compromitteren. Eventuele andere gevirtualiseerde servers die op die onderlaag draaien, zijn hierdoor ook weer kwetsbaar. Uiteindelijk kan een succesvolle aanvaller overspringen naar andere fysieke servers, die al dan niet gevirtualiseerde servers draaien. Het overnemen van de onderliggende virtualisatielaag kan immers toegang geven tot autorisaties en log-ins waarmee het bredere netwerk en de daarin draaiende machines zijn te benaderen.
CrowdStrike waarschuwt dat hierdoor intellectueel eigendom, bedrijfsgeheimen en gevoelige privégegevens zijn buit te maken. ‘Dit kan duizenden organisaties en miljoenen eindgebruikers raken’, aldus het securitybedrijf. De virtualisatiesoftware VMware, Microsoft Hyper-V en Bochs zijn niet kwetsbaar, merkt CrowdStrike op in zijn FAQ over Venom. Inmiddels zijn er al patches verschenen van diverse leveranciers die de kwetsbare QEMU-code gebruiken in hun eigen software. De Endurance International Group biedt beheerders instructies om Venom-patches toe te passen zonder de betreffende KVM- en Xen-hypervisors te hoeven rebooten.
Niet helemaal waar die laatste zin. In het artikel staat:
“if memory is oversold then moving pages to allocated HugePages from Anonymous (Transparent) HugePages, will likely result in some portion of guest instances unable to start due to insufficient memory. In this scenario, the only solution to remediate the vulnerability is to stop / start all guest instances on the hypervisor.”