transaktionen und sicherheit Flashcards
Was machen Sicherheitsmodelle?
Legen Mechanismen zur Wahrung des Datenschutzes fest
MAC?
Mandatory Access Control ist die strengste Zugriffsstratige. MAC verfolgt einen hierarchischen Ansatz zu Steuerung des Zugriffs. Rechte werden zentral vom System verwaltet. Es werden Subjekte und Objekte Sicherheitsstufen zugeordnet . die eigenschaften davon werden vom admin angelegt und können nur von ihm geändert werden. Er wird hauptsächlich in geheimdiesnten und regierungen verwendet.
MAC verhindert also das einzelne User die Zugriffssteuerung öndern können, selbst “Eigentümer” muss die entsprechende Autoritätsperson darum bitten.
Nachteil: erfordet erheblichen Planungsaufwand bereits vor der Implementierung.
nach der Implementierung auch hoher Systemverwaltungsaufwand auf.
RBAC
Role Based Access Control
Wird auch als nicht diskretionäre Zugriffskontrolle bezeichnet.
Bei RBAC werden Benutzern keine einzelnen Rechte gegeben sondern in Gruppen eingeteilt, die wiederum gebündelte Rechte enthalten. Gruppen+Rollen werden vom Administator vergeben und verwaltet. Vorteil gegenüber DAC ist, dass durch Rollen mehrere Rechte sehr einfach an Benutzer vergeben werdne können und das System übersichtlicher machen kann.
vereinfachte Administration durch Rollenhierarchie, Policy-Richtlinien können somit exakt durchgesetzt werden. Die Verwaltung vor und nach der Implementierung ist einfach und wird als weitgehend bestes Verfahren im Vergleich mit MAC und DAC angesehen.
DAC
Bei DAC werden Rechte pro Benutzer vergeben. Es gilt der Grundsatz das der Eigentümer alle seine Rechte an seinen Objekt hat und diese beliebig weitergeben (oder nehmen) kann. Weiters kann der DB Admin Rechte vergeben und entziehen. Der Vorteil gegenüber RBAC ist, das hier die Rechteveragebe dezentral abläuft. Ist Standard in DBMS
Vorteil: Flexibler und einfacher als MAC, da Rechte individuell vom Eigentümer vergeben werden können. Weniger Planungs- und Verwaltungsaufwand vor und nach Implementierung von DAC.
Nachteil: Die Zugriffskontrolle ist dem Benutzer überlassen, d.h. Kontrolle von Informationen und Policy ist nur schwer umsetz- bzw. verwaltbar
Erklären Sie den Unterschied zwischen Rechte und Rollen. Wie werden beide verwendet?
Objektrechte ist eine Berechtigung, eine bestimmte Aktion für eine bestimmte Tabelle, Sicht, etc. auszuführen - variieren von Objekt zu Objekt - Eigentümer hat alle Rechte für ein Objekt
Rollen sind funktion mit gewissen rechten blabla
Erklären Sie den Unterschied zwischen Objekt- und Systemrechten. Geben Sie Beispile an?
Systemsicherheit:
Zugriff und Verwendung der Datenbank auf Systemebene → Benutzername + Passwort, Plattenspeicher, der den Benutzer zugewiesen wird, sowie Systemoperationen, welche dieser ausführen kann
- Datensicherheit: Zugriff auf und die Verwendung der Datenbankobjekte sowie die Aktionen, die Benutzer auf die Objekte ausführen können Benutzer benötigen:
- Systemprivilegien, um auf die Datenbank zugreifen zu können
- Objektprivilegien, um den Inhalt von Objekten in der DB zu bearbeiten.
Was bewirkt die Angabe WITH GRANT OPTION?
WITH GRANT OPTION ermöglicht Empfänger, das Objektrecht/-privilegien an andere Benutzer und/oder Rollen zu vergeben. Also das Recht auf Weitergabe von Rechten. (Eigentümer besitzen dieses implizit)
Passwort ändern: ALTER USER username IDENTIFIED BY newpassword;
Erklären Sie, was unter SQL-Injection verstanden wird?
SQL injections, kurz SQLI, ist ein “Cyberangriff” bei dem Sicherheitslücken in relationalen Datenbankensystemen ausgenützt werden um “bösartigen” Sql Code einzuschleusen. Um zB sensitive Informationen zu erhalten die eigentlich nicht ansehbar sein sollte.
Welche technischen Möglichkeiten kennen Sie, um SQLInjection zu verhindern?
Mann kann mehrere Schritte anwenden um SQLI zu verhindern.
Schritt 1: Automatische Eingaben der Applikation Prüfen und filtern von Eingaben und welche für die Datenbankabfrage genutzt werden. Übergebene Daten sollen immer mit den erwartetn Datentyp vrliegen.
Schritt 2: Für umfasenden Server Schutz sorgen. Betriebssystem gegen bekannte Muster sichern, alle releveanten system und programm updates installieren, nicht benötigte benutzerknten löschen,
schritt 3: datenbanken härten, sicher codes verwenden. datenbank von irrelevanten Faktoren befreien und regelmäßig updaten.
Erklären Sie das Transaktionskonzept und gehen Sie dabei auf die ACID-Eigenschaften ein?
eine Transaktion ein einer DB ist eine Verarbeitungseinheit in der mehrere Schreib und Leseveorgaänge mit einem definierten Start und Ende durchgeführt werden. Die DB muss nach der Transaktion wieder konsistent sein
ACID bedeutet:
A.. Atomar: die Transaktion findent ganz oder gar nicht statt!
C.. Consistency: die DB Muss vor und nach der Transaktion in einem konsistenten Zustand sein
I.. Isolation: Nutzer sollen den Eindruck haben, dass sie alleine mit der DB interagieren
D.. Durability: die (geändertern) Daten müssen in der DB gespeichert werden.
Welche Fehler können beim Mehrbenutzerbetrieb in einer Datenbank auftreten - gehen Sie dabei näher darauf ein.
Transaktionen müssen parallel laufen können (Performance!)
→ Serieller Betrieb vorgetäuscht
Mehrbenutzerbetrieb = gleichzeitige Nutzung einer Datenbank durch mehrere Nutzer. Da eine Transaktion eine gewisse Zeit zu ihrer Ausführung benötigt, kann es vorkommen, dass während der Ausführung einer Transaktion eine zweite Transaktion Operationen auf denselben Daten ausführt. Dies führt zu einer Reihe von Problemen wie auf der Folie dargestellt.
→ Weitaus bessere Auslastung eines Computersystems
Mehrbenutzerbetrieb Probleme/Anomalien die auftreten können:
- Dirty Read (lesen von nicht freigegebenen Änderungen)
- Lost Update (verlorengegangene Änderungen)
- Unrepeatable Read (nicht wiederholbares Lesen)
- Phantom Update
Was versteht man im Zusammenhang mit dem Mehrbenutzerbetrieb unter Dirty Read? Geben Sie ein Beispiel an.
Dirty Read (lesen von nicht freigegebenen Änderungen) Daten einer noch nicht abgeschlossenen Transaktion werden von einer anderen Transaktion gelesen. (beliebiges Lesen) Benutzer arbeitet also mit evtl. falschen, schmutzigen Daten.
Erklären Sie die beiden Phasen im Zwei-PhasenSperrprotokoll?
Anforderungsphase: hier werden sperren angefordert jedoch keine freigegeben
Freigabephase: hier werden Freigaben durchgeführt, aber keine neue Sperren angefordert
Bei Transaktionsende müssen alle Sperren aufgehoben werden - Inmitten 2PL (two-phase-locking) garantiert serialisierbaren Ablauf paralleler Transaktionen (verhindert keine Phantoms oder Deadlocks)
Was versteht man unter einem Deadlock? Geben Sie ein Beispiel an.
Deadlocks (Verklemmungen) (= zyklisches Warten auf Sperren) sind der Preis von für die Anforderung hoher Parallelität. Sie entstehen wenn Schedules nicht serialisierbar sind.
Lösung: Eine der beteiligten Transaktionen wird zurückgesetzt, so dass für die übrigen wieder die Chance besteht, gemäss Serialisierbarkeitsprinzip abzulaufen.
Die Wartegraph Methode ist die teurere Methode im Vergleich zur Timeout Methode.
- Timeout: Wenn Timer ausläuft, wird T zurückgesetzt in der Annahme, dass T in einen Deadlock involviert ist! Hier ist es aber schwierig, ein passenden Zeitmaß zu finden.