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

Update slides.md

parent 93f0c61d
Branches
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
- Unterschied: Zwei Zonen, Server Zone 1, Abfrage Zone 2
- Server schickt name via MultiZone Message (je 16 Byte)
- 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