Skip to content
Snippets Groups Projects
Commit 4b1423f2 authored by niklap97's avatar niklap97
Browse files

Update slides.md

parent 93f0c61d
No related branches found
No related tags found
No related merge requests found
...@@ -170,3 +170,78 @@ Python-Skript stellt die Payload für den Angriff aus allen relevanten Informati ...@@ -170,3 +170,78 @@ Python-Skript stellt die Payload für den Angriff aus allen relevanten Informati
- Unterschied: Zwei Zonen, Server Zone 1, Abfrage Zone 2 - Unterschied: Zwei Zonen, Server Zone 1, Abfrage Zone 2
- Server schickt name via MultiZone Message (je 16 Byte) - Server schickt name via MultiZone Message (je 16 Byte)
- Separate Speicherbereiche sorgen für Load Access Fault beim auslesen - Separate Speicherbereiche sorgen für Load Access Fault beim auslesen
# Multizone Security
- bietet eine durch Hardware erzwungene, softwaredefinierte Trennung für mehrere gleich sichere Domänen,
- volle Kontrolle über Daten, Programme und Peripheriegeräte
- keine zusätzlichen IP-Blöcke
- keine Änderungen an der bestehenden Firmware erforderlich Open-Source-Bibliotheken, Binärdateien von Drittanbietern
- ist Open Source und für die kommerzielle Nutzung lizenzfrei lizenziert
# Hardwareanforderungen
- zertifiziert für jeden RISC-V-Kern , mit:
- RV32I, RV32E, RV64I Architektur
- 'U'-Erweiterung (Benutzermodus)
- Mindestens 4 PMP-Register
- 4KB FLASH und 1KB RAM
# Features
- getrennte vertrauenswürdige Ausführungsumgebungen (Zonen)
- hardware-erzwungene und Software-definiert
- Mehrere memory-mapped Ressourcen pro Zone - z. B. Flash, Ram, E/A, UART, Irqs, etc.
- Beliebige Kombination von Lese-, Schreib- und Ausführungsrichtlinien
- Ressourcenüberlappung erlaubt, aber nicht empfohlen
- Präemptiver Scheduler: round robin, konfigurierbarer tick, cpu overhead < 0,01%
- Interzonen-Kommunikation basierend auf Messaging - kein Shared Memory
- vollständig konfigurierbare Zonen-/Interrupt-Zuordnung
# multizone.cfg
\color{black}
```text
# MultiZone reserved memory: 6K @0x20010000, 6K @0x80000000
Tick = 10 # ms
Zone = 1
#irq = 3 # DMA
plic = 3 # UART
base = 0x20012000; size = 32K; rwx = rx # FLASH
base = 0x80001800; size = 4K; rwx = rw # RAM
base = 0x10013000; size = 0x100; rwx = rw # UART
Zone = 2
#irq = 20, 21, 22 # BTN0 BTN1 BTN2 (CLINT)
base = 0x2001A000; size = 8K; rwx = rx # FLASH
base = 0x80002800; size = 2K; rwx = rw # RAM
base = 0x10025000; size = 0x100; rwx = rw # PWM LED
base = 0x10012000; size = 0x100; rwx = rw # GPIO
```
# openmz
- läuft Multizone auch auf dem Hifive1 rev b?
- besitzt eigentlich die nötigen Hardwarevoraussetzungen
- Fund: Masterarbeit: "OpenMZ: a C implementation of the MultiZone API"
- vollständige Open-Source-Implementierung der MultiZone-API
- schlanker als Multizone Security (Codebasis von etwa 800 Zeilen)
# Multizone auf dem Hifive
- vor ein paar Wochen: Multizone SDK erhält Hifive1 rev b BSP
- Multizone läuft ohne Einschränkungen auf dem Hifive
- Multizone verspricht:
- schnelle, einfache Integration zu anderer Software
- Unsere Erfahrung:
- integrieren von Software komplex
- viele Anpassungen nötig
- Fachwissen erforderlich
# Einschätzung der Projektarbeit
Negativ:
- remote Arbeit erschwerte grundsätzlich die Kommunikation und Lösungsfindung
- Dokumentation könnte ausführlicher sein
Positiv:
- regelmäßige Treffen
- schneller Austausch
- gegenseitige Unterstützung und Hilfsbereitschaft
- Teamgeist
-> es hat Spaß gemacht!
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment