Von IPMI zu Redfish

Entwicklungen zur Sicherheit des Plattform-Managements im Rechenzentrum

Neue Aufgaben und Architekturen im Rechenzentrum benötigen neue Verfahren zum Server-Management. Dieser Artikel skizziert zunächst etablierte Ansätze zum Plattform-Management und beschreibt dann neuere Herangehensweisen wie die Redfi sh Scalable-Platforms-Management-API-Specifi cation inklusive sicherheitsrelevanter Seiteneffekte sowie Hardware-Root-of-Trust-Verfahren als Möglichkeit zur Sicherung von Systemintegrität.

Von Markus Leberecht, München

Rechenzentren (RZ) befinden sich in einem umfangreichen Wandel: Neue Nutzungen wie Cloud-Computing und „Big Data“ erzwingen eine Neuausrichtung von vormals genau auf einen oder wenige Zwecke zugeschnittenen und abgeschlossenen Enterprise- Rechenzentren hin zu föderierten Vielzweck-Umgebungen mit einem deutlich höheren Grad innerer und äußerer Vernetzung. Gleichzeitig demonstrieren so genannte Hyperscale-Rechenzentren der größten Dienstanbieter ökonomische Skaleneffekte durch massive Standardisierung und radikal neu überdachte Anwendungsarchitekturen. Ermöglicht wird dies vielfach durch den Einsatz von Software-defi ned Infrastructure (SDI), wodurch letztlich Standard-Server zum bestimmenden Infrastrukturbaustein werden – und somit gleichzeitig eine wesentliche Angriffsfläche darstellen.

Dadurch werden gerade Angriffe auf die unteren Funktionsebenen dieser Bausteine attraktiv, die für seine Konfi guration zuständig sind und das Fundament der Infrastruktur-Software bilden. Der Schutz dieser unteren Ebenen von Systemeinstellungen und Firmware muss sich daher an die variableren und offeneren Ansätze von Softwaredefined Infrastructures anpassen – allem voran bei den damit verbundenen Kommunikationsschnittstellen.

Klassische Herangehensweisen wie das etablierte Protokoll des „Intelligent Platform Management Interface“ (IPMI over Ethernet/IP), eine Server-individuelle Authentifizierung sowie getrennte Platform-Management-Netzwerke erweisen sich dabei entweder als nicht stark oder nicht fl exibel und skalierbar genug, um die aktuellen, verschärften Anforderungen zu befriedigen, wie die nachfolgenden Skizzen belegen werden.

BMC und IPMI

Man kann das Hardwarefokussierte Plattform-Management vereinfacht defi nieren als eine Reihe von Aktivitäten der Überwachung und Konfi guration vielfältiger Systemstatus wie Einschaltzustand, Verbrauchswerte und physikalische Umgebungsdaten – hinzu kommt eine Systemverwaltung bis hin zu Firmware-Einstellungen unterhalb der installierten Software.

Aufgrund des Bedarfs, Systeme auch aus der Ferne und in jedem Betriebszustand warten zu können (selbst unabhängig davon, ob sie einoder ausgeschaltet sind), wurden so genannte Baseboard-Management- Controller (BMCs) die Norm bei Serversystemen: Ein solcher BMC ist ein dedizierter Mikrocontroller pro Server-Mainboard – und häufi g mit einem eigenen Netzwerk-Interface ausgestattet. In dieser Form nennt man diesen Ansatz auch „Out-of- Band-Management“, um ihn vom „In-Band-Management“ abzusetzen, das den Hauptprozessor eines Systems für Management-Zwecke nutzt und hierzu dieselben Netzwerk- Interfaces verwendet, über die auch Nutzdaten fließen. Ein vereinfachtes Diagramm eines BMC-Subsystems ist in Abbildung 1 dargestellt.

Abbildung 1: Vereinfachte Darstellung eines Baseboard-Management-Subsystems (BMC)
Abbildung 2: Schichten im Transportprotokoll für „IPMI over LAN“ in der IPMIv1.5-Spezifikation (Quelle: [2])

Ende der 90er-Jahre wurde dieser Ansatz durch die Spezifi kationen des Intelligent Platform- Management-Interface (IPMI) populär. Dieses Framework wurde seinerzeit maßgeblich durch Intel initiiert und von einer Mehrheit von Systemherstellern angenommen [1]. Ursprünglich lehnte sich IPMI sehr an integrierte Mainboard- Managementbusse wie den System- Management-Bus (SMBus) an, welche selbst wiederum auf dem I²C Zweidrahtprotokoll basierten. Mit der Version 1.5 [2] aus dem Jahr 2001 und als Reaktion auf die wachsende Popularität der Internet-Protocol- Suite mit Layer-2-Transport über Ethernet-Verkabelung, hat IPMI als neue Option einen UDP/IP-basierten Transport von Nachrichten durch das Remote-Management-Control- Protocol-(RMCP)-Message-Format erhalten (vgl. Abb. 2).

In der Spezifi kation IPMI 2.0 kamen 2009 zusätzliche Funktionen hinzu, die diverse Formen kryptografi sch gesicherter Authentifi zierung und Kommunikation betrafen. Auch heute noch basieren die meisten Plattform-Management-Protokolle auf dieser IPMI-Version und unterstützen in unterschiedlicher Weise die Funktionen der Version IPMI 1.5.

Bei der Umsetzung von IPMI stellte sich für Systemhersteller jedoch vergleichsweise schnell heraus, dass nicht die gesamte gewünschte Funktionalität von der IPMI-Spezifi kation abgedeckt wurde. Daher haben Hersteller ihrerseits Features wie ein Command-Line-Interface (CLI), webbasierte Protokolle, virtuelle Massenspeicher sowie die Anbindung an verbreitete Authentifi zierungs- und Identitätsmanagement- Mechanismen wie LDAP, Active Directory (AD) und RADIUS zu ihrer hauseigenen Variante der Fernwartungs-Subsysteme und -Protokolle hinzugefügt. Diese Protokolle (z. B. HPs iLO, Dells iDRAC, IBMs IMM usw.) entwickelten sich seither voneinander weg – sie wurden immer weniger interoperabel und damit zu einer Bürde für all diejenigen, die sich um Server von mehr als einem Hersteller kümmern müssen.

Sicherheitsprobleme im Umfeld von IPMI und seiner Derivate sind über die Jahre detailliert untersucht worden und erstrecken sich von Spezifi kations-Artefakten (wie „Cipher Zero“ oder Seiteneffekte der jeweils gewählten Authentifizierungsmethode) bis hin zu Implementierungsfehlern der BMCSubsysteme der jeweiligen Hersteller (vgl. [3,4]). Auch wenn man solche Probleme teilweise durch neuere Revisionen der IPMI-Spezifi kation und passende Best Practices adressieren kann, ermöglichen neuere Verfahren doch einen moderneren Ansatz.

Redfish

Lose gekoppelte und weitverzweigte Systeme haben in der Vergangenheit das Paradigma der Service-orientierten Architekturen (SOA) hervorgebracht, bei denen Dienstkomponenten voneinander isoliert agieren, wodurch diese wiederum weniger abhängig voneinander sind – systemweite Zustände werden voneinander verteilt gehalten und bedient. Besonders die Verschaltung durch Representational- State-Transfer, so genannte RESTful APIs, aufgesetzt auf einer TCP/IP-Netzwerk-Infrastruktur, hat sich als Standard durchgesetzt. Dieser architektonische Stil wird unter anderem intensiv genutzt, um Cloud-Infrastrukturen zu implementieren.

Da moderne BMCs leistungsfähig genug sind, um derartige REST-Protokolle zu verarbeiten, können entsprechende Implementierungen nun auch das Plattformund Infrastruktur-Management über Herstellergrenzen hinweg erleichtern. Aus diesem Gedankengang entstand schließlich die „Redfish Scalable Platform Management API Specification“ [5].

Die Interessensgruppe hinter Redfish agiert unter der Ägide des Standardisierungsgremiums der „Distributed Management Task Force“ (DMTF), um so eine breite Industrieunterstützung zu erhalten. Nunmehr unter dem Namen „DMTF Redfish Scalable Platform Management API Specification“, wurde seine Version 1.0 im August 2015 freigegeben [6] – aktuell existieren bereits prototypische Implementierungen bei einer Reihe von Herstellern.

Die Redfish-Spezifikation standardisiert typische Plattform-Management-Aktivitäten und zeichnet sich durch die Nutzung der vielseitigen und populären RESTful APIs zusammen mit in JSON beschriebenen Datenformaten aus: Diese machen Daten sowohl im Klartext für Web-Browser als auch für Client-Softwareimplementierungen zugänglich und werden durch ein Open-Data- Format-OData-v4-Schema beschrieben, wobei die OData- Konventionen zur Erhöhung von Interoperabilität zum Einsatz kommen [7] (OData selbst ist eine Spezifikation des OASIS-Konsortiums, vgl. www.odata.org).

Der Wechsel auf diese Basis bedeutet einige deutliche Sicherheitsvorteile, die sich im Wesentlichen darin niederschlagen, dass man die gleichen Werkzeuge und Ansätze wie in anderen HTTP-basierten Diensten verwenden kann. Im Detail ist dies beispielsweise die Transportsicherheit durch die Verwendung von TLS und HTTPSProtokollen, die Session-Keys, Serverzertifikate und eine Kerberos-basierte Dienstautorisierung einschließt.

Darüber hinaus macht die Nutzung von Web- Protokollen Requests- und Responses-Wartung sowie Fehlersuche im Klartext möglich, während das RESTParadigma die Software-Robustheit dadurch erhöht, dass Dienste zustandslos entworfen werden. Es steht zu hoffen, dass diese schlanken Architekturprinzipien sowie die Verwendung populärer und einfach nutzbarer Protokolle und ihrer Datenformate den Drang zur Differenzierung der unterschiedlichen Herstellerumsetzungen außerhalb der Spezifikationsgrenzen verringern.

Sicherheitsimplikationen durch Wandel im RZ

Die Einführung von Virtualisierung und Cloud- Computing verändert traditionelle Rechenzentrumslandschaften. In der Vergangenheit wurde die IT-Infrastruktur dediziert pro Anwendungslandschaft aufgebaut – die zugehörige Management- und Monitoring-Infrastruktur wurde ebenso dediziert darauf zugeschnitten. Durch die starke Zweckgebundenheit solcher Umgebungen konnten das Management und die Überwachung wenigstens theoretisch gleichermaßen zweckgebunden umgesetzt werden; dazu genügten vergleichsweise einfache Konzepte wie eine physische Netzwerktrennung und die Kontrolle äußerer Zugänge.

Konsolidierung und Virtualisierung haben jedoch die Auswahl von Hardware hin zu stärkerer Homogenität beeinflusst und den gemeinsam genutzten Server zum „Arbeitspferd“ der IT gemacht, der nicht nur einen einzelnen, festgelegten Applikationsstack bedient, sondern die Ausführungseinheit für ein breiter definiertes Portfolio unterschiedlicher Anwendungskomponenten – verteilt auf virtuelle Maschinen – darstellt. Als gewünschter Effekt hat diese Entkopplung der Lebenszyklen von Hardware und Anwendung schließlich zu einem effizienteren unabhängigen Betrieb beider Aspekte geführt.

Aus dem Blickwinkel der Sicherheit des Plattform- Managements kann nun jedoch jeder Serverknoten potenziell auch die sicherheitskritischste Komponente des RZ beherbergen, wodurch er mithin auch die höchsten Anforderungen an die Sicherheit der zugrunde liegenden Infrastruktur erbt.

Aktuelle Software-defined Infrastructures (SDIs) erhöhen den Komplexitätsgrad noch weiter, da selbst Speicher- und Netzwerkelemente durch Softwarelösungen auf Standard-Servern umgesetzt werden – etwa bei Softwaredefined Networks (SDNs), Network-Function-Virtualization (NFV) und Software-defined Storage (SDS). All dies trägt zusätzlich zur Abhängigkeit vom Management der unteren Schichten bei.

Nimmt man weiterhin an, dass Dienste in derart virtualisiert aufgebauten Produktionsumgebungen durch Orchestrierung und Automatisierung aufgespannt werden, die dafür beispielsweise Umgebungsmesswerte oder den Plattform-Energieverbrauch heranziehen, so wird deutlich, dass eine einigermaßen sichere Infrastruktur unbedingt auf einem sehr soliden Plattform-Management- Fundament fußen muss.

Firmware-Integrität

Während Redfish hilft, die übergeordneten Herausforderungen von Plattform-Management-Kommunikation und -Zugang zu adressieren, bleibt doch weiterhin offen, ob ein Serversystem bereits in einem wunschgemäß funktionsfähigen Zustand provisioniert wurde: Eine Fehlkonfiguration der Server-Firmware – sei es aufgrund falscher Prozessentscheidungen, menschlicher Fehler oder wegen Malware auf Firmware-Ebene – ist durch typische Plattform-Management-Verfahren nicht verlässlich aufzudecken.

Doch es gibt bereits Herangehensweisen, die einem Serversystem ermöglichen, seine eigene Konfiguration zu validieren: Während man zwar große Firmware- und Software-Komponenten kaum Byte für Byte mit Referenzumgebungen vergleichen kann, genügt doch die Berechnung von Hashfunktionen der betreffenden Speicherregionen in der Regel, um eine Konfiguration vollständig zu charakterisieren. Durch Vergleich von aktuell errechneten Hashwerten mit zuvor ermittelten Referenzwerten lässt sich eine einigermaßen robuste Aussage über die resultierende Integrität treffen – also mithin die Frage beantworten, ob Firmware und Software in exakt der erwarteten Konfiguration gemessen oder aber modifiziert wurde.

Eine verbreitete Methode, solche Hashwerte nach Berechnung für den späteren Vergleich sicher in einem auf dem Mainboard aufgelöteten oder unauflösbar aufgesteckten Trusted-Platform-Module (TPM) zu speichern, wurde von der Trusted Computing Group in der „TCG PC Specific Implementation Specification for Conventional BIOS“ beschrieben [8]. Die Berechnung und Speicherung der Hashwerte müssen naturgemäß selbst auf abgesicherte Weise stattfinden, bevor das Hauptbetriebssystem eines Servers startet und damit andere Software die Kontrolle über das System übernimmt. Besondere Eigenschaften des TPM stellen dabei sicher, dass Modifikationen der gespeicherten Werte außerhalb der eigentlichen Berechnung – also des Messprozesses – wirksam verhindert werden oder zumindest stets nachweisbar sind.

Aktuelle Verfahren zur Generierung solcher Hashes unterscheiden sich in der Art der Eigensicherung und anhand der Wurzel ihrer Vertrauenskette.

Trusted Execution

Intels „Trusted Execution Technology“ (TXT) etabliert seinen Root of Trust für die Messung durch die Authentifizierung von dediziertem, Intel-signiertem Messcode und dessen Ausführung in einem isolierten Systemzustand. Der Messprozess besteht dabei aus zwei klar getrennten Phasen: Während der ersten, die direkt nach einem System-Reset oder dem Einschalten abläuft, misst der Code die Firmware-Konfiguration und speichert die Hashwerte im TPM. Die zweite Phase läuft in der Regel direkt vor dem Start des auf dem System installierten Bootstacks, der heutzutage häufig aus dem Hypervisor und seinen Gerätetreibern besteht. In diesem Falle misst der authentifizierte Code genau diese Software-Komponenten, bevor sie ausgeführt warden, und speichert erneut die resultierenden Hashes im TPM.

Intels Virtualization-Technology (VT) wird schließlich genutzt, um die Isolation der Speicherbereiche aufrechtzuerhalten, in die diese Software geladen wird – sie verbessert so die Erhaltung der Integrität dieses Measured-Launch-Environment. Durch diesen Prozess spannt TXT eine Vertrauenskette von der anfänglichen hardwareüberwachten Schlüsselvalidierung bis in das erste Bare-Metal- Betriebssystem eines Servers. Dieser Prozess funktioniert heute mit den allermeisten Linux-Implementierungen und auf VMware-Systemen. Durch den Einsatz eines infrastrukturweiten Attestierungsdienstes können diese Hashes wiederum aus den TPMs zusammengezogen und gegen eine Datenbank von Referenzwerten verglichen werden.

Secure Boot

Im Umfeld von Microsoft-Lösungen wird ein etwas anderer Ansatz gewählt: Der Schlüsselcheck durch eine Unifi ed-Extensible-Firmware-Interface-(UEFI)-Umgebung wird im Rahmen des UEFI-Secure-Boot-Verfahrens dazu genutzt, die Signatur eines kompatiblen und gesicherten Bootloaders zu überprüfen. Beim Bootvorgang eines entsprechenden Microsoft-Betriebssystems wird dessen Trusted-Boot-Prozedur die maßgeblichen kritischen Teile des Betriebssystemkerns messen, die dann im Fortgang weitere Überprüfungen durchführen, bevor das System in den Wirkbetrieb übergeht. Über die Option des „Measured Boot“ werden diese Hashes für einen späteren Vergleich oder die Konsolidierung mittels externem Attestierungsdienst auch in das TPM übertragen – wenn auch nicht mit der gleichen Semantik wie bei Intels TXT.

Verbreitung und Ausblick

Zum Redaktionsschluss dieser <kes> sind Intels Verfahren in Partnerprodukten für das VMware-Ökosystem nutzbar, um das Aufspannen kritischer Anwendungen in Cloud-Umgebungen wie OpenStack [9] zu steuern. Sie sind weiterhin als ein Measured-Boot-Verfahren in Linux-Distributionen und Open-Source-Hypervisoren (Xen wie auch KVM) verfügbar.

Passende Attestierungsdienste sind als Open- Source-Implementierungen (OpenAttestation [10]) oder als kommerzielles Produkt von Intel (Cloud Integrity Technology [11]) erhältlich. Beide nutzen einen TXT-unterstützten Measured-Boot-Vorgang und zielen hauptsächlich darauf ab, darauf aufgesetzten Cloud-Umgebungen notwendige „Trust“-Zustands-Informationen zur Orchestrierung zu liefern.

Auch Microsofts Lösung ist seit Windows 8.1 interoperabel mit den TCG-Mechanismen auf Plattform- Ebene, wobei die Sicherheit von der Integrität der Systemsoftware an sich abhängig bleibt. Zum jetzigen Zeitpunkt ist dem Autor allerdings kein kommerzieller Hersteller bekannt, der Microsofts Mechanismus zur Sicherung der Plattform-Integrität im Management der Rechenzentrums- Infrastruktur nutzt.

Mit der Verfügbarkeit und prinzipiell weiten Verbreitung dieser Verfahren zur lokalen oder Fern-Attestierung böte sich aber die Gelegenheit, die Genauigkeit von Plattform-Management-Informationen in großen Configuration-Management-Systemen zu erhöhen. Hierdurch würde sich die Gefahr von fehlkonfi gurierten Systeminstanzen und potenziell kompromittierten Schutzverfahren verringern.

Vor allem die Möglichkeit, Server-Fingerabdrücke auch ohne einen volloperablen Systemzustand zu generieren, stellt eine einzigartige Möglichkeit dar: Konfi gurationsdatenbanken, die derartige Daten automatisch direkt von den Servern oder aus einem zentralen Attestierungsdienst erhalten, würden nicht länger die teils kritische Nutzung von In-Band-Werkzeugen wie Software-Agenten benötigen, die beispielsweise parallel zu produktiven Anwendung und eventuell fremder Kontrolle ablaufen müssten.

Fazit

Das Management moderner Rechenzentren steigt in seiner Komplexität. Die dynamische Anlage von Diensten auf einer größtenteils virtualisierten oder cloudbasierten Infrastruktur bringt höchste Sicherheitsanforderungen für das Plattform-Management mit sich. Ältere Management-Methoden, basierend auf Protokollen wie IPMI, können dies teilweise nur schwer leisten und lassen dadurch Sicherheitsaspekte unbehandelt.

Das „DMTF Redfi sh Scalable Platform Management API“ adressiert eine Reihe dieser Herausforderungen durch neuartige Protokolle, basierend auf modernen Architekturen wie RESTful HTTP, JSON und OData. Es ermöglicht hierdurch eine einfachere Implementierung von Sicherheitsaspekten auf Systemen, die dieses API in der Zukunft unterstützen werden. Hierdurch macht Redfish das Thema Plattform-Management zugänglicher für heutige Rechenzentren und ihre Trends wie DevOps (vgl. <kes> 2014#4, S. 6).

Da mehr und mehr Akteure und Instanzen an der Verwaltung einer Plattform beteiligt sind, werden konsistente Versionen und Konfi gurationen von Firmware und Software zu Schlüsselelementen für stabile und sichere Plattformen. Mechanismen wie Hardware-Root-of-Trustbasierte lokale Attestierung und sichere Ablage von Hashes im TPM machen dies möglich, indem sie Attestierungsdaten direkt an ihrer Quelle erzeugen.

Sie vermeiden daher, externe Informationen aus vielen Management-Datenbanken zusammenführen zu müssen, deren Konsistenz außerhalb der Verfügungsgewalt des Plattform-Management-Teams liegen mag. Da Attestierung in der Lage ist, die Integrität von Firmware- Revision und -Konfi guration sowie des „Bare-Metal“- installierten Software-Stacks sicherzustellen, hilft sie dabei, ein robustes Fundament für die Server-Sicherheit aufzubauen, das dann auch höheren Softwareschichten zugutekommt.

Dr. Markus Leberecht (CISSP) arbeitet im Bereich Cloud Architecture & Security bei der Intel Deutschland GmbH.

Literatur

[1] Intel, Intelligent Platform Management Interface (IPMI) – IPMI Adopters List, www.intel.com/content/ www/us/en/servers/ipmi/ipmi-adopters-list.html

[2] Tom Slaight, Understanding and Using the New IPMI v1.5 Specifi cation, Intel Developer Forum Presentation, 2001, www.intel.com/content/www/us/en/servers/ipmi/ ipmi-v1-5-intro.html

[3] HD Moore, A Penetration Tester‘s Guide to IPMI and BMCs, Metasploit Blog Post, 2. Juli 2013, https://community.rapid7.com/community/metasploit/ blog/2013/07/02/a-penetration-testers-guide-to-ipmi

[4] Dan Farmer, IPMI+ Security Papers, 2013, www.fi sh2.com/ipmi/ oder direkt: Dan Farmer, IPMI: Freight Train to Hell, August 2013, www.fish2.com/ipmi/itrain.pdf

[5] Distributed Management Task Force, Redfish API, www.dmtf.org/standards/redfish

[6] Distributed Management Task Force, DMTF Helps Enable Multi-Vendor Data Center Management with New Redfi sh 1.0 Standard, Pressemitteilung, 4. August 2015, www.dmtf.org/news/pr/2015/8/dmtf-helps-enablemulti-vendor-data-center-management-new-redfish-10-standard

[7] Jeff Autor, Introduction to Redfi sh, Präsentation, Mai 2015, www.dmtf.org/sites/default/fi les/Introduction_to_ Redfish_2015.pdf

[8] Trusted Computing Group, PC Client Work Group, Specifi c Implementation Specifi cation for Conventional BIOS, www.trustedcomputinggroup.org/resources/ pc_client_work_group_specifi c_implementation_specification_for_conventional_bios

[9] OpenStack Wiki, Trusted Computing Pools, https://wiki.openstack.org/wiki/TrustedComputingPools

[10] OpenAttestation API, https://github.com/OpenAttestation/ OpenAttestation

[11] Intel, Intel Cloud Integrity Technology Support Site, www.intel.com/p/en_US/support/highlights/sftwr-prod/cit