Hoofdcategorieën
Device Settings

Onderzoekers ontwikkelen virtual-machine rootkit

Door Matthijs Abma, zondag 12 maart 2006 13:45
Bron: eWeek, views: 27.873

Onderzoekers van Microsoft Research en de universiteit van Michigan hebben samen een prototype ontwikkeld voor een rootkit, gebaseerd op een virtual-machine, zo meldt eWeek. Middels fouten in het draaiende besturingssysteem, weet deze rootkit controle over de bootprocedure te krijgen. Dit geeft de rootkit de mogelijkheid om een virtual-machine (VM) te installeren en het huidige besturingssysteem in deze VM te starten. Het is nu heel erg lastig om vanuit het besturingssysteem eventuele kwaadaardige software te detecteren die parallel wordt uitgevoerd met de VM, omdat deze software niet buiten de VM kan kijken. Het kan zelfs al lastig zijn om te detecteren of het besturingssysteem zich überhaupt in een VM bevindt.

Scherm met radarHet eerste prototype, genaamd SubVirt, gebruikte VMWare om een Linux-systeem te infecteren en voor een Windows-systeem werd Microsofts eigen VirtualPC-applicatie gebruikt. Deze rootkit bevatte vier onderdelen: een phishing webserver, een applicatie die alle toetsaanslagen registreerde, een applicatie die het bestandssysteem doorzocht naar gevoelige informatie en een systeem om VM-detectiesystemen om de tuin te leiden. Aangezien het maken en gebruiken van SubVirt vrij eenvoudig was, kunnen dit soort rootkits volgens de onderzoekers in de toekomst een reëel gevaar gaan vormen:

"We believe the VM-based rootkits are a viable and likely threat," the research team said. "Virtual-machine monitors are available from both the open-source community and commercial vendors ... On today's x86 systems, [VM-based rootkits] are capable of running a target OS with few visual differences or performance effects that would alert the user to the presence of a rootkit."

Scherm met virusDat huidige VM's een minimaal effect op het uiterlijk en de prestaties van een systeem hebben, is al bewezen door de onderzoekers zelf. Tijdens het onderzoek heeft één van de onderzoekers een tijd op een besmet systeem gewerkt, zonder dit te merken. Mogelijke oplossingen kunnen in twee hoeken gezocht worden. De eerste is door nog een laag onder de VM te scannen met behulp van hardware. AMD en Intel hebben beide al hardware gepresenteerd die kan helpen bij het detecteren van VM's. Een andere techniek zorgt ervoor dat de bootprocedure niet misbruikt kan worden. Dit kan door bijvoorbeeld van een niet herschrijfbaar medium te starten, of door een VM monitor te starten voor de bootprocedure, die het systeem controleert op rootkits.

Volgende 19:59 Bugs in GnuPG zorgen voor veiligheidsproblemen
Vorige 21:58 Brussel vindt MS-documentatie nog steeds onvoldoende
Advertentie

Reacties

«  1  2  3  »

Laat ze eerst maar eens beschermingen bedenken tegen rootkits... in plaats van rootkits zelf.

Het is eigenlijk net zoiets als een kerncentrale even flink ze gang laten gaan om te kijken hoe erg het mis kan gaan in een gecontroleerde omgeving...

Als je weet hoe je iets moet doen kan je er ook veel beter iets tegen doen... simpel.

Dat verklaard Tsjernobyl dus? :P

..en als er niets is, dan creëert men dat wel. Kijk maar naar de corrupt medische wereld, hoe sommige verhalen spreken dat ze zelf vraag hebben gecreëerd.

Waarom worden dit soort dingen naar buiten gebracht?? Kan alleen maar mensen op verkeerde ideeën brengen.

Reactie was al na 2 seconden overbodig?

Security trough obscurity is niet ideaal. Is geen beveiliging, is geen zekerheid.

een gewaarschuwd mens telt voor 2 zeggen ze wel eens,
en hoewel hij dan idd afentoe door de brug zakt (ik neem aan dat iedereen dat grapje kent) zal het meestal wel in zijn voordeel uitpakken.

Omdat er anders toch mensen op dit idee komen zonder dat de wereld er van af weet... beter dat iedereen er nu van af weet dat zo iets kan.

Security through obscurity is niet altijd een goede oplossing...

Omdat dit naar buiten is gebracht, zullen bedrijven die antivirus software schrijven er misschien meer aandacht aan besteden in de toekomst om rekening te houden met zo'n virussen.

Ik denk dat het allemaal wel mee valt. Iemand ooit gegamed op een Virtual Machine? Zo ja, dan hoef ik niet meer te zeggen.

Nee, ik heb verschillende servers tegelijk gedraaid, software getest, virtuele netwerken gebouwd... Mijn punt is, VM's zijn niet echt om te gamen.

En dat was nou precies Tha Lord's punt :P

Gamen op een VM gaat niet goed, dus je zou het merken als er een VM draait en je probeert te gamen.

Als jij gamed en je merkt dat het (veel) trager gaat dan normaal, denk je dan aan een VM-virus???

Ik iig niet, en zeker niet vóór dit bericht. Dus toch best nuttig om het naar buiten te brengen.

Nee.

Zou echter wel zou chagarijnig worden dat uiteindelijk een full-format het probleem wel verhelpt...

Het is dus zelfs maar de vraag of een full format de boel verwijderd! Was er niet ooit eens een virus wat zich in de bootsector / partition table nestelde?

Er is verschil tussen gamen in een Virtual Machine en Virtual Machine.

Wanneer je gebruikt maakt van een Virtual machine onder een OS, bijvoorbeeld Virtual PC of gewoon VMWare dan merk je het verschil. Maar als je een onder bijvoorbeeld VMWare/ESX draait, dan merk je weinig verschil als je maar één OS hebt draaien.

"We hebben een dodelijk virus gebaseerd op H5N1 ontwikkeld en helaas is deze ontsnapt. We denken dat het een werkelijke bedreiging is."

Als je in linux een virtual machine draait, en het OS weet "uit" de VM te komen, heeft 'ie toch slechts de rechten van de VM, en niet rechten op het complete systeem? of is dit iets anders?

Als ik 't goed begrepen heb, is het juist andersom! Het huidige besturingssysteem (host) wordt in de VM gezet.

Ja, maar om het besturingssysteem in de VM op te laten starten heeft het virus / de rootkit wel root-rechten nodig. Tenminste, de boot-scripts zijn bij mij niet als gewone user aan te passen. :)

Dus de de zog. host is dus chrooted in de VM ? Dan kom je er toch nooit meer uit ?

Dus de de zog. host is dus chrooted in de VM ? Dan kom je er toch nooit meer uit ?
chrooted is geen perfecte beveiliging, omdat je nog wel toegang hebt tot het geheugen en kernelspace van het host OS. Daar kun je wel weer uitbreken (het is een extra hindernis, maar niet onmogelijk om te nemen).

in dat opzicht heb je iets meer zekerheid met de jail functionaliteit van FreeBSD.

in dit geval, om alles echt onmerkbaar te houden, kun je best chrooted zitten in /. Waardoor je niets merkt.

als dit tijdens boot wordt gedaan, heb je gewoon root rechten, en maakt dat dus niks uit

Neej dan is het als je linux in een VM draait. Want het OS zal dan juist in de VM draaien, niet het VM op het OS

Dit geeft de rootkit de mogelijkheid om een virtual-machine (VM) te installeren en het huidige besturingssysteem in deze VM te starten
Het lijkt mij sterk dat je dat niet merkt. Immers de hardware van een VM wijkt toch wel af van de host. Hij moet dan toch op z'n minst nieuwe hardware vinden en installeren?

Blijft wel een slimme truuk :*)

Als je een VM ontwikkelt die alleen maar als host voor een rootkit hoeft te dienen (en niet om meerdere OS'en tegelijk op te draaien) dan ligt het natuurlijk voor de hand om de hardware emulation layer zo dun mogelijk en in feite gewoon transparant te maken. Dus dan heb je geen andere hardware onder de VM.

"Hee mijn windows startte gister ook iets trager op , vaag.
Nou ja vandaag doet ie het gewoon weer goed dus het zal we niks zijn." - Willekeurig window noob gesprek. :)

Denk je echt dat mensen zich daar druk over maken?
Er zijn denk ik maar weinig mensen die echt iedere dag voor hun monitor gaan zitten wachten tot het systeem is opgestart.

Middels fouten in het draaiende besturingssysteem, weet deze rootkit controle over de bootprocedure te krijgen.
Hierover kan ik alleen maar zeggen: repareer deze fouten dan!! Klinkt nogal stom zo namelijk.

Verder wel een interessant artikel. Je hoofd-OS ongemerkt in een VM draaien zodat echt alle pogingen om de rootkit te detecteren afgevangen kan worden. Ben wel benieuwd hoe complex die software moet zijn om dit te kunnen draaien.

@klakkie.57th: ik snap dat mijn formulering eerst wat ongelukkig was, ik doelde op het idee dat een rootkit een VM opstart waarin het OS gedraaid wordt, zodat alle pogingen om de rootkit te detecteren afgevangen kunnen worden. Dat is namelijk waar het artikel over gaat.

Nou ik doe dit toch echt al een tijdje hoor. Als ik op het internet ga rondneuzen, naar sites waar ik normaal niet kom doe ik dit haast altijd vanuit een virtual Machine, zo krijgen Spyware en virussen totaal geen kans.
Net zo goed heb ik ook een virtual Machine die helemaal togetimmerd heb om enkel mijn banktranacties te doen.
Deze VM kan enkel connecteren naar mijn bank en vice versa.
Dit is gewoon de toekomst

En je bent er nog steeds niet achter dat je main OS al een behoorlijke tijd een rootkit-achtige spyware bevat?

:P :+

Beetje paranoide niet? Dit is wel erg overdreven.
Als je een simpel virusscannertje (bijvoorbeeld AVG) en Hitman Pro draait en gewoon zelf een beetje oplet met wat je doet is de kans wel heel erg klein dat er iets gebeurd.

Daarnaast hebben alle banken in Nederland tegenwoordig een systeem wat tenminste een code / wachtwoord buiten internet om vereist (Postbank: SMS, ABN / Rabo: Calculator)

Hoeft helemaal niet zo complex te zijn (relatief gezien). Je hoeft alleen maar de voor jou interessante dingen te vangen (keystrokes, packets die binnen komen of gaan vanuit je NIC enz.) en de rest allemaal door te gooien naar het systeem zelf. Ik durf te wedden dat het met een relatief klein stukje software (like ergens <500Kb) al prima te doen valt. Zou me niks verbazen als het nog <50Kb kan.

Ik snap er niets van 8)7

Gaat het er nu om dat er stiekem een VM op een pc wordt gestart die vanuit die VM op het host-systeem allerlei dingen kan uithalen?

Of gaat het erom dat er stiekem een VM op een pc wordt geinstalleerd die het huidige OS emuleert waardoor een computergebruiker niet doorheeft dat ie binnen een VM zit te werken?

Of gaat het erom dat er stiekem een VM op een pc wordt geinstalleerd die het huidige OS emuleert waardoor een computergebruiker niet doorheeft dat ie binnen een VM zit te werken?
Dat ja 8-) het idee van een rootkit is dat bepaalde onderdelen van het besturingssysteem eruit zien alsof ze normaal werken, maar eigenlijk zijn ze vervangen door kwaadaardige software. Bij unix was dit makkelijk omdat je gewoon de standaard tools als cat/ls/ps of zels bash kon vervangen. Bij moderne besturingssystemen werd dit lastiger vanwege de complexe grafische interfaces, maar met huidige VM technologie is het dus geen obstakel meer om zelfs de hele omgeving te vervangen.

De VM op zich is niet de infectie. Eigenlijk mankeert je computer vrij weinig, er wordt alleen ongewenst een VM gestart (sommige mensen zouden er waarschijnlijk al intrappen als het vanuit het opstarten-menu wordt gestart). Het besturingssysteem dat draait op de VM is is wel zwaar geïnfecteerd, maar dat wordt compleet voor je verborgen.

Misschien zijn er stiekem al mensen die zonder het te merken op een geïnfecteerde VM zitten te werken. (8> The Matrix has you.

Erger nog. Met een VM heb je een universele rootkit. Elk OS dat in de VM draait is dan geinfecteerd. Het is dan vrij simpel om aan de VM een remote controle faciliteit te koppellen, zodat je een vrijwel ondetecteerbaar botnet kan maken.
De technieken die dit kunnen voorkomen zijn ofwel onhandig (booten van een niet schrijfbaar medium) of liggen er gevoelig (Trusted Comuting).

Trusted Computing
Ik zat me al af te vragen waarom MS Research deze rootkits aan het testen/ontwikkelen was ... Jij geeft me het antwoord, om Trusted Computing (MS noemt het nu NGSCB) te promoten (8>

P.S. Zou zo'n, met hulp van MS ontwikkelde, rootkit niet in verkeerde handen kunnen vallen :Y)

Het virus maakt een vm waarin je huidige os draait, het zit als het ware tussen je software en je hardware in en kan op die manier dingen onderscheppen.

Microsoft gaat dit vast gebruiken om TPM te rechtvaardigen. En natuurlijk is Linux niet trusted. Immers VMWare kan prima op Linux draaien, dus is Linux juist het laatste wat Microsoft wil toelaten.

Slimme zet. Jammer dat wij weer het slachtoffer worden.

Dat is dan ook het idee achter TPM: de concurrentie volledig uitschakelen.

Gelukkig kijkt iedereen weer positief naar microsoft :)

Er wordt hier toch alleen aangegeven dat het mogelijk is en dat het een vrij serieuze dreiging is? Dat jij het gelijk ziet als een manier op linux te verhinderen zegt meer over jouw denken dan dat van hun. |:(

Overigens: 'via gaten in het besturingssyteem wist de rootkit controle over de boot te krijgen' --> Het is toch zowiezo eenvoudig om een bootloader te installeren/de huidige te modificeren dat hij naar een andere os (de vm- host) wijst? Enige waarvoor je moet zorgen is dat ze veel op elkaar lijken, dan ben je klaar.

imo is het juist raar dat iedereen positief naar MS kijkt.
door fouten in eigen software te graven (zij hebben immers via hun eigen source wel een makkelijkere opdracht) maken ze de mogelijkheid om een virus/vmware te ontwikkelen die hun eigen software misbruikt. als MS dit actief zou doen zouden er veel minder fouten aanwezig zijn en zouden we nu misschien niet zo onder de huidige fouten lijden. ik hoop dat MS dan hier ook een draai aan geeft om dit soort actieve virusschrijven opzet om zo zelf fouten uit software te halen ipv het bij alleen deze proof of concept te houden.

Kunnen we nou alsjeblieft 1 keer heel de MS/Linux discussie achterwege laten, en al helemaal het TPM gedoe?
Dit hele verhaal geldt voor _alle_ OS-sen en heeft niks van doen met MS noch met Linux of TPM. Dit soort discussies begint me echt de keel uit te komen.

Het is nu heel erg lastig om vanuit het besturingssysteem eventuele kwaadaardige software te detecteren die parallel wordt uitgevoerd met de VM, omdat deze software niet buiten de VM kan kijken. Het kan zelfs al lastig zijn om te detecteren of het besturingssysteem zich überhaupt in een VM bevindt.
en
Deze rootkit bevatte vier onderdelen: een phishing webserver, een applicatie die alle toetsaanslagen registreerde, een applicatie die het bestandssysteem doorzocht naar gevoelige informatie...
Als het zo moeilijk is om parallel uitgevoerde software te detecteren, kan die parallel uitgevoerde software dan zo makkelijk toetsaanslagen detecteren in de voor hem parallelle software?
Oftewel: kan deze VM makkelijker naar Windows kijken dan andersom?

Ja natuurlijk. Dit draait niet parallel, het Os draait in de VM, dus de VM parset alle acties van het OS en bij bepaalde handelingen doet de VM dingen die het Os niet gevraagd heeft en waar het Os ook niets van afweet. Het Os weet niet dat er een VM is maar andersom juist wel. Denk aan éénzijdig doorzichtig glas ofzo.

Het punt is niet dat het parallel draait. Als je in windows meerdere VM's draait, hebben die inderdaad geen weet van elkaar. Maar windows heeft wel weet van beide.

Met deze rootkit, draait windows in een VM. De rootkit is de host, dus heeft weet van deze VM (hij draait hem namelijk). Hij heeft ook weet van andere VM's, dus ook van een eventuele logging VM. Overigens hoeft deze niet in een VM te draaien, het kan ook in de host draaien.

Virtual Machines zijn bedoelt om meerdere OS-sen naast elkaar te draaien zonder dat ze besef hebben dat ze in een virtuele omgeving draaien en zonder dat ze weten welke andere VM's er draaien. Dat principe wordt hier dus uitgebuit.
«  1  2  3  »

Op dit item kan niet meer gereageerd worden.

Volgende 19:59 Bugs in GnuPG zorgen voor veiligheidsproblemen
Vorige 21:58 Brussel vindt MS-documentatie nog steeds onvoldoende
VNU Media logo Hosted by True

© 1998 - 2012 Tweakers.net B.V. - Alle rechten voorbehouden - Contact - Jouw privacy - Algemene Voorwaarden

Uitgever van:

Website van het jaar 2011