24C3: Mac OS X für alle Intel-PCs

Alexander Graf hat auf dem Hackertreffen gezeigt, wie Apples Betriebssystem Mac OS X ohne Modifikationen in Virtualisierungssoftware laufen kann. Theoretisch funktioniert das auch auf Standard-PCs.

In Pocket speichern vorlesen Druckansicht 344 Kommentare lesen
Lesezeit: 6 Min.

Alexander Graf hat auf dem 24. Chaos Communication Congress (24C3) in Berlin am gestrigen Samstag eine Emulationslösung vorgestellt, mit der Mac OS X ohne Modifikationen in Virtualisierungssoftware laufen kann. Theoretisch funktioniert das auch auf Intel-kompatiblen Standard-PCs. Dass Apples Betriebssystem damit auf zahlreichen Rechnern Einzug halten könne, denen die Kalifornier bislang ihre gut gehütete Software vorenthalten wollen, ist für Graf nach eigenen Angaben aber ein reiner Nebeneffekt. Zudem betrachte Apple eine solche Installation als illegal, warnte der Programmierer gegenüber heise online. Seine Motivation sei vielmehr gewesen, auf Original-Apple-Rechnern mehrere virtuelle Mac-Betriebssysteme parallel laufen zu lassen. Weiter schwebte ihm vor, primär ein eigenes gehärtetes Linux-System auf der Apple-Hardware zu installieren und Mac OS X dann nur für spezielle Anwendungen wie Photoshop oder ein darauf zugeschnittenes japanisches Wörterbuch in einer virtuellen Maschine hochzufahren.

Das Projekt ist bisher noch Bastlern vorbehalten, die den zur Verfügung gestellten Quellcode selbst kompilieren und sich die benötigten Schlüssel besorgen können. Die Blaupausen müssten noch "aufgeräumt" werden, dann werde er sie aber Anfang 2008 an die Projektverantwortlichen des freien Emulators Qemu sowie der Virtualisierungsumgebung Kernel-based Virtual Machines (KVM) für Linux schicken. Er gehe davon aus, dass seine Änderungen in die nächsten offiziellen Versionen der beiden Open-Source-Programme eingebaut werden.

Graf konnte auf die Vorarbeiten anderer Bastler zurückgreifen. So hatten die Hacker Semthex und Vitaliy im Herbst vergangenen Jahres unabhängig voneinander Kernel für Mac OS X erstellt, die auf Standard-PCs funktionierten. Damit konnte man über ein Platten-Image für VMware Apples Betriebssystem in einer virtuellen Maschine starten. "Das Problem war nur, dass das System bei einem Update mit einer Kerneländerung rasch wieder unbrauchbar war", erinnert sich Graf.

Vor ein paar Monaten lieferte David Elliott dann in Abwandlung eines Hacks von "Maxxuss" einen originalen Bootloader von frühen Intel-Entwicklungs-Macs mit einem alten BIOS-Startsystem hinzu. Darin wird der inzwischen von Apple verwendete Bootmechanismus Enhanced Firmware Interface (EFI) emuliert. EFI wird dabei vorgegaukelt, auf einem aktuellen Apple-Rechner zu laufen. Der Bootloader funktioniert aber nur auf Rechnern, die der Apple-Hardware sehr ähnlich sind. Der Hacker Netkas erweiterte diesen Ansatz, veröffentlichte den Quelltext aber nicht.

Vor rund vier Wochen hatte Graf dann alle Zutaten beissammen. "Ich nehme den modifizierten Bootloader-Ansatz und eine Emulations- oder Virtualisierungssoftware wie KVM oder Qemu und verändere sie so, dass sie einem Mac ähnelt. Dann müsste Mac OS X unverändert laufen." Dem Apple-Betriebssystem sei vorzutäuschen, dass überall Apple-Hardware vorliege, sodass es "nur noch Mac sieht". Die Programmierung der entsprechenden Patches für die Virtualisierungsumgebungen habe den Hauptteil der Arbeit ausgemacht. Dabei habe er etwa den Code für High Precision Event Timer (HPET), das Advanced Configuration and Power Interface (ACPI) oder den IDE-Controller austricksen beziehungsweise die in Macs verbauten Versionen simulieren müssen. Eine wirkliche Implementierung dieser Chipsätze sei aber nicht erforderlich gewesen. Es habe gereicht, bestimmte Informationen und Tabellen im Bootsystem mit speziellen Einträgen zu versehen.

Blieb noch die eigentliche Schutzfunktion Apples, mit der die Unterstützung fremder, nicht von den Kaliforniern lizenzierter Hardware durch Mac OS X beziehungsweise Aqua verhindert werden soll. Diese so genannte Binary Protection sehe auf den ersten Blick im System zwar kompliziert aus, räumte Graf ein. Aber die Koppelung des Schutzsystems an die Hardware sei nur an einer Stelle erfolgt. "Im Chip, der zur Lüftersteuerung gehört, ist ein Schlüssel enthalten, den das System beim Starten abfragt", führte Graf aus. "Den kann man unter Linux auslesen. Dann musste ich nur noch den Chip zur Lüftersteuerung in Qemu nachbauen." Es sei daher letztlich "sehr einfach" gewesen, den Binary-Schutz zum umgehen. Bei den entscheidenden Schritten habe auch die bereits über ein Jahr alte Erkenntnis geholfen, dass Apple das in manche der eigenen Intel-Rechner eingebaute Trusted Platform Module (TPM) als zusätzliches Sicherheitsmodul nicht nutze.

Ganz reibungslos läuft das virtualisierte Mac OS X noch nicht. Zum einen kann man laut Graf noch nicht von CD aus starten, woran aber bereits gearbeitet werde. Auch die Netzwerkunterstützung fehle noch, sodass das System noch "keinen richtigen Spaß macht" und bislang weder ein Einsatz auf einem Server noch das Ziehen von Updates möglich seien. Schwierigkeiten würden zudem bisher auch die Grafikbeschleunigung, das Power Management, die Zeitfunktion sowie der System Profiler machen. Dies seien zwar keine essenziellen Probleme, sie würden aber einen "produktiven Einsatz nicht so angenehm machen".

Sollten diese Stolpersteine erst einmal aus dem Weg sein, sieht Graf zahlreiche legale Anwendungsmöglichkeiten. Zusätzliche Sicherheit könne etwa eine Konfiguration auf einem Apple-Server bieten, wenn ein emuliertes System für die Domain-Verwaltung und ein anderes für Web-Applikationen reserviert sei. HTML-Programmierer könnten zudem einfacher verschiedene Browserversionen testen, "und auch Kernelentwickler würden sich freuen".

Apple reagierte bisher immer gereizt auf Basteleien, die Mac OS X auch Standard-PCs näher bringen. Den Betreibern der Web-Site des OSx86-Projekts, in deren Forum die Links zu den Patches von Maxxuss aufgetaucht sind, hat Apple seinerzeit Verstöße gegen den Digital Millennium Copyright Act (DMCA) vorgeworfen. "Einen Apple-Rechner kaufe ich mir fürs Mac-Feeling", hält Graf dagegen. "Ich will, dass das System funktioniert, dass ich ein Laptop einfach zuklappen oder das Netzwerkabel reinstecken und sofort die Konfiguration dahabe." Bei einer virtuellen Maschine fehle dagegen immer der richtige Hardware-Zugriff. Während Apple-Käufer nicht abgeschreckt würden, könnten andererseits Open-Source-Entwickler Programme einfacher auf Mac OS X portieren. Die Kalifornier könnten letztlich also "nur gewinnen".

Zum diesjährigen Chaos Communication Congress siehe auch:

(Stefan Krempl) / (it)