Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
GoTEE-example — GoTEE - Beispielanwendung | Kitploit
Tools/GitHubGitHub/usbarmory/gotee-example
Embedded-System-SicherheitSpeicherforensikDebuggerSicherheitsvirtualisierungHardware-Sicherheit
GitHubusbarmory/gotee-example

GoTEE-example

GoTEE - Beispielanwendung

Repository anzeigen
17523vor 5 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Einführung

Das GoTEE-Framework implementiert die gleichzeitige Instanziierung von TamaGo-basierten Unikernels im privilegierten und unprivilegierten Modus, die über den Monitor-Modus und benutzerdefinierte Systemaufrufe miteinander interagieren.

Mit diesen Fähigkeiten implementiert GoTEE eine TamaGo-basierte Trusted Execution Environment (TEE) und bringt Go-Speichersicherheit, Komfort und Leistungsfähigkeit in die Bare-Metal-Ausführung innerhalb der ARM TrustZone Secure World oder von RISC-V Supervisor Execution Environments.

GoTEE kann reine Go-, Rust- oder C-basierte freistehende Trusted Applets überwachen, die die GoTEE-API implementieren, sowie jedes Betriebssystem, das in der ARM TrustZone Normal World oder im RISC-V-S-Modus ausgeführt werden kann, wie z. B. Linux.

Funktionen

  • Isolierte Ausführungskontexte für den ARM-Benutzermodus, die TrustZone Normal World oder den RISC-V-Supervisor-Modus

  • Opportunistischer Soft-Lockstep zur Fehlererkennung

  • API zur Implementierung eines Trusted OS (Syscall-, JSON-RPC- und Exception-Handler)

Dokumentation

Go Reference

Die Hauptdokumentation, die auch ein Tutorial enthält, finden Sie im Projekt-Wiki.

Die API-Dokumentation des Pakets finden Sie auf pkg.go.dev.

Unterstützte Hardware

Die folgende Tabelle fasst die derzeit unterstützten SoCs und Boards zusammen.

SoCBoardSoC-PaketBoard-Paket
NXP i.MX6ULZUSB armory Mk IIimx6ulusbarmory/mk2
NXP i.MX6ULLMCIMX6ULL-EVKimx6ulmx6ullevk
SiFive FU540QEMU sifive_ufu540qemu/sifive_u

Beispielanwendung

In der TEE-Nomenklatur wird das privilegierte Unikernel üblicherweise als Trusted OS bezeichnet, während das unprivilegierte ein Trusted Applet darstellt.

Das GoTEE-Beispiel demonstriert den gleichzeitigen Betrieb von Go-Unikernels, die als Trusted OS, Trusted Applet und Main OS fungieren.

[!WARNING] Das Main OS kann ein beliebiges „reichhaltiges" Betriebssystem sein (z. B. Linux); TamaGo wird lediglich für ein in sich geschlossenes Beispiel verwendet. Dasselbe gilt für das Trusted Applet, das eine beliebige Bare-Metal-Anwendung sein kann, die im Benutzermodus ausgeführt werden und die GoTEE-API implementieren kann, wie z. B. freistehende C- oder Rust-Programme.

Beim Erstellen kann ein Rust-Beispiel verwendet werden, indem trusted_applet_go durch trusted_applet_rust ersetzt wird.

Die Beispielkombination aus Trusted OS und Applet führt grundlegende Tests der gleichzeitigen Ausführung von drei TamaGo- Unikernels auf unterschiedlichen Privilegstufen durch:

  • Trusted OS (ARM: TZ Secure World Systemmodus, RISC-V: M-mode)
  • Trusted Applet (ARM: TZ Secure World Benutzermodus, RISC-V: S-mode)
  • Main OS (ARM: TZ Normal World Systemmodus, RISC-V: S-mode)

Das Main OS gibt mit einem Monitor-Aufruf die Kontrolle zurück.

Das Trusted Applet schläft 5 Sekunden, bevor es versucht, auf den Speicher des Trusted OS zuzugreifen, was eine vom Supervisor behandelte Exception auslöst, die das Trusted Applet beendet.

Die GoTEE-Syscall- Schnittstelle ist für die Kommunikation zwischen dem Trusted OS und dem Trusted Applet implementiert.

Wenn die Beispielanwendung auf der USB armory Mk II gestartet wird, ist sie über SSH mittels Ethernet over USB (ECM-Protokoll, unterstützt auf Linux- und macOS-Hosts) erreichbar:

$ ssh [email protected]
tamago/arm • TEE security monitor (Secure World system/monitor)

allgptr                                          # memory forensics of applet goroutines
csl                                              # show config security levels (CSL)
csl             <periph> <slave> <hex csl>       # set config security level (CSL)
dbg                                              # show ARM debug permissions
exit, quit                                       # close session
gotee                                            # TrustZone example w/ TamaGo unikernels
help                                             # this help
linux           <uSD|eMMC>                       # boot NonSecure USB armory Debian base image
lockstep        <fault %>                        # tandem applet example w/ fault injection
peek            <hex offset> <size>              # memory display (use with caution)
poke            <hex offset> <hex value>         # memory write   (use with caution)
reboot                                           # reset device
sa                                               # show security access (SA)
sa              <id> <secure|nonsecure>          # set security access (SA)
stack                                            # stack trace of current goroutine
stackall                                         # stack trace of all goroutines

>

Das Beispiel kann mit dem Befehl gotee gestartet werden, der das Main OS zweimal startet, um das Verhalten vor und nach dem Inkrafttreten der TrustZone-Einschränkungen unter Verwendung realer Hardware-Peripherie zu demonstrieren.

Zusätzlich kann der Befehl linux verwendet werden, um das USB armory Debian-Basisimage als nicht-sicheres Main OS zu starten.

[!NOTE] Für den nicht-sicheren Betrieb werden nur USB armory Debian-Basisimage-Versionen >= 20211129 unterstützt.

Tool herunterladen