Vollständigen Artikel als PDF herunterladen - All

Transcription

Vollständigen Artikel als PDF herunterladen - All
Softwaretools
Tarnen und täuschen
Medizingerätesoftware per Virtualisierung
sicherer gestalten
Sicher arbeiten, schnell starten und dabei den Bedienkomfort
moderner PC-Betriebssysteme besitzen: Wer solche Anforderungen mit nur einem Mikrocontroller erfüllen will, greift am besten
zu einer Virtualisierungslösung. Dabei sind reine Hypervisor im
Nachteil gegen Hybridlösungen, die ein eigenes Echtzeit-Betriebssystem mitbringen.
Autor: David Kleidermacher
E
s plant Tasks auf einem Rechner, teilt Speicher und Speicherplatz ein, stellt sicher, dass voneinander getrennte Tasks sich
keinen Speicher stehlen oder sich gegenseitig korrumpieren,
verwaltet Peripherie und stellet Interrupt-Handling sowie
Gerätetreiber bereit und bietet effiziente Kommunikation zwischen
den Tasks. Auf es ist Verlass, dass es all diese Dinge auch in sicherheitskritischen Umgebungen durchführt und dabei hohe Verfügbarkeit, Zuverlässigkeit und Sicherheit bereitstellt. Die Rede ist aber
nicht von einem Betriebssystem, sondern von einem Hypervisor!
Hypervisor ähneln Betriebssystemen, die statt einfacher Tasks
aber komplette Gast-Betriebssysteme verwalten. Zusätzlich enthalten Hypervisor Systemvirtualisierungslogik, die anderen Betriebssystemen vorgaukelt, dass sie direkt auf einer Hardware laufen. Trotz
dieser Ähnlichkeiten versuchen viele Hypervisor-Hersteller, das Rad
neu zu erfinden und geraten gegenüber etablierten Echtzeit-Betriebssystemen ins Hintertreffen.
Nachteile vieler Hypervisor-Implementierungen
Einige Hypervisor reservieren statisch für jeden Core in einem Multicore-System eine virtuelle Maschine. SMP-fähige Betriebssysteme
(Symmetric Multiprocessing) sorgen aber für intelligentes, dynamisches Scheduling über die Cores hinweg – auch für virtuelle Maschinen. Viele Hypervisor unterstützen das Power Management nicht.
Betriebssysteme beachten hingegen die CPU-Ausnutzung, Temperatur und Leistungsaufnahme, um die Leistungsaufnahme zu minimieren. Wenn möglich und sinnvoll, migrieren sie sogar mehrere virtuelle
Maschinen auf einen Core, um die anderen Cores schlafen zu legen.
In Sachen Sicherheit sind Hypervisor ständig unter Beschuss. Sie
müssen sicherstellen, dass die virtuellen Maschinen sicher und zuverlässig isoliert bleiben; robust gegen Denial-of-Service-Attacken
und frei von Software-Sicherheitslücken, die es einem Gast-Betriebssystem oder dessen Applikationen erlauben würden, das restliche
System über den Hypervisor anzugreifen. Im Jahr 2006 zeigte das
Subvirt-Projekt, dass ein Hypervisor-Rootkit normale Betriebssysteme unterlaufen kann. Das Blue-Pill-Projekt ging einen Schritt weiter
und demonstrierte eine Malware, die ohne Vorbereitung unter einem nativ laufenden Windows installiert werden konnte.
20
elektronikJOURNAL 09a/2010
Tavis Ormandy führte eine empirische Studie über HypervisorSchwachstellen durch. Der Forscher generierte zufällige I/O-Aktivität
in den Hypervisor und versuchte, Abstürze oder anderes anormales
Verhalten auszulösen. Das Projekt brachte Schwachstellen in Qemu,
VMware-Workstation und -Server, Bochs und etlicher proprietärer
Hypervisor hervor. Das belegt: Auch diese Softwaregattung ist anfällig für Angriffe.
Fluchtgefahr
Das Risiko der Virtualisierungsebene zu entkommen und alle anderen Gastsysteme bloßzustellen ist sehr hoch. Dies trifft vor allem auf
Hypervisor zu die, zusammen mit dem darunter liegenden Betriebssystem, ein großen Monolit bilden. Auf der Black-Hat-Konferenz
2008 präsentierten die Sicherheitsforscherin Joanna Rutkowska und
ihr Team die Ergebnisse eines Forschungsprojekts zur Aufdeckung
von Schwächen im Hypervisor Xen. Die Forscher entdeckten drei
schwere Schwachstellen, mit denen sie den Rechner übernehmen
konnten. Paradoxerweise nutzte eine dieser Attacken einen BufferOverflow-Fehler in Xens Flask-Layer. Flask wurde zu Xen hinzugefügt, um die Sicherheit zu erhöhen.
Einige Produkte basieren auf einem anderen Systemvirtualisierungsansatz, um Hypervisor-ähnliche Funktionen zu vorhandenen
Betriebssystemen hinzuzufügen. Sie profitieren vom vorhandenen
Ressource-Management. Ein Beispiel ist Green Hills Softwares Produkt namens Integrity. Die Virtualisierungssoftware ist dabei den
Anwenderprogrammen zugewiesen, jede virtuelle Maschine hat ihren eigenen Hypervisor.
Zertifiziert
Integrity ist nach Common-Criteria EAL 6+ (ISO 15408) zertifiziert
und erfüllt die Vorgaben der US National Security Agency in Sachen
High Robustness: Schutz wertvoller und klassifizierter Informationen gegen gezielte, ausgereifte Attacken. Das gleiche Betriebssystem
kommt in NSA-zugelassenen verschlüsselten Kommunikationseinrichtungen, der Luftfahrt, medizintechnischen Geräten, Finanztransaktionssystemen und weiteren sicherheitskritischen Anwendungen
zum Einsatz. Integritys bewährte Sicherheit garantiert, dass virtuelle
www.elektronikjournal.com
Softwaretools
Bild: Eric Isselée - Fotolia
Bild: Green Hills Software
Bei der Virtualisierung im
Integrity-System erhält jeder
Gast seine eigene Virtualisierungsschicht. Das erhöht die
Isolation und damit die
Sicherheit. Nebenher können
sichere Applikationen direkt
auf dem Host laufen.
Maschinen voneinander isoliert sind und dass das System immun ist
gegen Denial-of-Service-Attacken oder andere Schwachstellen.
Dank des Mikrokernel-Ansatzes kann das Betriebssystem eine
umfassende Programmierschnittstelle (API) und ein Softwareentwicklungskit (SDK) bieten. Damit lassen sich sowohl sichere als
auch Echtzeit-Anwendungen entwickeln und gleichzeitig einsetzen,
obwohl sie sich gegenseitig nicht vertrauen. Die Kombination virtualisierter und nativer Applikationen führt zu einer leistungsfähigen
Hybrid-Betriebssystemumgebung für hochsichere und hochfunktionale Systeme.
Virtualisierung in der Medizintechnik
Die Virtualisierung außerhalb des traditionellen Enterprise-PC- und
Server-Marktes ist erst im Entstehen begriffen. Interessante Anwendungen finden sich in der Telekommunikation, bei Fahrzeug-Infotainmentsystemen, auf mobilen Geräten oder in der Medizintechnik. Bei Integrity können kritische Teile des Codes unter der
Kontrolle eines Echtzeit-Kernels laufen. Diese Komponenten sind
garantiert einwandfrei und starten sofort nach dem Einschalten, da
der Echtzeit-Kernel für schnelle Boot-Zeiten optimiert ist. Zusätzlich können – etwa für die Bedienung – eine oder gar mehrere Windows-Instanzen gleichzeitig auf dem Rechner laufen. Green Hills
Software bietet speziell für Medizingeräte eine eigene Plattform an,
die alle nötigen Komponenten für diesen kritischen Markt enthält.
Virtualisierung kann äußerst effizient und flexibel sein. Anstatt
aber mit einem Hypervisor das Rad neu zu erfinden, bietet ein
Mikrokernel-Betriebssystem-basierter Ansatz wesentliche Vorteile
in Sachen Ressource-Management und Sicherheit. (lei)
■
www.elektronikjournal.com
Der Autor: David Kleidermacher ist Chief
Technology Officer bei Green Hills Software
in Santa Barbara, Kalifornien.
Auf einen Blick
Virtuelle Sicherheit
Hypervisor sind in der IT seit Jahren ein klarer Trend: Viele Betriebssysteme gleichzeitig auf einem Rechner laufen zu lassen, spart die
Investition in zusätzliche Hardware. Heute sind auch Embedded-Systeme so leistungsfähig, dass sich der Ansatz lohnt. Doch nicht jeder
Hypervisor eignet sich für jedes Szenario. Gerade in kritischen Applikationen wie der Medizintechnik sind zertifizierte, sichere Basissysteme gefragt. Mit seinem Hybridansatz zeigt Green Hills Software eine
interessante Lösung: ein Echtzeit-Kernel als Basis, der eigene Tasks
ausführen kann, sowie je ein eigener Hypervisor pro Gast-Betriebssystem. Dank Mikrokernel sind die sicherheitsrelevanten Teile überschaubar und nach CC EAL 6+ zertifiziert.
infoDIREKT www.elektronikjournal.com
503ejl9010
Vorteil Virtualisierung nutzt vorhandene Rechenleistung besser aus
und dient der Sicherheit.
elektronikJOURNAL 09a/2010
21