Sichere Systeme: Unterschied zwischen den Versionen
Zeile 18: | Zeile 18: | ||
! Option !! Beschreibung | ! Option !! Beschreibung | ||
|- | |- | ||
| Erlaubnis | | [[#Erlaubnis|Erlaubnis]] || fail-safe defaults | ||
|- | |- | ||
| Vollständigkeit | | [[#Vollständigkeit|Vollständigkeit]] || complete mediation | ||
|- | |- | ||
| Need-to-Know || | | [[#Need-to-Know|Need-to-Know]] || | ||
|- | |- | ||
| Benutzerakzeptanz || | | [[#Benutzerakzeptanz|Benutzerakzeptanz]] || | ||
|- | |- | ||
| Offener Entwurf | | [[#Offener Entwurf|Offener Entwurf]] || open design | ||
|- | |- | ||
| KISS - Prinzip || | | [[#KISS - Prinzip|KISS - Prinzip]] || | ||
|- | |- | ||
| Validierung / Evaluierung || | | [[#Validierung/Evaluierung|Validierung/Evaluierung]] || | ||
|} | |} | ||
Zeile 39: | Zeile 39: | ||
* Default Deny | * Default Deny | ||
* Nur durch explizite Erlaubnis wird Zugriffsrecht gewährt | * Nur durch explizite Erlaubnis wird Zugriffsrecht gewährt | ||
* Whitelisting | * [[Whitelisting]] | ||
=== Vollständigkeit === | === Vollständigkeit === |
Version vom 7. Dezember 2023, 22:40 Uhr
Sicherer Systeme - Konstruktion sicherer Systeme
Beschreibung
- Entwicklungsprozess
- Dezidierte Methoden bislang kaum entwickelt
- Allgemeine methodische Regeln
- top-down Vorgehensweise aus Software-Engineering
- Schwierig, da Angreifer viele Möglichkeiten hat
- 1975 Saltzer und Schröder
- Nach wie vor gültig
Allgemeine Prinzipien
- Allgemeine Konstruktionsprinzipien
Option | Beschreibung |
---|---|
Erlaubnis | fail-safe defaults |
Vollständigkeit | complete mediation |
Need-to-Know | |
Benutzerakzeptanz | |
Offener Entwurf | open design |
KISS - Prinzip | |
Validierung/Evaluierung |
Erlaubnis
- Fail-Safe Defaults
- Verbot mit Erlaubnisvorbehalt
- Grundsätzlich ist jeder Zugriff verboten
- Default Deny
- Nur durch explizite Erlaubnis wird Zugriffsrecht gewährt
- Whitelisting
Vollständigkeit
- Jeder Zugriff ist auf Zulässigkeit zu prüfen!
- Complete Mediation
- System, das nur beim Öffnen Erlaubnis prüft, nicht bei jedem Schreiben, verletzt das Prinzip
- Rechte können sich zwischendurch verändert haben
Need-to-Know
- Prinzip der minimalen Rechte
- Jedes Subjekt bekommt nur genau die Zugriffsrechte, die es zur Erfüllung seiner Aufgaben benötigt
- Systeme, in dem Administratoren unbeschränkte Rechte haben, verstoßen gegen dieses Prinzip
- AppAmor
- SELinux
- Rollenbasierte Rechte
Benutzerakzeptanz
- Sicherheitsmechanismen müssen
- einfach zu nutzen sein
- routinemäßig und automatisch angewandt werden
- Akzeptanz (economy of mechanism)
Offener Entwurf
- Offener Entwurf (open design)
- Sicherheit eines Systems darf nicht von der Geheimhaltung spezieller Verfahren abhängig sein
- Verwendete Verfahren und Mechanismen, die beim Entwurf des Systems verwendet werden, müssen offen gelegt werden
- No security through obscurity
- Sicherheit kryptografischer Verfahren sollte nicht darauf basieren, dass Verschlüsselungsverfahren nicht bekannt ist.
- „Schlüssel unter der Fußmatte“
KISS - Prinzip
Validierung / Evaluierung
- Testen
- Methodisches Testen des implementierten Systems
- Verifizierung der sicherheitsrelevanten Funktionen
- Testziele, -pläne, -verfahren festlegen, dokumentieren.
- Vollständigkeit der Tests
- Code Review
- Evaluierung durch Dritte