transaktionen und sicherheit Flashcards

1
Q

Was machen Sicherheitsmodelle?

A

Legen Mechanismen zur Wahrung des Datenschutzes fest

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

MAC?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

RBAC

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

DAC

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Erklären Sie den Unterschied zwischen Rechte und Rollen. Wie werden beide verwendet?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Erklären Sie den Unterschied zwischen Objekt- und Systemrechten. Geben Sie Beispile an?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was bewirkt die Angabe WITH GRANT OPTION?

A

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;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Erklären Sie, was unter SQL-Injection verstanden wird?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche technischen Möglichkeiten kennen Sie, um SQLInjection zu verhindern?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Erklären Sie das Transaktionskonzept und gehen Sie dabei auf die ACID-Eigenschaften ein?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Welche Fehler können beim Mehrbenutzerbetrieb in einer Datenbank auftreten - gehen Sie dabei näher darauf ein.

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Mehrbenutzerbetrieb Probleme/Anomalien die auftreten können:

A
  • Dirty Read (lesen von nicht freigegebenen Änderungen)
  • Lost Update (verlorengegangene Änderungen)
  • Unrepeatable Read (nicht wiederholbares Lesen)
  • Phantom Update
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was versteht man im Zusammenhang mit dem Mehrbenutzerbetrieb unter Dirty Read? Geben Sie ein Beispiel an.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Erklären Sie die beiden Phasen im Zwei-PhasenSperrprotokoll?

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Was versteht man unter einem Deadlock? Geben Sie ein Beispiel an.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Deadlock-Vermeidung durch Zeitstempel:

A
  • Jeder Transaktion wird ein eindeutiger Zeitstempel ( TS ) zugeordnet - ältere TAs haben einen kleineren Zeitstempel als jüngere Tas
  • TAs dürfen nicht mehr bedingungslos auf eine Sperre warten, sondern abhängig von ihrem Alter (d.h. Zeitstempel) und der gewählten Strategie
  • Vorteil: garantiert verklemmungsfrei
  • Nachteil: zu viele Transkationen werden zurückgesetzt, ohne dass tatsächlich eine Verklemmung auftreten würde
17
Q

Welche Isolation Levels (Isolationsstuffen) kennen Sie? Wann würden Sie diese verändern bzw. wozu?

A

Isolationsebenen sind Kompromisse aus Transaktionssicherheit und Performance/Durchsatz. Sie kann vom Benutzer gesteuert werden.

Der Isolationsgrad (isolation level) einer Datenbanktransaktion legt fest, wie sich eine Transaktion beim Auftreten von Problemen im Mehrbenutzerbetrieb verhalten soll. Die Einhaltung des ACID Prinzips ist wichtig um parallele Transaktionen und den Mehrbenutzerbetrieb auf einer Datenbank ermöglichen. 
Da eine strenge Einhaltung von ACID in der Praxis zu Verzögerungen und langen Transaktionslaufzeiten führen kann, gibt es verschiedene Isolationsarten, um die Forderungen von ACID abzumildern. 

Ebene 0: READ UNCOMMITTED
Erster und schwächster Isolationsgrad. Ermöglicht den Zugriff auf Daten aus einer anderen Transaktion, die jedoch noch nicht committed wurden
Mögliche Probleme: Dirty Read, Lost Update, Unrepeatable Read, Phantom Problem Read Uncommitted wird daher nur für „read only“ Transaktionen verwendet.
sehr gut für Datenanalysen und Statistiken Kein Sperren für Tabellen nötig

Ebene 2: REPEATABLE READ Dieser Isolationsgrad gewährleistet einen konsistenten Lese- und Schreibzugriff. Dieses Isolation level verwendet Sperren auf Objekte, die den Lese- und Schreibzugriffregeln. Andere Transaktionen können keine Änderungen an den verwendeten Objekten durchführen.

Ebene 3: SERIALIZABLE Ist der stärkste Isolationsgrad. Alle Transaktions-aktionen sind serialisierbar und beeinflussen sich somit nicht gegenseitig. Transaktionen können tatsächlich seriell ausgeführt werden können oder diese lediglich vortäuschen. Zwischen Transaktionen bei vorgetäuschten Serialisierungen könnten Konflikte auftreten, woraufhin eine oder mehrere Transaktionen möglicherweise beendet bzw. neu ausgeführt werden müssen.

je schwächer der isolationsgrad, desto höher die paralleität. bei geringen isolaationsgrad können aber mehr inkonsitenzen auftreten.

18
Q
  • Dirty Read
A
  • 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.
19
Q
  • Lost Update
A
  • Lost Update (verlorengegangene Änderungen) Zwei Transaktionen modifizieren parallel denselben Datensatz und nach Ablauf dieser beiden Transaktionen wird nur die eine Änderung von ihnen übernommen. Die erste Änderung geht verloren.
20
Q
  • Unrepeatable Read
A
  • Unrepeatable Read (nicht wiederholbares Lesen) Wiederholte Lesevorgänge liefern unterschiedliche Ergebnisse. Es wird bei 2 Leseoperationen dasselbe Resultat erwartet, zwischendurch wird dieser Wert jedoch überschrieben.
21
Q
  • Phantom Update
A
  • Pvhantom Update Suchkriterien treffen während einer Transaktion auf unterschiedliche Datensätze zu, weil eine andere Transaktion (während des Ablaufs dieser Transaktion) Datensätze hinzugefügt, entfernt oder verändert hat. Es kann also z.B. vorkommen, dass beim zweiten Lesen eine neue zusätzliche Zeile auftaucht. (Phantom)
22
Q

welche probleme wo möglich? (isolationsebene);

A
(Dirty Read, Unrepeatable Read, Phantom)
0 Read Uncomitted .... ja, ja,ja
1 Read Comitted .... nein, ja, ja
2 Repeatable Read ... nein,nein, ja
3 Serializable ... nein,nein,nein