Firmware - Firmware

Eine TV - Fernbedienung ist ein Beispiel für ein Produkt , das Firmware enthält.

In der Computertechnik ist Firmware eine bestimmte Klasse von Computersoftware , die die Low-Level-Steuerung für die spezifische Hardware eines Geräts bereitstellt . Firmware, wie beispielsweise das BIOS eines Personalcomputers, kann grundlegende Funktionen eines Geräts enthalten und kann Hardware-Abstraktionsdienste für Software höherer Ebene, wie beispielsweise Betriebssysteme, bereitstellen . Bei weniger komplexen Geräten kann die Firmware als das komplette Betriebssystem des Geräts fungieren , das alle Steuerungs-, Überwachungs- und Datenmanipulationsfunktionen ausführt. Typische Beispiele für Geräte, die Firmware enthalten, sind eingebettete Systeme , Haushalts- und Privatgeräte, Computer und Computerperipheriegeräte .

Firmware wird in nichtflüchtigen Speichergeräten wie ROM , EPROM , EEPROM und Flash-Speicher gehalten . Das Aktualisieren der Firmware erfordert den physischen Austausch von integrierten ROM- Schaltungen oder die Neuprogrammierung von EPROM oder Flash-Speicher durch ein spezielles Verfahren. Einige Firmware-Speichergeräte sind fest installiert und können nach der Herstellung nicht mehr geändert werden. Häufige Gründe für das Aktualisieren der Firmware sind das Beheben von Fehlern oder das Hinzufügen von Funktionen zum Gerät.

Geschichte

Ascher Opler prägte den Begriff Firmware 1967 in einem Datamation- Artikel. In diesem Artikel bezog sich Opler auf eine neue Art von Computerprogramm, das aus Sicht des Benutzers einen anderen praktischen und psychologischen Zweck hatte als herkömmliche Programme.

Als die Komplexität von Computern zunahm, wurde klar, dass verschiedene Programme zuerst initiiert und ausgeführt werden mussten, um eine konsistente Umgebung bereitzustellen, die für die Ausführung komplexerer Programme nach Ermessen des Benutzers erforderlich ist. Dies erforderte die Programmierung des Computers, um diese Programme automatisch auszuführen. Da Unternehmen, Universitäten und Vermarkter Computer an Laien mit geringen technischen Kenntnissen verkaufen wollten, wurde darüber hinaus eine stärkere Automatisierung erforderlich, um es einem Laien zu ermöglichen, Programme für praktische Zwecke einfach auszuführen. Dies führte zu einer Art Software, die ein Benutzer nicht bewusst ausführen würde, und es führte zu einer Software, die ein Laie nicht einmal kennen würde.

Ursprünglich bedeutete es den Inhalt eines beschreibbaren Kontrollspeichers (ein kleiner spezialisierter Hochgeschwindigkeitsspeicher), der Mikrocode enthielt , der den Befehlssatz des Computers definierte und implementierte und der neu geladen werden konnte, um die Befehle zu spezialisieren oder zu modifizieren, die die Zentraleinheit (CPU) ) ausführen könnte. Wie ursprünglich verwendet, stand Firmware im Gegensatz zu Hardware (der CPU selbst) und Software (normale Anweisungen, die auf einer CPU ausgeführt werden). Es bestand nicht aus CPU-Maschinenbefehlen, sondern aus untergeordnetem Mikrocode, der an der Implementierung von Maschinenbefehlen beteiligt ist. Es existierte an der Grenze zwischen Hardware und Software; daher der Name Firmware . Im Laufe der Zeit wurde das Wort Firmware durch die gängige Verwendung erweitert , um jedes Computerprogramm zu bezeichnen, das eng mit der Hardware verbunden ist, einschließlich der Anweisungen von Prozessormaschinen für das BIOS , Bootstrap-Loader oder die Steuersysteme für einfache elektronische Geräte wie Mikrowellenherde , Fernbedienungen oder Computer peripher .

Anwendungen

Persönliche Computer

ROM- BIOS- Firmware auf einem Baby AT- Motherboard

In gewisser Hinsicht sind die verschiedenen Firmware-Komponenten genauso wichtig wie das Betriebssystem in einem funktionierenden Computer. Im Gegensatz zu den meisten modernen Betriebssystemen verfügt die Firmware jedoch selten über einen gut entwickelten automatischen Mechanismus, um sich selbst zu aktualisieren, um nach dem Versand des Geräts festgestellte Funktionsprobleme zu beheben.

Das BIOS kann von einem Benutzer über ein kleines Dienstprogramm "manuell" aktualisiert werden. Im Gegensatz dazu wird Firmware in Massenspeichergeräten (Festplattenlaufwerke, optische Laufwerke, Flash-Speicher, zB Solid State Drive) selten aktualisiert, selbst wenn Flash-Speicher (statt ROM, EEPROM) für die Firmware verwendet wird.

Die meisten Computerperipheriegeräte sind selbst Spezialcomputer. Geräte wie Drucker, Scanner, Kameras und USB-Flash-Laufwerke verfügen über intern gespeicherte Firmware; einige Geräte können auch eine Feldaktualisierung ihrer Firmware zulassen.

Einige kostengünstige Peripheriegeräte enthalten keinen nichtflüchtigen Speicher für Firmware mehr und verlassen sich stattdessen auf das Hostsystem, um das Gerätesteuerungsprogramm von einer Plattendatei oder CD zu übertragen.

Produkte für den Heim- und persönlichen Gebrauch

Ab 2010 unterstützen die meisten tragbaren Musikplayer Firmware-Upgrades. Einige Unternehmen verwenden Firmware-Updates, um neue abspielbare Dateiformate ( Codecs ) hinzuzufügen . Andere Funktionen, die sich mit Firmware-Updates ändern können, sind die GUI oder sogar die Akkulaufzeit. Die meisten Mobiltelefone verfügen aus den gleichen Gründen über eine Firmware-Over-the-Air- Aktualisierungsfunktion. einige können sogar aufgerüstet werden, um den Empfang oder die Klangqualität zu verbessern.

Autos

Seit 1996 verwenden die meisten Autos einen Bordcomputer und verschiedene Sensoren, um mechanische Probleme zu erkennen. Ab 2010 verwenden moderne Fahrzeuge auch computergesteuerte Antiblockiersysteme (ABS) und computergesteuerte Getriebesteuergeräte (TCUs). Der Fahrer kann auf diese Weise auch während der Fahrt Informationen im Armaturenbrett abrufen, wie beispielsweise Kraftstoffverbrauchs- und Reifendruckwerte in Echtzeit. Lokale Händler können die meisten Fahrzeugfirmware aktualisieren.

Beispiele

Beispiele für Firmware sind:

Blinken

Flashen beinhaltet das Überschreiben vorhandener Firmware oder Daten, die in einem EEPROM oder Flash-Speichermodul enthalten sind, das in einem elektronischen Gerät vorhanden ist, mit neuen Daten. Dies kann erfolgen, um ein Gerät aufzurüsten oder den Anbieter eines Dienstes zu wechseln, der mit der Funktion des Geräts verbunden ist, wie beispielsweise der Wechsel von einem Mobilfunkanbieter zu einem anderen oder die Installation eines neuen Betriebssystems. Wenn die Firmware aktualisierbar ist, erfolgt dies häufig über ein Programm des Anbieters und ermöglicht oft das Speichern der alten Firmware vor dem Upgrade, damit sie wiederhergestellt werden kann, wenn der Vorgang fehlschlägt oder die neuere Version schlechter abschneidet. Es wurden kostenlose Software-Ersatzprogramme für Flash- Tools von Anbietern entwickelt, wie z. B. Flashrom .

Firmware-Hacking

Manchmal entwickeln Dritte eine inoffizielle neue oder modifizierte ("Aftermarket") Firmware-Version, um neue Funktionen bereitzustellen oder versteckte Funktionen freizuschalten; Dies wird als benutzerdefinierte Firmware bezeichnet . Ein Beispiel ist Rockbox als Firmware-Ersatz für tragbare Mediaplayer . Es gibt viele Homebrew- Projekte für verschiedene Geräte, die oft Allzweck-Computing-Funktionalität in zuvor eingeschränkten Geräten freischalten (z. B. das Ausführen von Doom auf iPods ).

Firmware-Hacks nutzen normalerweise die Firmware-Update-Funktion vieler Geräte, um sich selbst zu installieren oder auszuführen. Einige müssen jedoch auf Exploits zurückgreifen, um ausgeführt zu werden, da der Hersteller versucht hat, die Hardware zu sperren, um die Ausführung von nicht lizenziertem Code zu verhindern .

Die meisten Firmware-Hacks sind kostenlose Software .

HDD-Firmware-Hacks

Das in Moskau ansässige Kaspersky Lab entdeckte, dass eine Gruppe von Entwicklern, die es als " Equation Group " bezeichnet, Modifikationen der Festplatten- Firmware für verschiedene Laufwerksmodelle entwickelt hat, die ein Trojanisches Pferd enthalten , das es ermöglicht, Daten auf dem Laufwerk an Orten zu speichern, die nicht gelöscht werden, auch wenn das Laufwerk formatiert oder gelöscht wird. Obwohl der Bericht von Kaspersky Lab nicht ausdrücklich behauptet, dass diese Gruppe Teil der National Security Agency (NSA) der Vereinigten Staaten ist , deuten Beweise aus dem Code verschiedener Equation Group-Software darauf hin, dass sie Teil der NSA sind.

Forscher von Kaspersky Lab kategorisierten die Unternehmungen der Equation Group als die fortschrittlichste Hacking-Operation, die jemals aufgedeckt wurde, und dokumentierten auch rund 500 Infektionen, die von der Equation Group in mindestens 42 Ländern verursacht wurden.

Sicherheits Risikos

Mark Shuttleworth , der Gründer der Firma Canonical , die die Ubuntu-Linux- Distribution betreut, hat proprietäre Firmware als Sicherheitsrisiko bezeichnet und gesagt, dass "Firmware auf Ihrem Gerät der beste Freund der NSA ist " und Firmware "ein trojanisches Pferd von monumentaler Bedeutung" genannt Proportionen". Er hat behauptet, dass minderwertige Closed-Source- Firmware eine große Bedrohung für die Systemsicherheit darstellt: "Ihr größter Fehler besteht darin, anzunehmen, dass die NSA die einzige Institution ist, die diese Vertrauensstellung missbraucht – tatsächlich ist es vernünftig anzunehmen, dass alle Firmware" eine Senkgrube der Unsicherheit, aufgrund der Inkompetenz höchsten Grades der Hersteller und der höchsten Kompetenz einer sehr breiten Palette solcher Behörden". Als mögliche Lösung für dieses Problem hat er eine deklarative Firmware gefordert, die "Hardware-Linkage und -Abhängigkeiten" beschreibt und "keinen ausführbaren Code enthalten sollte ". Die Firmware sollte Open Source sein, damit der Code überprüft und verifiziert werden kann.

Benutzerdefinierte Firmware-Hacks haben sich auch darauf konzentriert, Malware in Geräte wie Smartphones oder USB-Geräte zu injizieren . Ein solches Smartphone Injektion wurde auf der demonstrierte Symbian OS an Malcon , einem Hacker - Konvention . Auf der Konferenz Black Hat USA 2014 wurde ein USB-Geräte-Firmware-Hack namens BadUSB vorgestellt , der demonstriert, wie ein USB-Flash-Laufwerk- Mikrocontroller umprogrammiert werden kann, um verschiedene andere Gerätetypen zu fälschen, um die Kontrolle über einen Computer zu übernehmen, Daten zu exfiltrieren oder den Benutzer auszuspionieren. Andere Sicherheitsforscher haben weiter daran gearbeitet, die Prinzipien von BadUSB auszunutzen, und gleichzeitig den Quellcode von Hacking-Tools veröffentlicht, mit denen das Verhalten verschiedener USB-Geräte geändert werden kann.

Siehe auch

Verweise