Archiv verlassen und diese Seite im Standarddesign anzeigen : Virtualisierungs-Technologie als Sprungbrett für Rootkits ungeahnten Ausmaßes
Sephiroth
2006-07-02, 01:34:49
Joanna Rutkowska hat ein Rootkit für Vista x64 mit dem Codenamen Blue Pill (ganz nach Matrix ;)) entwickelt, welches zu 99,9% nicht entdeckt werden kann (sie spricht sogar von 100%)!
Warum? Weil es nicht im Ziel-OS selbst agiert sondern dank Pacifica in einer isolierten VM und so nicht von einem Programm unter dem echten Betriebssystem des Users entdeckt werden kann, außer es gibt eine generische Methode um solche hardware basierte virtual machines zu entdecken und dann wäre SVM/Pacifica "buggy".
Now, imagine a malware (e.g. a network backdoor, keylogger, etc...) whose capabilities to remain undetectable do not rely on obscurity of the concept. Malware, which could not be detected even though its algorithm (concept) is publicly known. Let's go further and imagine that even its code could be made public, but still there would be no way for detecting that this creature is running on our machines...
I would like to make it clear, that the Blue Pill technology does not rely on any bug of the underlying operating system. I have implemented a working prototype for Vista x64, but I see no reasons why it should not be possible to port it to other operating systems, like Linux or BSD which can be run on x64 platform.
Blue Pill benötigt keinen Neustart und ändert nichts an der Festplatte bei der Installation wie SubVirt, welches dadurch offline detectable wird. SubVirt (http://research.microsoft.com/csm/CSM_Publications.htm) ist ein Rootkit-Projekt, welches unter einem VMM wie VMWare läuft aber durch Rutkowskas Red Pill (http://invisiblethings.org/papers/redpill.html) Programm entdeckt werden kann, da es nicht zu 100% virtualisierbar ist.
Blue Pill is being developed exclusively for COSEINC Research and will not be available for download. However, Rutkowska said the company is planning to organize trainings about Blue Pill and other technologies where the source code would be made available.
Mehr?
Blog von Rutkowska (http://theinvisiblethings.blogspot.com/2006/06/introducing-blue-pill.html)
'Blue Pill' Prototype Creates 100% Undetectable Malware (http://www.eweek.com/article2/0,1895,1983037,00.asp) (eWEEK)
KinGGoliAth
2006-07-02, 03:04:13
na das sind doch wieder einmal erfreuliche neuigkeiten aus der ecke der "bahnbrechenden innovationen". :uup:
und mit letzterem ist eigentlich nicht das rootkit gemeint. ;)
Und warum brauchen wir Virtualisierung auf Desktop-Maschinen? Um mehrere M$-Alternativen gleichzeitig zum Zock-OS laufen lassen zu können? Das wird dem Kunden erzählt. Warum wirklich? Das kann man hier lesen. Um was wollen wir wetten, daß man so auch TPM-gesicherte Systeme unterwandern kann?
Mit speziellen Grüßen an Hofmetzger:
"Hintertür"-Gast :D
The Cell
2006-07-02, 09:30:46
An dieser Stelle ist eben eine Trusted Computing Infrastruktur nötig.
Fremder Code darf nicht ausgeführt werden. Es ist meiner Meinung nach vollkommen unerheblich, ob Schadcode ausgeführt wird, dieser alle API Calls abfängt und Virenscaner täuscht, oder Windows in einer VM bootet und "denkt" alles bestens.
Das Problem ist immer das gleiche: Nicht vertrauenswürdiger Code wird zuerst ausgeführt und macht dann erstmal. Und da der Wald und Wiesen User nicht entscheiden kann, was vertrauenswürdig ist, nimmt ihm früher oder später "jemad" diese Entscheidung ab.
Interessant ist für mich außerdem folgendes:
Also, I will present a generic method (i.e. not relaying on any implementation bug) of how to insert arbitrary code into the Vista Beta 2 kernel (x64 edition), thus effectively bypassing the (in)famous Vista policy for allowing only digitally singed code to be loaded into kernel.
Man darf gespannt sein... ;)
P.S.: Ich habe die Dame schon auf zwei Kongressen gesehen. Googelt mal nach Bildern von ihr. Imho ein echter Hingucker. =)
tombman
2006-07-02, 10:09:19
Als Mensch kann sie nur nicht-perfekte software schreiben, also wird auch Blue Pill nicht perfekt sein ;)
tombman[/POST]']Als Mensch kann sie nur nicht-perfekte software schreiben, also wird auch Blue Pill nicht perfekt sein ;)
Wieso sollte das so sein? Was ist an einem Addierer, der addiert, nicht perfekt?
Und wenn ein Mensch ein Programm niedriger Komplexität "perfekt" schreiben kann, ist es nicht per se ausgeschlossen, auch komplexere Projekte "perfekt" zu machen.
Monger
2006-07-02, 11:17:27
Quantenfeldtheorie[/POST]']An dieser Stelle ist eben eine Trusted Computing Infrastruktur nötig.
Ja, und das wird kommen. Aber solange man auf einem System noch dumme Binärdaten ablaufen lässt, von denen man vor Start keine Ahnung hat welche Funktionen des Betriebssystems sie eigentlich verwenden wollen, hat man da wohl kaum Chancen.
Eine managed Language à la C# kann das. Deshalb gehe ich davon aus, dass der Trend schon alleine aus Sicherheitsgründen heraus zu managed Code gehen wird. Aber das kann dauern...
HellHorse
2006-07-02, 11:37:32
Quantenfeldtheorie[/POST]']An dieser Stelle ist eben eine Trusted Computing Infrastruktur nötig.
Dann besorgt er sich halt eben schnell ein Zertifikat. Alles kein Problem, es gibt ja mittlerweile auch Phishing Seiten mit gültigem SSL Zertifikat (!!!!). Ich weiss echt nicht wer auf die doofe Idee kam, dass signierte Software sicher ist.
Was wirklich benötig wird ist (funktionierendes) Sandboxing.
Karlsberg Urpils
2006-07-06, 17:38:53
Quantenfeldtheorie[/POST]']An dieser Stelle ist eben eine Trusted Computing Infrastruktur nötig.
ja, und wer sagt, daß die TrustCenter, welche die Zertifikate herausgeben, vertrauenswürdig sind? etwa Winzichweich (totlach)?
haifisch1896
2006-08-02, 20:01:42
Wiederum der Heise Newsticker berichtet über die am Mittwoch startenden Black-Hat-Sicherheitskonferenz. Interessant an dieser dürften jedoch weniger die Bemühungen von Microsoft sein, Windows Vista als (wieder einmal) sicherstes Microsoft-Betriebssystem aller Zeiten zu preisen, sondern eher denn ein Vortrag der Rootkit-Forscherin Joanna Rutkowska, in welchem diese einen funktionierenden Prototypen ihres Vista-Rootkits "Blue Pill" vorführen will. Dabei will sie zum einen sämtliche Sicherheitsmechanismen von Windows Vista aushebeln - unter anderem, daß in der 64-Bit-Version nur digital signierte Kernelmode-Treiber geladen werden dürfen - und andererseits ein eigenes Betriebssystem neben dem vom Anwender benutzten Windows Vista errichten, um danach dann das vom Anwender benutzte Windows Vista in eine virtuelle Maschine abzuschieben und so kontrollieren zu können ...
... Dies hätte zur Folge, daß sämtliche Antiviren- und Antitrootkit-Programme keinerlei Chance auf Auffindung dieses "Blue Pill" Rootkits mehr hätten - weil dieser schlicht nicht auf demselben System (sondern in einer anderen virtuellen Maschine) existiert. Diese Art von Rootkit beschränkt sich dabei allerdings leider nicht auf Prozessoren mit Hardware-Unterstützung für virtuelle Maschinen (Intel "Virtualization Technology" & AMD "Pacifica"), da es schließlich auch jederzeit möglich ist, auf Prozessoren ohne spezieller Hardware-Unterstützung virtuelle Maschinen "in Software" zu errichten. Auch Windows Vista ist für dieses neue Bedrohungsszenario wohl nicht vornehmlich verantwortlich, schließlich dürfte sich die Blue-Pill-Idee prinzipiell auch unter Windows XP realisieren lassen. Schutz hiervor würden dann nur Antiviren-Programme bieten, die direkt aus dem BIOS heraus und damit noch vor dem Betriebssystem gestartet werden.
Wäre angesichts dessen nicht die Zeit für EFI bei x86-Maschinen?
Soweit ich das verstanden habe, wäre das eine Plattform, wo auch die "BIOS-Einstellungen" nur Erweiterungen sind, wenn Ihr wisst, wie ich das meine.
Dann müsste es doch auch möglich sein, dort einen Virenscanner zu platzieren und den auch gegebenfalls upzudaten (egal ob per LAN, Diskette oder USB). Oder wie seht Ihr das?
haifisch1896
2006-08-02, 20:04:38
Wäre angesichts dessen nicht die Zeit für EFI bei x86-Maschinen?
Soweit ich das verstanden habe, wäre das eine Plattform, wo auch die "BIOS-Einstellungen" nur Erweiterungen sind, wenn Ihr wisst, wie ich das meine.
Dann müsste es doch auch möglich sein, dort einen Virenscanner zu platzieren und den auch gegebenfalls upzudaten (egal ob per LAN, Diskette oder USB). Oder wie seht Ihr das?
€:
Schließlich sind die angeblichen Virenscanner des BIOS (bei mir steht das da zumindest noch) sowieso nur Quatsch und reine Platzverschwendung auf dem EEPROM.
ich versteh das nicht so recht... ok das rootkit soll quasi völlig unabhängig von windows auf dem gleichen rechner laufen und mangels interaktion mit windows kann es auch nicht entdeckt werden, richtig? nur wenn es nichts mit windows zu tun hat und dem was man dort grad arbeitet dann ist es doch völlig wurscht wie viele solche rootkits da im parallel laufen, schaden tun sie ja keinem dabei... man verliert höchstens ein paar % leistung wenns hoch kommt.
und wenn es doch in windows eingreift dann kann man es doch garantiert auch irgendwie entdecken?
also wo ist das problem :confused:
Die Meldung ist mal wieder purer Schwachsinn und Panikmache³
Das was die da beschreiben ist auch jetzt schon bei Windows XP möglich (oder generell bei ALLEN Betriebssystemen auf dem Markt).
Dazu kommt, das es ein erheblicher Zeitaufwand wäre, über ein Rootkit (und vorallem über da Internet) mal eben ein virtuelles Betriebssystem einzurichten.
Das ist wenn überhaupt nur dann relevant, wenn der Nutzer direkten Zugriff auf den Rechner hat und dann nützen eh die besten Sicherheitsmaßnahmen nichts mehr, denn dann wird auch niemand mehr daran gehindert, die Festplatte gleich mitzunehmen.
haifisch1896
2006-08-02, 20:49:52
Bedenke, es reichen 1,4MB, um ein DOS zu starten.
Insofern ist es kein großer Aufwand, ein virtuelles BS übers Netz zu laden.
Und du könntest vielleicht die Sicherheitsrichtlinien aushebeln und Dateien löschen, oder einen Mailserver aufbauen und SPAM verschicken, einen Keylogger installieren, etc.
Das es auch bei XP und anderen Systemen geht, ist klar. Aber gerade Vista sollte ja angeblich Rootkit-sicher sein.
Und EFI für x86-Systeme propagiere ich ja sowieso.
Apple hatte das ja bei den Macs. Wie sieht es bei den Intel-basierenden Systemen aus? Ist das nicht auch mit EFI? Wenn ja, müsste sich das doch machen lassen. Zumal vista ja auch EFI unterstützt, soweit ich weiss.
HellHorse
2006-08-02, 21:09:18
Zumal vista ja auch EFI unterstützt, soweit ich weiss.
Nein tut es nicht. Und das ist ein Feature aufgrund von Kundenwünschen. Oder so. Und jetzt weisst du auch, warum es ausserhalb von Macs und IA64 in den nächsten acht bis zehn Jahren (dann kommt ungefähr die nächste Windows Version raus, wenn alles gut geht) nicht kommen wird.
haifisch1896
2006-08-02, 21:54:52
Mir war so, als würde es das explizit unterstützen. Habe wohl das "nicht" übersehen.
Wie ließe sich sowas denn dann unterstützen?
4096kB Flash onboard samt Mini-BS, welches vor dem BIOS geladen wird und dieses simuliert vielleicht?
Ich finde ganz interessant, dass die gute anscheinend auch die zwingende Zertifizierung für Kernelmode-Treiber bei Vista x86-64 ausgehebelt hat.
haifisch1896
2006-08-04, 20:40:01
Vielleicht würde es auch mit reverse-engeneering und copy&paste gehen, keine Ahnung, ob man die Zertifizierung damit auch knacken kann. Aber wenn, hätt´s bestimmt schon einer probiert.
Leonidas
2006-08-05, 13:00:23
Die Meldung ist mal wieder purer Schwachsinn und Panikmache³
Das was die da beschreiben ist auch jetzt schon bei Windows XP möglich (oder generell bei ALLEN Betriebssystemen auf dem Markt).
Dazu kommt, das es ein erheblicher Zeitaufwand wäre, über ein Rootkit (und vorallem über da Internet) mal eben ein virtuelles Betriebssystem einzurichten.
Das ist wenn überhaupt nur dann relevant, wenn der Nutzer direkten Zugriff auf den Rechner hat und dann nützen eh die besten Sicherheitsmaßnahmen nichts mehr, denn dann wird auch niemand mehr daran gehindert, die Festplatte gleich mitzunehmen.
1. Das es auch unter XP geht, habe ich geschrieben - im Gegensatz im übrigen zu Heise.
2. Der erhebliche Zeitaufwand beschränkt sich auf die Installation, die automatisch ablaufen kann und damit nur an die Schnelligkeit der Hardware gebunden ist. Zudem muß man ja nicht den kompletten Rootkit inklusive Virtualisierungssoftware am Stück "ausliefern" - es reicht, per Virus erst einmal die Kontrolle über einen Rechner zu erlangen. Danach kann man die eigentliche Software dann per Internet nachladen.
3. Der direkte Zugriff auf den Rechner ist nicht erforderlich, es reicht die Kontrolle über den Rechner per Virus etc.
PS: Habe die beiden entsprechenden Threads zusammengeführt.
ilPatrino
2006-08-05, 15:55:58
Dazu kommt, das es ein erheblicher Zeitaufwand wäre, über ein Rootkit (und vorallem über da Internet) mal eben ein virtuelles Betriebssystem einzurichten.
soweit ich es verstanden habe, funktioniert das ähnlich der kexec-funktion, mit der man das system "quasi im laufenden betrieb" neustarten kann - allerdings ohne mithilfe des betriebssystems :| .
der zeitliche aufwand dürfte recht gering sein - man schiebt dem kernel einen zusätzlichen layer unter und hat keinerlei probleme mehr, weil man gegenüber dem zu kontrollierenden system einen zusätzlichen freiheitsgrad zur verfügung hat. das system läuft weiter, ohne daß man es registrieren könnte.
efi wäre imho auch keine lösung, weil man das system von einem intelligenten, flexiblen "bios" aus zwar noch besser kontrollieren könnte - aber das efi müßte dazu wasserdicht sein. so wie es momentan aussieht, würde man das rootkit (oder zumindest den loader) sicherheitshalber gleich ins efi integrieren (was aufgrund der zwangsläufig updatebaren struktur desselben nicht schwieriger sein dürfte, als dem vista-kernel unsignierte ring-0-treiber unterzuschieben), dann hätte man selbst bei einer cleanen neuinstallation immer noch das rootkit drunter.
die frage wäre, ob man ein solches rootkit so programmieren könnte, daß selbst exotische betriebssysteme automatisch virtuell ausgeführt werden können. dann wäre es nämlich auch essig mit der möglichkeit, ne saubere knoppix (oder halt was komplett anderes wie solaris, bsd oder wasauchimmer) als virenscanner von cd zu booten.
Ich finde ganz interessant, dass die gute anscheinend auch die zwingende Zertifizierung für Kernelmode-Treiber bei Vista x86-64 ausgehebelt hat.Na, das ist doch trivial vom Hypervisor aus beliebige Speicherstellen und damit auch am Kernel des Gast-Windows-Vista Betriebssystems herumzupfuschen. Der Hypervisor darf alles und das Gast-OS kriegt überhaupt nichts davon mit.
Die Zertifizierung wird einfach umgangen und der Code direkt in den Kernel geschrieben.
Vielleicht würde es auch mit reverse-engeneering und copy&paste gehen, keine Ahnung, ob man die Zertifizierung damit auch knacken kann.Knacken braucht man diese doch nicht. Normalerweise hat nur das Betriebssystem selbst Zugang zu dessen Addressbereich. Dadurch kann es über eindeutig und sichere Schnittstellen (Syscalls) das Laden von Code erlauben oder gegebenenfalls auch ablehnen (falls nicht zertifiziert).
Mit einem Hypervisor im System hat eben nicht nur das (jetzt Gast-)OS sondern eben auch der Hypervisor vollen Zugriff auf alle Speicherbereiche. Klar?
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.