Modul 7 - Sicherheitsaspekte Flashcards

1
Q

Agenda

A
  1. Allgemeines
  2. Sicherheitsaspekte
  3. Zugriffskontolle
  4. Verfeinertes Autorisierungsmodell
  5. SQL Injektion
  6. Kryptografie
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Sicherheitsaspekte

A

• Schutz gegen absichtliche Beschädigung und Enthüllung von sensiblen oder
persönlichen Daten
• Schutzmechanismen in drei Kategorien unterteilt:
o Identifikation und Authentisierung
o Autorisierung und Zugriffskontrolle
o Auditing

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

Identifikation und Authentisierung:

A

• Identifikation:
o Zugang zu einem Datenbanksystem: Benutzer muss sich zuerst identifizieren
o z.B. Eingabe des Benutzernamens.
• Authentisierung:
o Überprüft, ob es sich bei den Benutzern auch wirklich um diejenigen handelt, für die sie sich ausgeben
o Üblicherweise: Passwörter

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

Autorisierung und Zugriffskontrolle

A

Autorisierung und Zugriffskontrolle:
• Autorisierung = Menge von Regeln, die die erlaubten Arten des Zugriffs auf
Sicherheitsobjekte durch Sicherheitssubjekte festlegen
• Sicherheitsobjekt = eine passive Entität, die Informationen beinhaltet:
• z.B. eine Tabelle oder ein Tupel oder ein Attribut.
o Sicherheitssubjekt = eine aktive Entität, die einen Informationsfluss bewirkt:
• Können Benutzer oder Benutzergruppen sein, aber auch Datenbankprozesse bzw.
Anwendungsprogramme

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

Angriffe

A

• Missbrauch von Autorität:
o Diebstahl, Veränderung oder Zerstörung von Daten oder Programmen.
• Inferenz und Aggregation:
o Inferenz: Schließen auf sensible Daten durch Ansammlung und Kombination von nicht sensitiven Daten
o Aggregation: einzelne Daten sind nicht sensitiv aber eine große Anzahl von Daten zusammen genommen
schon.
• Maskierung:
o Unautorisierter Zugriff auf Daten durch jemanden, der sich als ein autorisierter Benutzer ausgibt
• Umgehung der Zugriffskontrolle:
o Ausnutzung von Sicherheitslücken im Betriebssystemcode oder in
Anwendungsprogrammen
• Browsing:
o Geschützte Informationen können manchmal auch durch Betrachtung des
Datenwörterbuchs oder von Dateiverzeichnissen erhalten werden

Trojanische Pferde:
o Programm, das sich in einem anderen Programm versteckt oder als ein anderes Programm ausgibt
o Gibt Daten an nicht autorisierte Benutzer weiter
o Z.B. eine Tarnung (Camouflage) als Passwortabfrage und Speicherung der dann eingegebenen Passwörter
• Versteckte Kanäle:
o Zugriff auf Informationen durch nicht bestimmungsgemäße Kanäle
o Z.B. direktes Auslesen einer Datenbankdatei unter Umgehung des Datenbankverwaltungssystems

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

Sicherheitsstrategien

A

Discretionary Access Control (DAC):
o Regeln zum Zugriff auf Objekte werden angegeben
• Mandatory Access Control (MAC):
o Regelt zusätzlich den Informationsfluss zwischen Objekten und Subjekten
o Gewährleistet also eine verbesserte Sicherheit

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

Discretionary Access Control

A

Zugriffsregeln der DAC:
• Geben zu einem Subjekt s die möglichen Zugriffsarten t auf ein Objekt o an
• Formal ausgedruckt: Quintupel (o, s, t, p, f) mit:
o o Î O, der Menge der Objekte (z.B. Relationen, Tupel, Attribute),
o s Î S, der Menge der Subjekte (z.B. Benutzer, Prozesse),
o t Î T, der Menge der Zugriffsrechte (z.B. T = {lesen, schreiben, löschen}),
o p ein Prädikat (z.B. Rang = ‚C4‘ für die Relation Professoren), und
o f ein Boolescher Wert, der angibt, ob s das Recht (o, t, p) an ein anderes Subjekt s‘ weitergeben darf.
• Methode, um die Regeln zu speichern: Zugriffsmatrix:
(Einfachste Art)
o Subjekte in Zeilen der Matrix
o Objekte in Spalten
o Entsprechende Zugriffsart in der Matrix eingetragen
o Zugriffsmatrizen können sehr groß werden

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

Zugriffskontrolle in SQL

A

• Einfache Zugriffskontrolle unter Verwendung des DAC-Modells
• grant:
o Zur Vergabe von Rechten
o Z.B.
grant select
on Professoren
to eickler
• Benutzer mir Kennung „eickler“ erhält Lesezugriff auf die Relation Professoren
• Neben select: delete, insert und update:
o Ausführung der gleichnamigen Befehle.
• revoke:
o Zum Entzug von Rechten
• insert und update: Qualifizierung der Attribute, auf die das Recht besteht
• Z.B.
grant update (MatrNr, VorlNr, PersNr)
on prüfen
to eickler
o Benutzer „eickler“ darf bestimmte Attribute (MatrNr, VorlNr und PersNr) ändern (andere Attribute, zB „Note“
aber nicht)

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

Zugriffskontrolle in SQL - Sichten

A

Sichten:
• Möglichkeit, ein Recht von einer bestimmten Bedingung abhängig zu
machen
• Beispiel: ein Tutor (tutor) für Studenten des ersten Semesters
o Soll deren Daten lesen können
o Aber nicht die Daten anderer Studenten
o Tabelle Studenten (Name, MatNo, Semester) + Rolle Tutor

Mögliche Realisierung:
create view ErstSemestler as
select *
from Studenten
where Semester = 1;
grant select
on ErstSemestler
to tutor;
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Verfeinerung des Autorisierungsmodells –

Implizite Autorisierung von Objekten

A

Datenbanken können in Granularitätshierarchien aufgeteilt werden.
Datenbank -> Schema -> Relation -> Tupel -> Attribut

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

Mandatory Access Control

A

Besonders in militärischen Einrichtungen üblich :
o Dokumente hierarchisch klassifizieren nach ihrer Sicherheitsrelevanz
o Beispiel mögliche Sicherheitshierarchie: „streng geheim“, „geheim“, „vertraulich“ und „unklassifiziert“.
• Diese Praxis im MAC-Modell übernommen
• Alle Subjekte und Objekte erhalten eine Markierung mit ihrer
Sicherheitseinstufung

Übliche Zugriffsregeln:
o Ein Subjekt s darf ein Objekt o nur lesen, wenn das Objekt eine geringere oder gleiche Sicherheitseinstufung
besitzt (class(o) £ clear(s))
o Wenn ein Objekt o geschrieben wird, muss es mindestens der Einstufung des Subjektes s bekommen (clear(s) smaller equals
class(o)).

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

SQL-Injection

A

SQL-Injection: ausnutzen einer Sicherheitslücke in Zusammenhang mit SQLDatenbanken
• Hinter den meisten Web-Applikationen verbergen sich Datenbanksysteme
• Aus den Eingabe-Parametern werden SQL-Anfragen generiert
• Man darf diesen Eingabe-Parametern niemals trauen, da sie „ausführbaren“
SQL-Code enthalten könnten

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

SQL-Injection Attacken

A

• Entsprechende Schutzmechanismen zur Validierung der Nutzereingabe
fehlten
• Die SQL-Syntax konnte ausgenutzt werden um die Vertraulichkeit zu
brechen.

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

Kryptographie

A

• Kryptographische Methoden können in DBSysteme eingesetzt werden:
o zur Authentisierung von Benutzern
o zur Sicherung gegen den Zugriff auf Daten über versteckte Kanäle.
• Eine kryptographische Methode :
o Transformiert mit einer Verschlüsselungsmethode
o einen gegebenen Text in einen verschlüsselten Text
o Verschlüsselter Text wird dann gespeichert bzw. übertragen
o Der autorisierte Benutzer kennt eine zugehörige Entschlüsselungsmethode,
o mit der der Originaltext wiederhergestellt werden kann.

• Verschlüsselungsmethode und Entschlüsselungsmethode:
o typischerweise generelle Methoden
o Werden von einem Schlüssel gesteuert
o Sicherheit beruht sich auf der Geheimheit des Schlüssels.
• Verschlüsselung ohne Kenntnis des wirklichen Schlüssels zu „knacken“:
o Idealerweise nur möglich durch erschöpfendes Austesten aller potentiellen Schlüssel.
• Verbreitetste kryptographische Verfahren:
o DES (Data Encryption Standard)
o AES (Advanced Encryption Standard)
o RSA-Algorithmus (nach den Autoren Rivest, Shamir und Adleman).

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