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