Sicherheitsaspekte Sicherheit im DBMS

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Bauinformatik II Softwareanwendungen 1
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Datenintegrität, Views und Zugriffsrechte
Datenintegrität, Views und Zugriffsrechte
Grundlagen Datenbanken
Zugriffschutz in ASAM ODS
SQL als Abfragesprache
SQL als Abfragesprache
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Datenintegrität Referentielle Integrität create table
Kapitel 2: Konzeptuelle Modellierung
Kapitel 15: Sicherheit Oliver Vornberger
1 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe.
1 Kapitel 8: Datenintegrität. 2 Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines.
Kapitel 9: Integritätssicherung
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern © Erhard Künzel.
Abbildungsverfahren (1)
3.5.2 Fremdschlüssel/ Referentielle Integrität (6/9)
3.5.2 Fremdschlüssel/ Referentielle Integrität (1/9)
Die Grundterminologie
Sicherheitsaspekte Sicherheit im DBMS
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #4 SQL (Teil 1)
SS 2013 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #10 Datensicherheit.
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #6 SQL (Teil 3)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #9 Physische Datenorganisation.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #9 Sicherheit.
Vorlesung #4 SQL (Teil 1).
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #8 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #6 SQL (Teil 1)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #7 SQL (Teil 4)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #4 SQL (Teil 1)
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Vorlesung #10 Physische Datenorganisation
Relationales Datenmodell und DDL
Semantische Integritätsbedingungen AIFB SS assert-Klausel (2/6) Beispiel 3-2: Angestellter: (Ang-Nr, Ang-Name, Gehalt, Familienstand, Abt-Bez).
Integritätserhaltung und -Überprüfung in deduktiven Datenbanken
Structured Query Language
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
Einfügeoperationen (1) n Sei V Sichtrelation und t ein Tupel. n Dann ist insert(V,t) informationserhaltend auf Einfügeoperationen in den Basisrelationen.
Vorlesung #5 SQL (Teil 2).
1 Referenzielle Konsistenz (1) Vorgehensweise: Klausel references mit nachfolgender Spezikation eines Attributs einer anderen Tabelle identifiziert ein.
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
1 Sicherheit durch technischen Schutz Aufgabenkomplexe des technischen Schutzes:  Autorisierung = Festlegung der Schutzregeln, d.h. Vergabe von Zugriffsrechten.
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
Datenbanken abfragen mit SQL
Technische Universität München Übung zur Einführung in die Informatik für Hörer anderer Fachrichtungen im Sommersemester 2010 Sitzung 6: Datenbanksysteme.
IS: Datenbanken, © Till Hänisch 2000 Relationenalgebra Die mathematische Grundlage von relationalen Datenbanken.
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Vorlesung #5 SQL (Teil 2).
Vorlesung #7 SQL (Teil 4).
Vorlesung #8 Datensicherheit (Autorisierung / SQL)
Vorlesung #8 Datensicherheit (Autorisierung / SQL)
Vorlesung #9 Datensicherheit
(Structured Query Language)
 Präsentation transkript:

Sicherheitsaspekte Sicherheit im DBMS Identifikation und Authentisierung Autorisierung und Zugriffskontrolle Auditing

Angriffsarten Missbrauch von Autorität Inferenz und Aggregation Maskierung Umgehung der Zugriffskontrolle Browsing Trojanische Pferde Versteckte Kanäle

Discretionary Access Control Zugriffsregeln (o, s, t, p, f) mit o  O, der Menge der Objekte (z.B. Relationen, Tupel, Attribute), s  S, der Menge der Subjekte (z.B. Benutzer, Prozesse), t  T, der Menge der Zugriffsrechte (z.B. T = {lesen, schreiben, löschen}), p ein Prädikat (z.B. Rang = ‚C4‘ für die Relation Professoren), und f ein Boolescher Wert, der angibt, ob s das Recht (o, t, p) an ein anderes Subjekt s‘ weitergeben darf.

Discretion Access Control Realisierung: Zugriffsmatrix Sichten „Query Modification“ Nachteile: Erzeuger der Daten = Verantwortlicher für deren Sicherheit

Zugriffskontrolle in SQL Beispiel: grant select on Professoren to eickler; grant update (MatrNr, VorlNr, PersNr) on prüfen

Zugriffskontrolle in SQL Weitere Rechte: delete insert references Weitergabe von Rechten: with grant option Entzug von Rechten: revoke update (MatrNr, VorlNr, PersNr) on prüfen from eickler cascade;

Sichten Realisierung des Zugriffsprädikats: create view ErstSemestler as select * from Studenten where Semester = 1; grant select on ErstSemestler to tutor; Schutz von Individualdaten durch Aggregation: create view VorlesungsHärte (VorlNr, Härte) as select VorlNr, avg(Note) from prüfen group by VorlNr;

Auditing Beispiele: audit session by system whenever not successful; audit insert, delete, update on Professoren;

Verfeinerungen des Autorisierungsmodells explizite / implizite Autorisierung positive / negative Autorisierung starke / schwache Autorisierung Autorisierungsalgorithmus: wenn es eine explizite oder implizite starke Autorisierung (o, s, t) gibt, dann erlaube die Operation wenn es eine explizite oder implizite starke negative Autorisierung (o, s, t) gibt, dann verbiete die Operation ansonsten wenn es eine explizite oder implizite schwache Autorisierung [o, s, t] gibt, wenn es eine explizite oder implizite schwache Autorisierung [o, s, t] gibt,

Implizite Autorisierung von Subjekten Rektor / in Dekane Referatsleiter Professoren Verwaltungs-angestellte wissenschaftliche Angestellte Angestellte explizite positive Autorisierung implizite positive Autorisierung auf allen höheren Stufen explizite negative Autorisierung implizite negative Autorisierung auf allen niedrigeren Stufen

Implizite Autorisierung von Operationen schreiben lesen explizite positive Autorisierung implizite positive Autorisierung auf allen niedrigeren Stufen explizite negative Autorisierung implizite negative Autorisierung auf allen höheren Stufen

Implizite Autorisierung von Objekten Datenbank Schema Relation Tupel Attribut Implikationen abhängig von Operation

Implizite Autorisierung entlang einer Typhierarchie PersNr Name Angestellte GebDatum PersNr PersNr is-a Name Name Assistenten Professoren GebDatum GebDatum Rang Fachgebiet Raum

Implizite Autorisierung entlang einer Typhierarchie Benutzergruppen: Verwaltungsangestellte dürfen die Namen aller Angestellten lesen wissenschaftliche Angestellte dürfen Namen und Rang aller Professoren lesen Anfragen: lese die Namen aller Angestellten lese Namen und Rang aller Professoren

Implizite Autorisierung entlang einer Typhierarchie Regeln: Benutzer mit einem Zugriffsrecht auf einem Objekttypen haben auf die geerbten Attribute in den Untertypen ein gleichartiges Zugriffsrecht Ein Zugriffsrecht auf einen Objekttyp impliziert auch ein Zugriffsrecht auf alle von Obertypen geerbte Attribute in diesem Typ. Ein Attribut, das in einem Untertyp definiert wurde, ist nicht von einem Obertyp aus erreichbar.

Mandatory Access Control hierarchische Klassifikation von Vertrauenswürdigkeit und Sensitivität clear(s), mit s Subjekt (clearance) class(o), mit o Objekt (classification) Ein Subjekt s darf ein Objekt o nur lesen, wenn das Objekt eine geringere Sicherheitseinstufung besitzt (class(o)  clear(s)). Ein Objekt o muss mit mindestens der Einstufung des Subjektes s geschrieben werden (clear(s)  class(o)).

Multilevel-Datenbanken Benutzer soll sich der Existenz unzugänglicher Daten nicht bewusst sein Beispiel (TC = Klassifizierung des gesamten Tupels): Agenten TC Kennung KC Name NC Spezialität SC g 007 Blond, James meucheln sg 008 Mata, Harry spitzeln Sichtweise eines „geheim“ eingestuften Benutzers: Agenten TC Kennung KC Name NC Spezialität SC g 007 Blond, James - Probleme: „geheimer“ Benutzer fügt Tupel mit Schlüssel „008“ ein „geheimer“ Benutzer modifiziert Spezialität von „007“

Multilevel-Relationen Multilevel-Relation R mit Schema R = {A1, C1, A2, C2, . . ., An, Cn, TC} Relationeninstanzen RC mit Tupeln [a1, c1, a2, c2, . . . , an, cn, tc] c  ci ai ist sichtbar, wenn class (s)  ci

Integritätsbedingungen Sei  sichtbarer Schlüssel der Multilevel-Relation R Entity-Integrität. R erfüllt die Entity-Integrität genau dann, wenn für alle Instanzen Rc und r  Rc die folgende Bedingungen gelten: Ai    r.Ai  Null Ai, Aj    r.Ci = r.Cj Ai    r.Ci  r.C (wobei C die Zugriffsklasse des Schlüssels ist)

Integritätsbedingungen Sei  sichtbarer Schlüssel der Multilevel-Relation R Null-Integrität. R erfüllt die Null-Integrität genau dann, wenn für jede Instanz Rc von R gilt: r  Rc, r.Ai = Null  r.Ci = r.C Rc ist subsumierungsfrei, d.h. es existieren keine zwei Tupel r und s, bei denen für alle Attribute Ai entweder r.Ai = s.Ai und r.Ci = s.Ci oder r.Ai  Null und s.Ai = Null gilt.

Subsumtionsfreiheit von Relationen Rsg Agenten TC Kennung KC Name NC Spezialität SC g 007 Blond, James - Änderung von Rsg Agenten TC Kennung KC Name NC Spezialität SC sg 007 g Blond, James meucheln Fehlende Subsumtionsfreiheit Agenten TC Kennung KC Name NC Spezialität SC g 007 Blond, James - sg meucheln

Integritätsbedingungen Interinstanz-Integrität. R erfüllt die Interinstanz-Integrität genau dann, wenn für alle Instanzen Rc und Rc‘ von R mit c‘ < c Rc‘ = f(Rc, c‘) gilt. Die Filterfunktion f arbeitet wie folgt: Für jedes r  Rc mit r.Ck  c‘ muss ein Tupel s  Rc‘ existieren, mit Rc‘ enthält außer diesen keine weiteren Tupel. Subsumierte Tupel werden eliminiert.

Integritätsbedingungen Polyinstanziierungsintegrität. R erfüllt die Polyinstanziierungsintegrität genau dann, wenn für jede Instanz Rc für alle ai die folgende funktionale Abhängigkeit gilt: {, C, Ci}  Ai.

Kryptographie Gerade die Gefahr des Abhörens von Kommunikationskanälen ist in heutigen Datenbankarchitekturen und Anwendungen sehr groß. Die meisten Datenbankanwendungen werden in einer verteilten Umgebung betrieben – sei es als Client / Server-System oder als „echte“ verteilte Datenbank. In beiden Fällen ist die Gefahr des unlegitimierten Abhörens sowohl innerhalb eines LAN (local area network, z.B. Ethernet) als auch im WAN (wide area network, z.B. Internet) gegeben und kann technisch fast nicht ausgeschlossen werden. Deshalb kann nur die Verschlüsselung der gesendeten Information einen effektiven Datenschutz gewährleisten.

Ebenen des Datenschutzes legislative Maßnahmen organisatorische Maßnahmen Authentisierung Zugriffskontrolle Kryptographie Datenbank