Training UEFI Firmware Entwicklung

Jetzt als "Hybrid Training" : Remote- oder Präsenz-Teilnahme

 

Grundlagen des UEFI-BIOS

Kursdauer: 3 Tage

Termine und Preise   UEFI Training Termine
Anmeldeformular UEFI Training Anmeldung
Agenda UEFI Training Agenda
 
 
UEFI und Legacy BIOS
UEFI Spezifikation
UEFI Shell
Shell Script
Memory Layout (SMRAM and Memory Map)
UEFI GUID Interface
Services and Protocols
UEFI Applikationsentwicklung
EDK-II Entwicklungsumgebung
Entwicklung mit Visual Studio
OVMF mit QEMU und TIANOCORE
UEFI Debugging
UEFI DXE Driver
Resource Management
UEFI PCI resource management
Post-DXE Management
Runtime Driver
SMM Management
SMM Driver
Data Storage
Secure Boot and Key Management
UEFI Driver Signing
 
UEFI Training (Schulung)
UEFI Training mit Shell-Script  

UEFI Shell

  EDK-II UEFI Training mit EDK2
UEFI Training und Schulungsanforderungen   Für den Kurs sind Kenntnisse in der C-Programmierung erforderlich
  Die Schulung findet als "Hybrid-Training" (Webinar oder Klassisch) statt. Sybera bietet diese Schulung auch als Inhouse-Seminar vor Ort beim Kunden an

 

UEFI Schulungs- und Trainingsraum
Schulung UEFI Firmware Entwicklung
Dieser Kurs ist ein "Muss" für jeden Entwickler, der eigene UEFI Firmware Software erstellen will. Dieser Kurs bietet die Gelegenheit, das Thema UEFI in der Tiefe kennenzulernen. Neben den Grundlagen von UEFI (Phasen, Spezifikation, Shell) werden die erforderlichen Kenntnisse für die Entwicklung von UEFI Software vermittelt.

UEFI (Unified Extensible Firmware Interface) ist eine standardmäßige Firmwareschnittstelle für PCs, durch die das BIOS (Basic Input/Output System) ersetzt werden soll. Die Schnittstelle besteht aus Datentabellen , die plattformbezogene Informationen sowie Boot- und Runtime-Service-Aufrufe enthalten, die für das Betriebssystem und seine Bootloader zur Verfügung stehen. Zusammen bieten diese eine Standardumgebung für das Booten eines Betriebssystems und in der Pre-Boot-Anwendungen ausgeführt werden können. Dieser Standard wurde von über 140 Technologieunternehmen im Rahmen des UEFI-Konsortiums geschaffen, dem auch Microsoft angehört. Er soll die Interoperabilität von Software verbessern und die Einschränkungen des BIOS überwinden. UEFI-Firmware bietet unter anderem die folgenden Vorteile: Höhere Sicherheit durch Schützen des Prozesses vor dem Start vor Bootkit-Angriffen, schnelleres Starten und Fortsetzen nach dem Ruhezustand, Unterstützung für Laufwerke mit mehr als 2 TB, Unterstützung für moderne 64-Bit-Firmwaregerätetreiber, die vom System verwen-det werden können, um beim Start mehr als 17,2 Milliarden GB Speicher zu adressieren und die Möglichkeit zur Verwendung des BIOS mit Hardware. Die UEFI Shell ist eine interaktive BIOS-Erweiterung und bietet, ähnlich einem Betriebssystem, eine Umgebung für die laufenden Programme. Sie umfasst dabei einen Scripting-Interpreter zum ausführen von Skript-Dateien, kann von externen Speichergeräten (z.B. USB) gebootet werden und ist optional als Boot-Gerät im BIOS vorhanden. Die UEFI Shell besitzt ähnlich wie bei MS DOS oder Linux eine Befehlszeile, mit einem Befehlssatz für Datei-Manipulation, Driver-Management, Gerätezugriff, Information, Speicherzugriff , BIOS-Status und Scripting Kontrolle. Mit dem EFI Development Kit (EDK-2) wurde eine Entwicklungsumgebung für die UEFI Programmierung (Treiber und Applikationen) geschaffen, die vieles erleichtert, aber auch neue Herausforderungen birgt. UEFI Secure Boot wurde entwickelt, um die Sicherheit in der Pre-Boot-Umgebung zu verbessern. Secure Boot ist eine Technologie, bei der die System-Firmware �berpr�ft, ob der System Bootloader mit einem kryptographischen Schl�ssel in einer Datenbank autorisiert und in der Firmware signiert ist. Mit einer Signaturpr�fung im Bootloader der n�chsten Stufe ist es m�glich, die Ausf�hrung von unsignierten Code zu verhindern. Deshalb ist Secure Boot eine Form des verifizierten Bootens. Boot-Pfad Validierung ist ebenfalls ein Teil von weiteren Technologien, wie Trusted-Boot. Windows 8 Systeme werden mit einem Zertifikat von Microsoft in der UEFI Firmware ausgeliefert, durch das der Boot-Loader und andere Boot-Komponenten gepr�ft werden. Falls eine Boot-Komponente durch Malware infiziert wurde, wird das System nicht gestartet, sondern stattdessen in einen sicheren Zustand zur�ckversetzt. Mit anderen Worten, UEFI sch�tzt das pre-OS environment. Dar�ber hinaus �berpr�ft Windows 8 anschlie�end alle weiteren Komponenten beim Booten, um sicherzustellen, dass diese vertrauensw�rdig sind. Falls Windows 8 nicht vertrauensw�rdige Dateien findet, werden diese ebenfalls durch sichere Versionen ersetzt. Durch „Secure Boot” kommt noch ein weiteres neues Feature mit Windows 8: Early-Launch Anti-Malware (ELAM). Dies bietet die M�glichkeit, einen Anti-Malware-Treiber als ersten vertrauensw�rdigen, kritischen Boot-Treiber zu registrieren. Dies ist der erste nicht-Microsoft Code, der auf dem Computer ausgef�hrt wird. Der Anti-Malware-Treiber kann dann wiederum andere Treiber �berpr�fen, bevor sie initialisiert werden. Durch Secure Boot wird verhindert, dass Malware vor dem Betriebssystem gestartet wird und durch den ELAM Treiber wird sichergestellt, dass vor allen anderen Komponenten zuerst eine Anti-Malware Software l�uft, die danach alle weiteren Boot-Komponenten pr�ft. Measured Boot ist ein anderes Boot Feature in Windows 8, das ebenfalls mit Anti-Malware zu tun hat. Dadurch wird dem ELAM Treiber eine Log-Datei �bergeben, welche alle Komponenten, die vor und nach dem ELAM Treiber geladen wurden, enth�lt. Diese Datei wird im TPM (Trusted Platform Module) Chip gespeichert und kann vom ELAM Treiber oder einem Administrator verwendet werden, um festzustellen, ob sich irgendwelche Malware auf dem Computer befindet.

Das Ziel dieser Schulung ist es, die Hintergründe von UEFI aufzudecken und eigene Treiber Projekte (DXE) zu realisieren. Mit praktischen Beispielen werden die u.a. Themen UEFI Shell, Shell script, SMRAM, UEFI Services und Protocols, Open Virtual Machine Firmware (OVMF) Entwicklung mit QEMU und TIANOCORE, UEFI Treiber Entwicklung (DXE Driver), SMM, Secure Boot behandelt. Die Schulung richtet sich somit an Hardware als auch Software Entwickler, die mit dem Thema UEFI vertraut werden und UEFI Firmware Projekte entwickeln oder ergänzen müssen.