Firmware, auch als „Software für Hardware“ bekannt, ist ein in Hardwaregeräte eingebetteter Programmcode, der es ermöglicht, diese Geräte und ihre Funktionen ordnungsgemäß zu funktionieren. Die Firmware wird regelmäßig aktualisiert, um häufige Probleme zu beheben, Funktionen hinzuzufügen oder zu erweitern oder die Kompatibilität eines Geräts mit neuen Technologien zu erhöhen.
Viele Geräte sind auf Firmware angewiesen, um zu funktionieren, darunter Fernsehgeräte, Kameras, Mobiltelefone, Drucker, Laufwerke und mehr. Die Firmware befindet sich im nichtflüchtigen Speicher eines Geräts, wo Inhalte gespeichert werden können, wenn das Gerät ausgeschaltet ist. Firmware kann auf verschiedene Speichertypen geschrieben werden, darunter Arbeitsspeicher (RAM), Festwertspeicher (ROM), löschbarer programmierbarer Festwertspeicher (EPROM) und Flash-Speicher.
Die Firmware hilft Geräten auf verschiedene Weise, ihre beabsichtigten Funktionen auszuführen, z. B. durch die Bereitstellung von Anweisungen, wie das Gerät gestartet werden soll, wie es mit anderen Geräten (z. B. Internet-Router oder Fernsteuerungen) interagieren soll und wie es entscheidende Eingaben/Ausgaben (I/O) ausführen soll. Viele Hersteller von Hardwaregeräten wie Apple, LG Electronics, Microsoft und andere betten Firmware in ihre Produkte ein, sodass diese ähnlich wie das Betriebssystem (OS) eines Computers funktionieren.
Der Begriff „Firmware“ wurde Berichten zufolge erstmals 1967 von dem amerikanischen Wissenschaftler Ascher Opler verwendet, um ein Programm zu beschreiben, das sich „zwischen Hardware und Software“ befand1. Heutzutage ist Firmware ein wesentlicher Bestandteil vieler Geräte, von Ihrer iPhone-, Mac- oder Fernsehfernbedienung bis hin zu komplexen Internet der Dinge (IoT)-Sensoren auf Satelliten und fahrerlosen Autos. Obwohl Firmware und Software ähnlich sind, gibt es wichtige Unterschiede, die bei der Beurteilung der Eignung für eine Geschäftsanforderung zu berücksichtigen sind.
Der Unterschied zwischen Firmware und Software lässt sich am einfachsten an ihren spezifischen Zwecken erkennen: Während Firmware entwickelt wurde, um Geräte beim Start und bei der Kommunikation miteinander zu unterstützen, dient Software in erster Linie der Interaktion. Firmware ermöglicht die Steuerung von Endgeräten wie Telefonen und Fernsehgeräten. Hersteller aktualisieren häufig Firmware, um neue Funktionen hinzuzufügen, die Sicherheit zu verbessern und vor Schwachstellen zu schützen. Wie jeder Benutzer eines Android- oder iOS-Telefons – oder auch von Smart-TVs und Spielekonsolen – weiß, müssen Firmware-Versionsupdates regelmäßig heruntergeladen und installiert werden, da sie sonst die Geräteleistung beeinträchtigen.
Software hingegen wird auf einem Gerät installiert, um die Interaktion des Benutzers bei Aktivitäten wie Surfen im Internet, E-Mail abrufen, Textverarbeitung, Video Streaming und mehr zu verbessern. Software ist nicht so eng mit der Hardware verbunden wie Firmware und benötigt Firmware, um mit der Hardware zu kommunizieren, für die sie Funktionen bereitstellt.
Firmware ist unerlässlich für das reibungslose Funktionieren von Geräten, die wir in unserer Arbeit und im Privatleben für selbstverständlich halten, wie PCs, Smartphones, Spielekonsolen und mehr. Die meisten Benutzer dieser Geräte sind mit der Firmware durch häufige „Firmware-Updates“ vertraut, die notwendig sind, damit ihre Geräte weiterhin funktionieren.
Firmware-Updates, die aus Computercode bestehen, werden häufig herausgegeben, um Sicherheitsbedrohungen zu beheben, die sich auf die Leistung eines Geräts auswirken können, z. B. Bugs oder Hacks. Sie können aber auch ausgegeben werden, um einem Gerät eine neue Funktion hinzuzufügen, beispielsweise eine Möglichkeit, mit einer neuen Art von Medien zu interagieren. Beispiele für Firmware-Updates sind das Hinzufügen von Sicherheitsfunktionen zu einem Internet-Router, die Verbesserung der Browsing-Funktion für eine Streaming-Video-App und ein Betriebssystem-Update, das es einer Computer-Systemplatine ermöglicht, einen neuen Prozessortyp zu unterstützen.
Da heute die meisten Geräte mit dem Internet verbunden sind, ist das Herunterladen von Updates aus der Ferne oder „over the air“ zu einer Möglichkeit für Hersteller geworden, Firmware-Updates herauszugeben. Die meisten programmieren die Möglichkeit, ein Gerät in die Firmware zu aktualisieren, und der Benutzer erhält einfach eine Benachrichtigung. Bei anderen Geräten müssen Benutzer nach wie vor die Website des Herstellers besuchen und den erforderlichen Code herunterladen. Die Häufigkeit von Firmware-Updates hängt von der Art des Geräts ab, für das sie entwickelt wurde. Smartphones zum Beispiel kombinieren in der Regel Firmware- und Software-Updates, damit das Telefon und das zugrunde liegende Betriebssystem ordnungsgemäß funktionieren.
Da Firmware so weit verbreitet und für die Funktionen so vieler wichtiger Geräte unerlässlich ist, ist sie zu einem wichtigen Ziel für Hacker geworden. Hardwaregeräte, die auf Firmware angewiesen sind, weisen viele Sicherheitslücken auf, da sie häufig denselben Code verwenden. Laptops zum Beispiel, die oft vertrauliche Arbeitsdaten enthalten, sind auf Firmware angewiesen, damit ihre Batterien, Sound- und Grafikkarten, Webcams und mehr funktionieren, was sie zu attraktiven Zielen macht.
Firmware-Hacken beinhalten oft die Bereitstellung von Malware – Code, der absichtlich geschrieben wurde, um das System oder den Benutzer eines Computers zu schädigen, indem er sich selbst an die Firmware anhängt. Zu den beliebten Arten von Malware gehören Ransomware, die die Daten eines Benutzers als Geiseln nimmt, Trojaner, die sich der Erkennung entziehen, indem sie sich als legitimes Programm ausgeben, und Spyware, die vertrauliche Informationen über einen Benutzer stiehlt. Hacker müssen selten physisch auf einen Rechner zugreifen, um ausgenutzt zu werden. Sie können sich über Bluetooth- oder WLAN-Verbindungen aus der Ferne Zugriff verschaffen, indem sie diese ausnutzen, da die Anzahl der Geräte mit Internetverbindung zunimmt.
Schlechte Firmware-Sicherheitsfunktionen können zu Ergebnissen führen, dass vertrauliche Benutzerdaten gestohlen oder kompromittiert werden und böswillige Akteure aus der Ferne die Kontrolle über den Rechner des Benutzers erlangen. So gab Google im Juni 2024 eine Warnung heraus, dass ein Problem mit der Pixel-Firmware diese anfällig für Angreifer macht und dass es keine bekannten Fixes für das Problem gibt2.
Unternehmen, die sich des Risikos von Firmware-Schwachstellen zunehmend bewusst werden, ergreifen verstärkte Maßnahmen, um die Ausbeutung ihrer Systeme zu verhindern, da Firmware viele Nutzen bietet.
Verbesserte Leistung – ohne neue Hardware: Firmware-Updates ermöglichen es Geräten, neue Funktionen zu übernehmen, ohne das Gerät oder seine Architektur zu ändern. Viele Firmware-Updates verbessern die Ausführungs- und Befehlszeiten für den zugrundeliegenden Code eines Geräts und tragen zur Optimierung seiner Leistung bei.
Verbesserte Benutzererfahrung: Firmware-Updates bieten den Benutzern neue Funktionen, Computerprogramme und Funktionen für Aktivitäten, auf die sie sich verlassen, wie z. B. den Kontostand zu überprüfen, eine Sendung auf ihrem Smart-TV aufzuzeichnen oder zu wissen, welche Lebensmittel sie kaufen müssen, indem sie ihren intelligenten Kühlschrank mit einer App über IoT verbinden.
Schnellere Problemlösung: Firmware-Updates ermöglichen die schnelle Lösung vieler häufig auftretender Probleme mit einem Gerät, darunter Boot- und Verarbeitungszeiten, mehr Multitasking-Funktionen und bessere Kompatibilität mit externen Geräten.
Komponentenfunktionen: Firmware-Updates tragen dazu bei, dass alle Peripherie-Komponenten eines Geräts, wie die Lautsprecher und Mikrofone eines Smartphones, so funktionieren, wie sie entworfen wurden, sodass das Gerät Spitzenleistungen erbringt.
Geringere Reparaturkosten: Wenn Sie die Firmware Ihres Geräts stets auf dem neuesten Stand halten, verringert sich die Wahrscheinlichkeit, dass das Gerät von Fehlern befallen wird und in Zukunft Fixes oder kostspielige Reparaturen erforderlich werden.
Firmware wird auf einem Gerät installiert, während das Gerät hergestellt wird. In erster Linie erleichtert es die Kommunikation zwischen dem Betriebssystem (OS) und der Hardware des Geräts. Die Firmware enthält viele Anweisungen, die für das Funktionieren des Geräts in der Art und Weise, wie es entwickelt wurde, unerlässlich sind. Die Zentraleinheit (CPU) des Computers, der Ort, an dem Eingaben in Ausgaben umgewandelt werden, ruft Firmware aus dem Speicher eines Computers ab und führt sie aus.
Firmware kommt auf vielen Geräten zum Einsatz, auf die wir uns täglich verlassen. Der vielleicht häufigste Anwendungsfall ist das Aufwachen eines Geräts nach einer langen Zeit der Inaktivität. Wenn Sie beispielsweise eingeschlafen sind und aufwachen und auf Ihr Smartphone schauen, um Ihre Nachrichten zu lesen, sorgt die Firmware dafür, dass Ihr Gerät ordnungsgemäß hochfährt. Um Informationen zu erhalten, während sie nicht verwendet werden, speichert ein Gerät Firmware in seinem „nichtflüchtigen“ Speicher. Mit zunehmender Komplexität der Aufgaben, die von der Firmware benötigt werden, hat sie einige der Eigenschaften von Computerhardware übernommen, nämlich die Verwendung von Flash-Speicher und einem Basic Input/Output System (BIOS).
Weil viele Geräte Informationen speichern müssen, während sie ausgeschaltet sind, speichert Firmware normalerweise Daten im „nichtflüchtigen“ oder „schreibgeschützten“ Speicher (ROM) eines Systems, auch bekannt als Flash-Speicher. Diese Art von Speicher wird in einer Vielzahl von tragbaren Geräten wie Flash-Laufwerken, Smartphones, Digitalkameras, Laptops und mehr verwendet und ist für die Funktionen der Firmware unerlässlich.
In letzter Zeit hat Flash-Speicher einige der gleichen Funktionen wie Computer erworben. Wenn ein Computer beispielsweise hochgefahren wird, durchläuft er eine Abfolge, die als Basic Input/Output System (BIOS) bekannt ist. Die erste Firmware, die eine BIOS-Sequenz ausführte, verwendete einen ROM-Chip; mittlerweile verwenden die Systeme Flash-Speicher für das BIOS, sodass Daten neu geschrieben werden können, ohne dass der Chip von der Systemplatine entfernt und nach der Neuprogrammierung wieder eingesetzt werden muss.
Neben Änderungen bei der Art und Weise, wie die Firmware Speicher nutzt und speichert, gab es auch Fortschritte bei den Firmware-Typen, die den Benutzern zur Verfügung stehen. Heute kann Firmware in drei grundlegende Gruppen eingeteilt werden, die durch ihre Architektur definiert werden:
Low-Level-Firmware ist in der Hardware eines Geräts verankert und auf nichtflüchtigen, schreibgeschützten Chips wie ROM gespeichert, die nicht aktualisiert werden können. Geräte, die auf Low-Level-Firmware angewiesen sind, verwenden Speicher, der nur einmal geschrieben und nie umprogrammiert werden kann.
High-Level-Firmware ist Firmware, die aufgrund der Komplexität ihrer Hardware nicht aktualisiert werden kann. In einem Computer ist die High-Level-Firmware in Flash-Speicherchips enthalten und für komplexere Aufgaben verantwortlich als Low-Level-Firmware. High-Level-Firmware enthält wichtige Anweisungen, wie ein Gerät funktioniert und verschiedene Komponenten interagieren.
Die Firmware des Subsystems ist in einem sogenannten „eingebetteten System“ enthalten, einer spezifischen Kombination aus Hardware und Software, die für einen bestimmten Zweck oder eine Aufgabe entwickelt wurde. Die Subsystem-Firmware ähnelt in ihrer Komplexität und Anpassungsfähigkeit der High-Level-Firmware. Wie die High-Level-Firmware kann auch die Subsystem-Firmware einfach aktualisiert werden.
Firmware wird in einer Vielzahl von kritischen Geräten verwendet, die für die digitale Transformation entscheidend sind, und hat daher viele nützliche Anwendungen für das moderne Unternehmen. Zu den gebräuchlichsten geschäftlichen Anwendungen von Firmware gehören:
PCs
Personal Computer (PCs) sind auf Firmware angewiesen, um entscheidende Daten im heruntergefahrenen Zustand zu speichern, sowie auf BIOS- und UEFI-Spezifikationen (Unified Extensible Firmware Interfaces) für die Softwareschnittstelle zwischen einem Betriebssystem und Firmware. Normalerweise sind diese Funktionen in einen Speicherchip auf der Systemplatine eines Computers integriert. Auch beliebte PC-Komponenten wie Grafik- und Grafikkarten sind auf Firmware angewiesen, um zu funktionieren.
Datenspeichergeräte
USB-Laufwerke, externe Festplatten, Flash-Laufwerke und andere tragbare Datenspeichergeräte benötigen Firmware, um zu funktionieren. Die Firmware ist in die Flash-Speicherchips integriert, auf die viele moderne Datenspeichergeräte angewiesen sind, und kann im Gegensatz zur Firmware, die in ROM oder EPROM enthalten ist, leicht aktualisiert werden.
Smartphones
Smartphones sind stark auf Firmware angewiesen, um zu funktionieren. Firmware sorgt nicht nur dafür, dass ein Smartphone auch dann hochfährt, wenn Sie es längere Zeit nicht benutzt haben, sondern sorgt auch dafür, dass kritische Komponenten so miteinander interagieren können, wie sie entwickelt wurden. Zuletzt hängen Fixes, Sicherheitsfunktionen und neue Funktionen bei einem Smartphone von regelmäßigen Firmware-Updates ab, die aus dem Internet heruntergeladen werden, um ordnungsgemäß zu funktionieren.
Autos
Viele Autos, die in den letzten zehn Jahren entwickelt wurden, enthalten Computer, die für die Ausführung entscheidender Aufgaben auf Firmware angewiesen sind. Verschiedene Arten von Firmware werden in verschiedenen Automobilsystemen verwendet, darunter Motorsteuergeräte (ECUs), die Motorleistung und Kraftstoffeffizienz optimieren, sowie die zunehmend komplexen Informations- und Unterhaltungssysteme (Infotainment), die bei der Navigation und den an vielen Autos angebrachten Kameras helfen.
Internet-der-Dinge-(IoT-)Geräte
Das Internet der Dinge (Internet of Things, IoT) bezieht sich auf ein Netz aus physischen Geräten, Fahrzeugen, Apparaten und anderen physischen Objekten, die mit Sensoren, Software und Netzwerkkonnektivität ausgestattet sind, um Daten zu sammeln und auszutauschen. Firmware ist für viele Anwendungsfälle der IoT-Technologie unerlässlich, wie z. B. intelligente Haushaltsgeräte, fahrerlose Autos, intelligentere Städte und Fabriken und vieles mehr. Auf einem IoT-Gerät, z. B. einem Sensor, der Daten über das Internet überträgt, enthält die Firmware wichtige Anweisungen, die dauerhaft in der Hardware gespeichert sind und es dem Gerät ermöglichen, sich ein- und auszuschalten, Daten zu erfassen, zu analysieren und zu übertragen und vieles mehr.
1. Firmware (Link befindet sich außerhalb von ibm.com), Wikipedia
2. Google Warns of Pixel Firmware Security Flaw Exploited as Zero-Day (Link befindet sich außerhalb von ibm.com), The Hacker News, 13. Juni 2024
IBM Cloud Infrastructure Center ist eine mit OpenStack kompatible Softwareplattform für die Verwaltung der Infrastruktur von Private Clouds auf IBM zSystems und IBM LinuxONE.
Entdecken Sie Server, Speicher und Software für die Hybrid-Cloud- und KI-Strategie Ihres Unternehmens.
Finden Sie die richtige Cloud-Infrastrukturlösung für Ihre Geschäftsanforderungen und skalieren Sie Ressourcen nach Bedarf.